汇编语言的语句

1. 指令语句

指令语句程序运行过程被执行

标号: 指令助记符 操作数; 注释

(1) 标号

意义:某条指令的标号的值是该指令首部的偏移地址。

要求:

  • 第一个字符必须是英文字母或某些特殊字符
  • “·” 只能作第一个字符
  • 特殊字符不能单独作标号
  • 系统中已定义的保留字不能作标号

(2) 指令助记符

参考之前介绍的各种指令。

(3) 操作数

由常数,字符,字符串,变量,标号,寄存器,存储器和表达式构成。

(4) 注释

不汇编,不执行。

2. 伪指令语句


伪指令语句在汇编过程中已运行完毕

没有对应的机器码,不能让CPU执行,仅在汇编过程中完成某些特定功能。

名字  伪指令指示符  操作数  ;注释

(1) 段定义语句

段名 SEGMENT [定位类型][组合类型][‘分类名’]
  • 用途 :定义一个逻辑段,以SEGMENT开始,以ENDS结束,整个段的内容包含在两条伪指令之间。
  • 注意:段名即为该逻辑端的基地址。

(2) 段分配语句

ASSUME CS:代码段名,DS:数据段名,SS:堆栈段名,ES:附加段名
  • 用途 :把段定义语句定义的逻辑段段名,定义成代码段、数据段,堆栈段,附加段
ASSUME ES:NOTHING;
  • 用途:取消ASSUME已经定义的段寄存器。
  • 要求: 取消定义的段名必须是SEGMENT和ENDS定义过的段名。

(3) 过程定义语句

过程名 PROC [NEAR]/FAR
	·
	·		;过程内容
	RET
过程名 ENDP
  • 用途:作为首尾限定过程。
  • NEAR:进过程。表示段内调用。可省略不写。
  • FAR:远过程。表示段间调用。

(4) 变量定义语句

数据定义语句

变量名  伪指令指示符  操作数;注释

伪指令指示符:
DB,用于操作数的长度为一个字节
DW,用于操作数的长度为一个字
DD,用于操作数的长度为双字
DQ,用于操作数的长度为4字
DT,用于操作数的长度为10字节

  • 用途:为一个数据项分配存储单元。

  • 特点

    • 默认操作数?,表示不指定初始值,但留出相应的存储空间。

(5) 程序结束语句

END [标号名或名字]
  • 用途 :停止汇编程序对源程序的汇编。

  • 特点

    • 标号名和名字可以省略不写
  • 要求

    • 每个模块只能有一条也必须有一条END语句。
    • 该语句位于汇编语言程序最后一行

(6) 其他

① 等值伪指令语句EQU

符号名 EQU 变量、标号、常数等
  • 用途:将EQU右边的数值赋给左边的符号名

② 定义类型伪指令 LABEL

名字 LABEL 类型
  • 用途:将LABEL左边的名字定义为其右边的类型。

③ 对准伪指令 EVEN

EVEN
  • 用途:要求汇编程序将下一语句所指向的地址调整为偶地址。

④ ORG伪指令

ORG 操作数
  • 用途:给下一条语句指定起始偏移地址。

⑤ 模块连接伪指令PUBLIC和EXTRN

PUBLIC 
  • 用途:用于将标号,变量或数据定义为公共的,可供其他程序模块使用,否则别的模块不能引用它。
EXTERN
  • 用途:用于引用其他模块中已用PUBLIC伪指令定义过的标号和变量。
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值