第4章 汇编语言程序设计 (2).ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:98 大小:2.6MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第4章 汇编语言程序设计 (2).ppt

第4章汇编语言程序设计(2).ppt

预览

免费试读已结束,剩余 88 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微型计算机原理及应用§4.1汇编语言的格式§4.2语句行的构成§4.3指示性语句§4.4指令语句§4.5汇编语言程式设计及举例4.1汇编语言的格式4.1.18086汇编语言源程序的一般格式4.1.28086汇编语言程序的一个例子CYCLE:CMPSUM,100;SUM单元与100相比较JNANOT_DONE;若未超过,转至NOT_DONEMOVAL,SUM;若超过,把SUM单元的内容OUTPORT_VAL,AL;通过AL输出HLT;然后停机NOTDONE:INAL,PORT_VAL;未超过时,输入下一个字节ADDSUM,AL;与以前的结果累加JMPCYCLE;转至CYCLEMYCODEENDS;码段结束ENDGO;源程序结束由上例看出8086汇编的一个语句行由以下4个部分组成:标号(或名称)操作码操作数;注释各部分之间至少要用一个空格作为间隔。IBM宏汇编对于语句行的格式是自由的,但如果写成格式化就便于阅读,建议读者按格式化来写语句行。另外,IBM宏汇编并不要求一个语句只能写一行,一个语句可以有后续行,规定以字符“&”作为后续行的标志。4.2语句行的构成4.2.1标记2.界符界符是一些特殊字符,利用它们可以表明某个标记的开始或结束,它们本身也有一定的意义,这一点与分隔符(空格)不同。例如分号(;)—表示注释的开始,冒号(:)—表示标号的结束,逗号(,)—表示下一个操作数的开始。它们都是界符。IBM宏汇编中的界符集如图4-2所示。IBM宏汇编语句中有了界符就可以不用分隔符,但为了程序更清晰易读,有时仍用分隔符。3.常量出现在汇编语言源程序中的固定值称为常量。(1)数值常量数值常量必需以数字符开始,可以使用多种进制。①二进制:以字母B结束。②十进制:以字母D或无字母结束。③八进制:以字母Q(或O)结束。④十六进制:以字母H结束。(2)字符常量指用单引号或双引号引起的字符或字符串。4.标识符标识符是指由程序员自己建立的字符序列(标号或名称)。一个标识符不能超过31个字符,不能以数字开头。5.保留字汇编语言中具有特殊意义的字符序列,而且不能用它们作为标识符。如:SEGMENT、MOV、EQU、AL等都是保留字。8086的指令助记符,汇编语言中的命令(伪指令),寄存器名等都是保留字。6.注释一行中分号以后的部分。用于对一段或一行程序进行说明,便于阅读和理解。4.2.2符号2.变量存放在存储单元中的操作数称为变量,其值可以改变。变量有三种属性:(1)段属性:指变量所在内存单元的段地址;(2)偏移属性:指变量所在内存单元的偏移地址;(3)类型属性:指变量中一个参数的长度,有三种:①字节类型(Byte);②字类型(Word);③双字类型(DWord)。3.标号标号是某条指令所存放单元的符号地址,它是转移控制类指令的目标操作数。标号也有三种属性:(1)段属性:标号所指内存单元的段地址;(2)偏移属性:标号所指内存单元的偏移地址;(3)类型属性:指标号所在位置与调用者的关系,有两种:①近类型(Near):可实现段内转移;②远类型(Far):可实现段间转移。4.常数在汇编语言源程序中的常数也常以符号的形式出现(符号常数),这样就更具有通用性,更便于修改。符号常数要先定义。5.其他符号除了上述4种符号以外,在汇编语言中还经常出现一些其他符号,把它们用作汇编程序中的伪指令名字。4.2.3表达式2.运算符(1)算术运算符:+、-、*、/、MOD(求余)(2)逻辑运算符:AND、OR、NOT、XOR(3)关系运算符:EQ、NE、LT、LE、GT、GE关系运算的结果为“假”时,返回0,结果为“真”时,返回二进制全1。(4)分析运算符:SEG、OFFSET、TYPE、LENGTH、SIZE(5)合成运算符:PTR、THIS4.3指示性语句4.3.1符号常数定义语句2.等号语句“=”格式:符号名=表达式功能与EQU类似。例:PP=89FAH;定义符号常数PP的内容为89FAHPP=PP+1;PP的内容为89FBH(1)“=”语句与“EQU”语句的相同点:功能相同,符号常数不是变量,所以用EQU、=定义的符号常数不占用存储器单元。(2)“=”语句与“EQU”语句的区别:“=”语句可以在同一源程序中重复定义同一个符号名,而EQU语句不行。3.解除语句“PURGE”已经用“EQU”命令定义的符号,若以后不再用了就可以用PURGE语句来解除。PURGE语句的格式为:PURGE符号1,符号2,…,符号n注意:PURGE语句本身不能有名字。用PURGE语句解除后的符号可以重新定义。4.3.2变量定义语句2.参数的形式(1)数值常数或能产生数值