- 1
- 0
- 约7.53千字
- 约 88页
- 2020-01-19 发布于湖北
- 举报
李宝平
计算机学院通信工程系
;汇编语言程序设计;汇编程序(翻译程序);●;●;4.1.2 汇编语言源程序格式 ;0000:0~3;一个基本的汇编语言程序框架如下:
‘‘
100 (‘’)
数据、变量在此定义
, , ,
: ,
,
,
此处加入你自己的程序段
, 4
21H
;;;汇编语言的一个实例: (例022)
‘’
100 (0)
‘, !’,0,0,’$’
:
;取字符串首地址
,9
21H ;显示字符串
,4
21H ;退回
;●;操作码可以是指令、伪指令或宏指令的助记符。对于指令,汇编程序将其翻译成机器语言指令。
对于伪操作,汇编程序根据其功能进行处理。对于宏指令,则将根据其定义展开,转换成对应的代码。; ; 变量——即内存中的存储单元或数据区。
变量名——是存储单元(数据区)的符号地址
或 名字。
变量也有三个属性:
段地址—变量所在段的段地址
偏移量—变量单元地址与段首地址之间的位移量。
类 型—有、 、三种之一。
变量在程序中作为存储器操作数被引用。;4.表达式;用于数字表达式,
例:
,4*1024
汇编后的形式为:
,4096
用于地址表达式,
例:
3
若的偏移地址为1000H,则汇编后的形式为:
,[1003H] ;逻辑运算符只能用于数字表达式中。
例: ,36H 0
经汇编后: ,06H
注意: 不要把逻辑运算符与逻辑运算指令混淆:
例: , 30H 000H
汇编后源操作数被翻译为:3F00H,所以上述指令与 , 3F00H等价。;关系运算的结果是一个逻辑值:真或假
关系为真,结果为全1
关系为假,结果为全0
例: , 300H
若的值大于300H为真,则汇编后为:
, 0
若为假,则汇编后为:
, 0;取地址运算符——、
: 取变量/标号的段地址
:取变量/标号的偏移地址
例: 12H
……
, ;取变量的偏移地址
, ;取变量的段地址
注意: 下面两条指令的异同:
,
,
只能取静态的偏移地址;
指令即可取静态的偏移地址,也可取动态的偏移地址。 ; 取变量的类型(1,2,4)
取所定义变量的长度
(即变量中元素的个数)
取所定义存储区的字节数
( * )
例: 1,2,3,4,5
则 = 2
= 5
= 10;5)属性操作符;例: [],0 ;字节类型
[],0 ;字类型
[],0B5H ;类型不定
也可用来进行强制类型转换
例:1 ? 1定义为字类型
1 ;合法
1 ;非法 ?
1 ;合法;: 用来修饰指令中转向地址的属性,指出转向地址是在下一条指令地址的-128127个字节范围之内。
: 格式为: 或
它可以象一样建立一个指定类型(、或)的或指定距离(或)的地址操作数。该操作数的段地址和偏移地址与下一个存储单元地址相同。 例如:
原创力文档

文档评论(0)