汇编语言-程序格式.ppt

汇编语言-程序格式.ppt

ID:51094632

大小:191.50 KB

页数:33页

时间:2020-03-18

汇编语言-程序格式.ppt_第1页
汇编语言-程序格式.ppt_第2页
汇编语言-程序格式.ppt_第3页
汇编语言-程序格式.ppt_第4页
汇编语言-程序格式.ppt_第5页
资源描述:

《汇编语言-程序格式.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本章学习要点:(1)常见的伪指令及它们的用法(2)汇编语言的结构一、汇编语句的种类和格式1.语句的种类汇编语言有多种类型的语句,指令语句、伪指令语句、宏指令语句。汇编语言在对源程序进行汇编时,把指令语句翻译成机器指令,也就是说指令语句有着与之对应的机器指令。伪指令语句没有与其对应的机器指令,只是指示汇编程序如何对源程序进行汇编,包括符号的定义、变量的定义、段的定义等。通俗点讲,它实际上是属于一种说明语句。2.语句的格式指令语句格式:(标号)指令助记符(操作数(,操作数))(;注释)伪指令语句的格式如下:(名字)伪指令定义符(参数,…,参数)(;注释)伪指令定义符:

2、规定了伪指令的功能参数:说明伪指令操作的对象,如常数(数值表达式)等名称:给所定义的内容起的名称。在汇编语言中,名字和标号很容易区分,名字后面没有冒号,而标号后一定用冒号。标号和名字最多由31个字母、数字及规定的特殊字符组成,并且不能以数字来开头。标号和名字不能是汇编语言的保留字,如不能是“MOV”。汇编语言不区分保留字中字母的大小写。如“MOVAX,03H”等同于“movax,03h”伪指令有多种,常见的如:(1)段定义伪操作(2)数值数据定义及存储器分配(3)符号数据定义(4)程序开始和结束伪操作(5)表达式赋值伪操作此外还有基数控制伪操作、对准伪操作等。看看

3、下列代码有哪些伪指令:二、常见的伪指令/伪操作(1)段定义语句为了与存储器的分段结构相对应,汇编语言的源程序也是由若干个段组成。1.段开始和段结束语句段定义的一般格式如下:段名SEGMENT[定位类型][组合类型][‘类型’]……段名ENDS例:一个简单的段如下所示:DSEGSEGMENTMESSDB‘HELLO’,0DH,0AH,‘$’DSEGENDS2.段使用设定语句汇编程序根据段开始语句和段结束语句判断出源程序的段划分,为了有效地产生目标代码,汇编程序还要了解各程序段与段寄存器间的对应关系。这种对应关系由段使用设定语句说明。ASSUME段寄存器名:段名[,段

4、寄存器名:段名……]段寄存器名可以是CS,DS,SS和ES。段名就是段开始和段结束语句中规定的段名。例如:CS寄存器对应CSEG段,DS寄存器对应DSEG段。ASSUMECS:CSEG,DS:DSEGASSUME伪指令中段名也可以是一个特别的关键字NOTHING,它表示某个段寄存器不与任何段有对应关系。DSEG1SEGMENTVARWDW12DSEG1ENDSDSEG2SEGMENTXXXDW0DSEG2ENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSG1,ES:DSG2MOVAX,DSEG1MOVDS,AXMOVAX,DSEG2MOVES,A

5、X……ASSUMEDS:DSG2,ES:NOTHINGMOVAX,DSEG2MOVDS,AX……DSEGENDS(2)关于数值数据定义语句及存储器分配通过数值数据定义语句可以为数据项分配存储单元,并根据需要设置其初值。还可以用符号代表数据项,此时符号就与分配的存储单元相联系。代表数据项的符号本省称为变量名,与之相对应的存储单元用于存放变量。1.数据定义的格式数据定义语句是最常用的伪指令语句。一般格式如下:[变量名]数据定义符表达式[,表达式,……,表达式][;注释]例如:VARBDB3WARWDW-1234BUFFDB100,3+4,5*61)定义字节数据项(DB

6、)每一个字节数据项只占用一个字节存储单元例:COUNTDB100DB0DH,0AH,‘$’TABLEDB0,1,4,9,162)定义字数据项(DW)每一个字数据项只占用两个字节存储单元例:FLAGDW2FCDH,100,-1VECTDW0DW100H3)定义双字数据项(DD)每一个双字数据项只占用四个字节存储单元例:VECTORDD4FARPTRDD12345678H,0此外,还可以定义8字节的数据项(DQ),10字节的数据项(DT)4)定义没有初值的数据项如果数据定义语句中的表达式只是一个问号(?),则表示不预置对应变量的初值,而仅仅是给变量分配存储单元。例:I

7、NBUFFDB5,?,?,?,8,?VARWDW?OLDVDD?5)定义字符串定义字节数据的伪指令DB也可以用于方便地定义字符串。字符串要用引号括起来,单引号和双引号皆可,只要配对。例如:MESSDB‘HELLO!’上述语句与如下语句定义内容相同:MESSDB‘H’,‘E’,‘L’,‘L’,‘O’,‘!’2.重复操作符DUP有时需要定义数组,有时还需要定于数据缓冲区。例如:BUFFERDB0,0,0,0,0,0,0,0以上操作太不方便,为此,汇编语言停供了在数据定义语句中使用的重复操作符DUP。比如,上述定义语句与如下定义语句起相同的作用:BUFFERDB8DUP

8、(0)重复

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

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

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