汇编学习笔记 第七章

7.1 宏汇编

  1. 实参无论多于还是少于形参数,都有对应的默认解决办法
  2. 宏展开

    • MASM 2.0为’+’,MASM 5.0为’1’
    • 若在MASM 5.0情况下产生多层,则用2,3…代替
  3. 宏定义与子程序的区别
    调用次数影响展开后的存储空间(因为要展开啊)

  4. 宏的花式使用方法

    • 关键部分:&操作符
    • 实现功能:通过宏产生JZ或JNZ指令
    • 代码

      VA  MACRO    CHAR1, LAB
          J&CHAR1  LAB
          ENDM
    • 调用

      VA  Z, LOP1
      VA NZ, LOP2
  5. 宏定义中的伪指令

    • 关注对象:标号
    • 相关指令:LOCAL
    • 宏展开影响:实际标号变为 ??0000 - ??FFFF

7.2 重复汇编

  1. 重复汇编指令

    • 指令:REPT
    • 结构:以REPT指令为开始,以ENDM为结束
    • 实例

      X = 0 REPT 10 X = X + 2 DB X ENDM
    • 注意点:宏展开时不能把X的变化也包含进去

  2. 不定重复汇编

    • 指令:IRP/IRPC
    • 结构:以IRP/IRPT指令为开始,以ENDM为结束
    • 实例
      IRP REG, <AX, BX, CX, DX>
          PUSH REG
      ENDM
    IRPC K, ABCD
        PUSH K&X
    ENDM

7.3 条件汇编

  1. 基本指令

    IF **
    ...
    ELSE
    ...
    ENDIF
  2. 注意点:关注条件汇编的其他指令

你可能感兴趣的:(汇编)