《汇编语言》讲稿_07 (2).ppt

《汇编语言》讲稿_07 (2).ppt

ID:48243741

大小:548.00 KB

页数:42页

时间:2020-01-18

《汇编语言》讲稿_07 (2).ppt_第1页
《汇编语言》讲稿_07 (2).ppt_第2页
《汇编语言》讲稿_07 (2).ppt_第3页
《汇编语言》讲稿_07 (2).ppt_第4页
《汇编语言》讲稿_07 (2).ppt_第5页
资源描述:

《《汇编语言》讲稿_07 (2).ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、2021/9/81汇编语言程序格式1汇编程序功能2伪操作2021/9/821汇编程序功能汇编程序的主要功能检查出源程序的语法错误,并给出出错信息提示。生成源程序的目标代码程序。2伪操作伪指令语句又称为说明语句或管理语句。它不同于指令语句,不是直接命令CPU去执行某一操作,而是命令汇编程序应当如何生成目标代码。例如控制汇编以实现数据定义、存储器分配、源程序开始和指示程序结束等功能。伪指令无相应的目标代码,因此也称为伪操作。伪指令格式与指令格式十分相似。段定义伪操作1、完整的定义段伪操作格式:段名SEGMENT段名ENDS段分配伪指令ASSUME格式:ASSUME段寄存器名:段名,段寄存器名:

2、段名功能:确定某个段分配给哪一个段寄存器,它并不能把段地址分配给段寄存器。该指令放在程序的代码段中。如:ASSUMECS:CODE,ES:ESTRA,DS:DATA,SS:STACK说明代码段的段地址寄存器CS应该存放代码段CODE的段地址,同理ES、DS、SS段寄存器对应存放ESTRA、DATA、STACK的段地址,该指令只是说明,并没有真正传送,除了代码段寄存器中的代码段地址是由系统自动分配,其他的段地址在代码段中可以为所对应的段寄存器赋初值。数据定义及存储分配伪操作变量定义伪指令的作用:为变量申请固定长度的存储空间,并可同时将相应的存储单元初始化变量名伪指令助记符初值表变量定义伪指令

3、根据申请的主存空间单位分类DB——定义字节伪指令(1个存储单元)DW——定义字伪指令(2个存储单元)DD——定义双字伪指令(4个存储单元)DF——定义3字伪指令(6个存储单元)DQ——定义4字伪指令(8个存储单元)DB伪指令用于分配一个字节单元,并可以将它们初始化为指定值。初值表中每个数据一定是字节量(Byte),存放一个8位数据。DW伪指令用于分配一个字单元,并可以将它们初始化为指定值。初值表中每个数据一定是字量(Word),一个字单元可用于存放任何16位数据。例:定义变量并赋初值XXDB1,-1,0fcHYYDW1,-1,0fcHZZDD1,-1,0fcH注意:1.定义字符串变量时3个

4、及其以上的字符,只能用DB定义.2.DW伪指令定义的字符串只允许包含两个字符,类似数据高低位存储。重复定义操作符(DUP)【例】ARRAY1DB2DUP(1,2,2,?)ARRAY2DB50DUP(?)例:DUP可以嵌套ARRAY3DB2DUP(0,2DUP(1,2),3)ARRAY3的长度为12个字节,该伪指令的存储结构如图所示。属性定义运算符格式:类型PTR地址表达式说明:指明紧跟其后的地址表达式的类型属性,但保持它原来的段属性和偏移地址属性不变。类型属性可以为:BYTE、WORD、DWORD、NEAR和FAR等。类型运算符主要用于以下情况:使语句中类型模糊的操作数地址变得明确。例如:

5、MOV[SI],100MOVWORDPTR[SI],100表达式赋值伪操作EQU符号常量的定义就是用赋值伪指令EQU来定义的符号名。伪指令格式:标识符EQU表达式伪指令功能:用表达式来定义标识符,使表达式等同与标识符。表达式包括:常量表达式,地址表达式。XEQU3*4;表达式是常量表达式等号伪指令=格式:符号名=表达式功能:与EQU相同,但有点区别。Y=3*4=伪指令与EQU伪指令的差别:1)=伪指令只能代表表达式或常数,不能是指令助记符等。2)EQU定义的符号不能重定义,而=定义的可以。在同一个汇编源程序中,EQU不能重复定义同一个标识符,而“=”可以重复定义标识符。例如:XDW100R

6、ES=3*X+8┇RES=3*X+9EVEN伪操作用于数据段的定义中,可以使下一个变量或指令开始于偶数字节地址。一个字的地址最好从偶地址开始,所以对于字数组为保证其从偶数地址开始,可以在其前用EVEN伪操作来达到这一目的。例如:DATA_SEGSEGMENTEVENWORD_ARRAYDW100DUP(?)DATA_SEGENDS3汇编语言程序格式汇编语言源程序中每个语句可以由4项组成,格式如下:[名字]操作操作数[;注释]其中:名字:是一个符号;操作:是一个操作码的助记符,可以是指令、伪操作。操作数:由一个或多个表达式组成,提供为执行所要求的操作所需要的信息。注释:说明程序或语句的功能。

7、3.1名字项源程序中用下列字符表示名字:字母:A~Z数字:0~9标号:在代码段中定义,后面跟冒号:变量:在数据段或附加段中定义,后面不跟冒号。3.2操作数项操作数项由一个或多个表达式组成,多个操作数项之间用逗号隔开。1算术运算符(+、-、*、/、MOD)2逻辑运算符(AND、OR、XOR、NOT)3关系运算符(EQ、NE、LT、LE、GT、GE)4数值回送操作符(SEG、OFFSET、TYPE、LENGTH、SIZE)5

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

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

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