汇编语言——语句的四个字段

[标记符] 操作符 [操作数] [;注释]

  • 标记符:符号
  • 操作符:一个操作码的助记符(指令、伪指令、宏指令)
  • 操作数:一个或多个表达式(为操作符提供信息)
  • 注释:说明语句功能(英文的;)
  • 带[] 的字段可省略
  • 字段间用空格或者 Tab符隔开

1、标记符

标记符:语句名(指令标记符、伪指令标记符)

  • 命名规则:

    • 字母、数字、特殊字符 ?.@_$
    • 除了数字外,上述字符都可作起始字符
    • ”.“字符存在则必须是第一个字符
    • 名字长度不限,但只有前31个字符有效

(1)指令标记符(标号)

  • 在语句中作为指令标记符,标记符后需要加冒号”:“

  • 标号是指针:指向本语句在存储器中的 地址

  • 引用标号:实现程序中运行或者跳转到该语句

  • 标号三个属性

    段属性 偏移量属性 类型属性
    定义内容 标号后的指令所在段 标号后的指令与段基址的偏移量 标号的转移特性
    存储位置 段基址存在代码段寄存器CS中 偏移量一定存在于IP寄存器中,16位的无符号数 作用:指示该标号是在本段内引用(NEAR型,隐含默认),还是段间引用(FAR型)
  • 段属性和偏移量属性 决定相同的逻辑地址

  • LABEL 伪指令设置标号类型

    • LABEL伪指令语句与指令语句连用,标记符作标号
    • 类型可为 NEAR 或 FAR
    • 新标号与紧邻的下一条指令的标号的段属性和偏移量属性相同
    • 设置不同类型值,对同一指令 转移性作补充设置
    • 例如:
      • S_FAR LABEL FAR
      • S : MOV AX, DATA

(2)伪指令标记符

  • 伪指令标记符后用空格作为结束符
  • 常量名、变量名、段名、子程序名

2、操作符

指令 伪指令 宏指令
翻译为机器语言指令(mov、add、jmp) 不被翻译为机器指令,而是指示,汇编时期的引导操作(DB、DW、SEGMENT、ENDS) 若干条指令语句的功能,汇编时展开

3、操作数

  • 指令执行的对象
  • 根据指令不同:个数 0~多个
  • 多个操作数之间用 , 隔开
  • 常量、变量、(数值或地址)表达式、寄存器号、标号
  • 具有优先级

4、注释

  • 语句说明部分。
  • 由 ";" 开始
  • 汇编时略去,不产生机器代码

你可能感兴趣的:(汇编语言——语句的四个字段)