汇编语言的格式new

汇编语言的格式new

ID:19694629

大小:44.50 KB

页数:8页

时间:2018-10-05

汇编语言的格式new_第1页
汇编语言的格式new_第2页
汇编语言的格式new_第3页
汇编语言的格式new_第4页
汇编语言的格式new_第5页
资源描述:

《汇编语言的格式new》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、5.2汇编语言源程序的格式在第四章介绍指令系统时曾给出若干程序举例,但是,它们仅仅是一些程序片段,并不是完整规范的汇编语言源程序。下而给出一个比较简单,然而比较规范的汇编语言源程序。例5.1要求将两个五字节16进制数相加,可以编写出以下汇编语言源程序。DATASEGMENT;定义数据段DATA1DB0F8H,60H,0ACH,74H,3BH;被加数DATA2DB0C1H,36H,9EH,0D5H,20H;加数DATAENDS;数据段结束CODESEGMMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX

2、;初始化DSMOVCX,5 ;循环次数送CX          MOV  SI,0                ;置SI初值为0          CLC                    ;清CF标志      LOOPER:MOV  AL,DATA2[SI]            ;取一个字节加数          ADC  DATA1[SI],AL            ;与被加数相加          INC    SI               ;SI加1          DEC  CX                 ;CX减1     

3、     JNZ    LOOPER             ;若不等于0,转LOOPER          MOV  AH,4CH          INT  21H                 ;返回DOS      CODE  END                    ;代码段结束          END  START                ;源程序结束5.2.1分段结构由上面的例子可以看出,汇编语言源程序的结构是分段结构形式,一个汇编语言源程序由若干段(SEGMENT)组成,每个段以SEGMENT语句开始,以ENDS语句结束。整个源程

4、序的结尾是END语句。这里所说的汇编语言源程序中的段与前面讨论的CPU管理的存储器的段,既有联系,又在概念上有所区别。我们已经知道,微处理器对存储器的管理是分段的,因而,在汇编语言程序中也要求分段组织指令、数据和堆栈,以便将源程序汇编成为目标程序后,可以分别装入存储器的相应段中。但是,以8086/8088CPU为例,它有四个段寄存器(CS,ES,SS和DS),因此CPU对存储器按照四个物理段进行管理,即数据段,附加段,堆栈段和代码段。任何时侯CPU只能访问四个物理段。而在汇编语言源程序中,设置段的自由度比较大。例如一个源程序中可以有多个数据段或多个代码段等等。

5、一般来说,汇编语言源程序中段的数目可以根据实际需要而设定。为了和CPU管理的存储器物理段相区别,我们将汇编语言程序中的段称为逻辑段。在不致发生混淆的地方,有时简称为段。在上面的简单源程序中只有两个逻辑段,一个逻辑段的名字是DATA,其中存放着与程序有关的数据,称为逻辑数据段;另一个逻辑段的名字是CODE,其中包含着程序的指令,称为逻辑代码段。每个段内均有若干行语句(STATEMENT),因此,可以说一个汇编源程序是由一行一行的语句组成的。下面我们来讨论汇编语言语句的类型和组成。5.2.2汇编语言语句的类型和格式一.语句的类型汇编语言源程序中的语句可以分为两种类

6、型:指令语句,伪指令语句。⒈指令语句:它是能产生目标代码,CPU可以执行的能完成特定功能的语句。⒉伪指令语句:它是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编。例如,告诉汇编程序已写出的汇编语言源程序有几个段,段的名字是什么;定义变量,定义过程,给变量分配存储单元,给数字或表达式命名等。所以伪指令语句是为汇编程序在汇编时用的。二.语句的格式指令语句与伪指令语句的格式是类似的。一般情况下,汇编语言的语句可以由1~4部分构成:[名字]?助记符?[操作数]?[;注释]其中带方括号的部分表示任选项,既可以有,也可以没有。例5.1中有如下语句:LO

7、OPER:MOV AL,DATA2[SI]                  ;取一个字节加数DATA1 DB  0F8H,60H,0ACH,74H,3BH             ;被加数第一条语句是指令语句,其中“LOOPER:”是名字,“MOV”是指令助记符,“AL,DATA2[SI]”是操作数,“;”后面是注释部分;第二条语句是伪指令语句,其中“DATA1”是名字,“DB”是伪指令定义符,“0F8H,60H,0ACH,74H,3BH”是操作数,“;”后面是注释部分。下面对汇编语言中的各个组成部分进行讨论。⒈名字汇编语言语句的第一个组成部分是名字(Nam

8、e)。在指令语句中,这个名字是一个标号

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

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

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