伪指令及汇编程序结构和上机

伪指令及汇编程序结构和上机

ID:34530297

大小:4.08 MB

页数:54页

时间:2019-03-07

伪指令及汇编程序结构和上机_第1页
伪指令及汇编程序结构和上机_第2页
伪指令及汇编程序结构和上机_第3页
伪指令及汇编程序结构和上机_第4页
伪指令及汇编程序结构和上机_第5页
资源描述:

《伪指令及汇编程序结构和上机》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理与汇编语言程序设计第五讲伪指令及汇编程序结构陈梅主讲华东交通大学信息工程学院本讲教学重点及要求汇编语言及汇编程序的基本概念汇编语言的书写规则、语句格式及程序结构伪指令的格式、功能及应用上机调试过程汇编程序和汇编语言源程序是两回事。汇编程序是将汇编语言源程序翻译成机器能够识别和执行的目标程序的一种系统程序。编辑程序汇编程序program.asmprogram.obj(汇编语言源程序)连接程序汇编程序的主要功能:program.exe•检查源程序,给出出错信息•产生目标文件(.obj)和列表文件(.lst)•展开宏指令汇编语言语句种类1)指令语句:是计算机可以执行的,它与机器指令相对

2、应,能够产生目标代码。2)伪指令语句:不是在程序运行期间由计算机来执行,而是在汇编程序对源程序汇编期间由汇编程序处理的操作,不能产生目标代码。3)宏指令语句:是汇编语言为简化程序设计,使用一条宏指令代替一段程序,凡是在程序中需要使用该程序的地方,均可使用宏指令语句来代替。汇编语言语句格式源程序的每条语句可表示为:[名字]操作码项[操作数项][;注释]标号指令常数说明程序或语句的功能变量伪指令寄存器宏指令标号变量表达式汇编语言语句格——名字项1、组成名字的字符及规则:由下列字符组成的,由字母打头的字符串.字母A~Z和a~z数字0~9专用字符?.@-$除数字0~9外其他字符都可以放在名字项首

3、位;专用字符'.'只能出现在名字的第一位置;名字最长由31个字符组成.2、标号和变量的区别标号是某条指令所存放单元的符号地址。变量是某操作数所存放单元的符号地址。指令语句中的名字采用标号,可以任选,可以不写;指令语句的标号出现在代码段,后面跟冒号¡°:¡±。伪指令语句中的名字可以是变量名、段名、过程名、符号名等,可以是规定必写、任选或省略;伪指令语句中的名字之后不要用冒号¡°:¡±。一个标号与一条指令的地址相联系,因此,标号可以作为JMP和CALL指令的操作数.例如:LAB1:MOVAX,2050H这是指令语句,标号LAB1是名字,后跟¡°:¡±,LAB1也是这条指令第一字节的符号地址。

4、VAR1DW1200H这是伪指令,变量VAR1是名字,后不跟¡°:¡±,VAR1也是符号地址。同一程序中,同样的标号或变量的定义只允许出现一次.3、标号和变量的属性ØØ段段属属性性定义了标号和变量的段起始地址,其值必须在一个段寄存器中。Ø偏偏移移属属性性表示标号和变量相距段起始地址的字节数,是一个16位无符号数。ØØ类类型型属属性性•对于标号:指出该标号是在本段内引用还是在其他段中引用.本段内引用为NEAR,段外引用为FAR•对于变量:说明变量有几个字节长度。这一属性由伪指令DB、DW、DD等确定。汇编语言语句格——操作码项1)指令:指CPU指令系统的指令,汇编程序将其翻译成对应的机器语

5、言指令。2)伪指令:不能翻译成对应的机器码,只在汇编过程中完成相应的控制操作。3)宏指令:有限的一组指令定义的代号,汇编时将根据其定义展开成相应的指令。汇编语言语句格——操作数项v常数指操作数位置出现的数值数据或字符数据,其值在汇编时已完全确定,程序运行过程中不会发生变化。二进制(以B结尾)、八进制(以O结尾)十进制(以D结尾或省略)、十六进制(以H结尾)字符串常数(以单引号括起来的字符或字符串)常数主要以立即数、位移量的形式出现在指令语句或伪指令语句中。v表达式和运算符由运算对象和运算符组成的合法式子叫表达式。表达式的运算结果在汇编过程中计算出来。数值表达式:其运算结果是一个数地址表达

6、式:其运算结果是一个存储单元的地址。运算符算术运算符逻辑运算符关系运算符分析运算符综合运算符(1)算术运算符:+、-、*、¤、MOD、SHL、SHR注意:•加、减、乘、除运算都是整数运算,结果也是整数.•除法运算所得是商的整数部分,求余运算是两数整除后的余数.•算术运算符适用于数值和地址表达式,但用于地址表达式时,只有结果有明确的物理意义才有效.且表达式中的地址要在同一段内。•‘地址±数字量’表示在原地址基础上偏移若干个单元;•‘地址-地址’表示两个单元间的距离。•‘地址+地址’、‘地址*地址(或数字量)’、‘地址/地址(或数字量)’都无意义;例:MOVDX,BLOCK+(6-1)*2;

7、把首地址为BLOCK的字数组的第6个字传送到DX(2)逻辑运算符:AND、OR、XOR、NOT注意:•逻辑运算符是对其操作数进行按位操作;•只能用于数值表达式,不能对地址进行逻辑运算;•逻辑运算是在汇编时完成的;•运算后产生一个逻辑运算值供指令操作数使用,不影响标志位。例:OPR1EQU25OPR2EQU7ANDAX,OPR1ANDOPR2;等价于ANDAX,1说明:逻辑运算符与逻辑指令不同。逻辑指令是在程序执行时完成.(3)关系操

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。