微型计算机汇编语言及汇编程序

微型计算机汇编语言及汇编程序

ID:39404929

大小:556.00 KB

页数:36页

时间:2019-07-02

微型计算机汇编语言及汇编程序_第1页
微型计算机汇编语言及汇编程序_第2页
微型计算机汇编语言及汇编程序_第3页
微型计算机汇编语言及汇编程序_第4页
微型计算机汇编语言及汇编程序_第5页
资源描述:

《微型计算机汇编语言及汇编程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章微型计算机汇编语言及汇编程序7.1宏汇编语言的基本语法7.2伪指令7.3宏指令7.4系统功能调用汇编语言源程序目的程序汇编程序汇编7.5综合举例7.6汇编语言程序设计7.1宏汇编语言的基本语法一、伪指令语句格式标号名伪指令操作数;注释,DATA1DB17HDB78HDATA2DW617H,0A345H,89H说明:标号名可以是常量名、变量名、过程名、结构名、记录名等二、常数、变量和标号1.常数8086/8088宏汇编中允许如下几种常数:①二、八、十、十六进制常数②十进制科学表示法表示的实数,如:12.3

2、5E-2③字符串常数,如‘AB’值是4142H‘ABCD’→41H,42H,43H,44H2.变量是代表存放在内存单元中的变化的数据。(1)变量的定义与预置:DATASEGSEGMENTDATA1DB17HDATA2DW8976HDATA3DD45673212HDATASEGENDS段属性偏移量属性类型属性标号是一条指令语句的符号地址。标号可作为转移类指令的操作数,即转移地址。标号:在代码段中定义,后跟冒号,位于指令语句左边。3.标号【例】符号地址表示。NEXT:MOVAL,[SI]DECCXJNENEXT…

3、段属性:定义标号的段起始地址,标号的段属性总是在CS寄存器中。偏移地址:代表从代码段起始地址到标号位置之间的字节数。类型属性:分NEAR和FAR两类,NEAR表示在同一代码段内引用,FAR表示在段外引用。标号有段、偏移及类型三种属性。表达式是由常数、寄存器、标号、变量和操作符组合而成。1、算术操作符三、表达式和运算符算术运算符可用于数值表达式和地址表达式中,例如:√MOVAL,10*5+4;数值表达式√MOVSI,OFFSETBUF+12;地址表达式√MOVCX,NUM2-NUM1;两地址差送CX×MOVCX

4、,NUM2+NUM1;无意义汇编语言程序使用的操作符有:有+、-、*、/和MOD(取余)在使用地址表达式时要注意地址表达式的物理意义。2、逻辑操作符有AND、OR、NOT和XOR四个。只用于数值表达式中。3、关系运算符有EQ(相等),GT(大于),LT(小于)NE(不等),GE(大于或等于),LE(小于或等于)例如:ANDAL,78HAND0FH等价于:ANDAL,08HORAL,3AND47H等价于:ORAL,3逻辑运算的结果为:为真时,结果取0FFFFH为假时,结果取0注:关系操作符的两个操作数必须是数字

5、或同一段内的地址若val<5时,结果:MOVBX,0MOVBX,0FFFFHMOVBX,20MOVBX,30如:MOVBX,32EQ54等价于:如:MOVBX,66GT44等价于:MOVBX,((valLT5)AND20)OR((valGT5)AND30)若val>5时,结果:4.2、伪指令汇编的一些伪指令用于定义符号,定义数据,分配内存单元,伪指令只向汇编语言提供有关信息,不产生机器代码。一、符号定义伪指令1、等值伪指令EQU注EQU不能给一个符号重复定义格式:〈符号名〉EQU〈表达式〉功能:给符号名定义一

6、个值、别的符号名、表达式或助记符。CONSEQU128DAT1EQUCONS+128BEQUMULABEQU[BX][SI]二、数据定义伪指令格式:[变量]操作符操作数[;注释]功能:给变量定义存储单元。操作符有:DB,DW,DD,DF,DQ,DT注:用DT定义的十进制数要加后缀D,否则默认为BCD数。2、等号伪指令=与EQU类似,但在同一个程序中,=可以对一个符号重新定义。DATASEGMENTVAR1DB10HVAR2DB10,11,12DB0FFH,0BUF1DW1234H,5678HBUF2DD123

7、45678HDATAENDS10H0AH0BH0CHFFH00H34H12H78H56H78H56H34H12H……(a)、操作数是常数或表达式例:DATA数据段中定义了字节、字和双字变量(b)、操作数是?此时,只分配存储单元,不定义初值。例:NUM1DB5,?,7NUM2DW?,?VAR1DATAVAR2BUF1BUF2(c)、操作数是字符串当定义的字符串中多于2个字符时,只能用DB定义。注:STR2DB‘AB’STR2DW‘BA’STR2DW‘AB’等价BUF2DW1,2,3DUP(6)等价于:BUF2D

8、W1,2,6,6,6ARB1DB10DUP(2)ARB2DB10HDUP(’ABC’)ARB3DW20DUP(?)(d)、带DUP的表达式变量名DBDWDD表达式1DUP(表达式2)如:STR1DW‘ABCD’×三、段定义伪指令格式:段名SEGMENT[定位][组合][类型][段长度]……;段体段名ENDS段定义伪指令应用举例DATASEGMENT;DATA段定义开始BUF1DB2DHDATAEND

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

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

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