第4章 80X86汇编语言程序设计.ppt

第4章 80X86汇编语言程序设计.ppt

ID:48250591

大小:1.69 MB

页数:166页

时间:2020-01-18

第4章 80X86汇编语言程序设计.ppt_第1页
第4章 80X86汇编语言程序设计.ppt_第2页
第4章 80X86汇编语言程序设计.ppt_第3页
第4章 80X86汇编语言程序设计.ppt_第4页
第4章 80X86汇编语言程序设计.ppt_第5页
资源描述:

《第4章 80X86汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章80X86汇编语言程序设计本章的内容有:MASM宏汇编语句结构以及开发过程MASM汇编语言表达式、运算符程序段的定义和属性复杂数据结构宏汇编基本汇编语言程序设计子程序设计高级汇编语言程序设计4.1MASM宏汇编语句结构以及开发过程4.1.1汇编语言程序的语句类型和格式1.语句的类型硬指令语句(指令性语句)是指能产生目标代码,CPU可以执行的,能完成特定功能的语句,它主要由CPU指令组成。伪指令语句(指示性语句)是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编。定义变量,定义过程,给变量分配存储单元,给数字或表达式命名等。所以伪指令语句是

2、汇编程序在汇编时用的,不产生机器码。宏指令语句它是一个指令序列,汇编时凡有宏指令语句的地方都将用相应的指令序列的目标代码插入。指令性语句是计算机可执行的,而伪指令不能执行,用来定义变量,分配存储单元,指示程序开始和结束等。这两种语句的差别:在形式上:带不带冒号,是否可转向它.在本质上:汇编时能否形成对应的机器码.2.语句的格式汇编语言源程序由语句序列构成。汇编语言源程序中的每条语句一般占一行,每行不超过132个字符(MASM6.0开始可以是512个字符),执行性语句(硬指令、代码段)标号:硬指令助记符操作数,操作数;注释说明性语句名字伪指令助记符参数,参数….;

3、注释4.1.2汇编语言的程序格式在实地址模式和虚拟8086模式下,按照逻辑段组织程序,具有代码段、数据段、附加段和堆栈段。一个汇编语言源程序可以包含若干个代码段、数据段、堆栈段或附加段,段与段之间的顺序可随意排列。需独立运行的程序必须包含一个代码段,并指示程序执行的起始位置,一个程序只有一个起始位置。所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内两种格式书写第一种格式是从MASM5.0开始支持的简化段定义格式(但其中的两个指令.STARTUP和.EXIT是6.0版本才引入的)。第二种格式是MASM5.0以前版本就具有的完整段定义格式。

4、.例4.1简化段定义的源程序格式MODELSMALL;定义程序的存储模式,小型程序一般采用小模式SMALL.STACK;定义堆栈段.DATA;定义数据段STRINGDB’Hello,Everybody!’,0DH,0AH,’$’;在数据段定义要显示的字符串.CODE;定义代码段.STARTUP;说明程序起始位置,并建立DS、SS内容(注1)MOVDX,OFFSETSTRING;指定字符串在数据段的偏移地址MOVAH,9INT21H;利用DOS功能调用显示信息.EXIT0;程序结束点,返回DOS(注2)END;汇编结束(注3)例4.2完整段定义的源程序格式STAC

5、KSEGMENTSTACK;定义堆栈段STACKDW512DUP(?);堆栈段的大小是1024字节(512字)空间STACKENDS;堆栈段结束DATASEGMENT;定义数据段DATASTRINGDB‘Hello,Everybody!’,0DH,0AH,’$’;在数据段定义要显示的字符串DATAENDS;数据段结束CODESEGMENT‘CODE’;定义代码段CODEASSUMECS:CODE,DS:DATA,SS:STACK;确定CS、DS、SS指向的逻辑段START:MOVAX,DATA;设置数据段的段地址DSMOVDS,AXMOVDX,OFFSETSTR

6、ING;利用功能调用显示信息MOVAH,9INT21HMOVAX,4C00H;利用系统功能调用返回DOSINT21HCODEENDS;代码段结束ENDSTART;汇编结束,同时表明程序起始位置为标号START处4.1.3汇编语言程序的开发过程源程序编辑源程序汇编目标文件链接可执行文件调试.ASM.OBJ.EXE可执行文件MASMLT401A.ASM/MLLT401A.ASMLINKLT401A.OBJDEBUGLT401A.EXE修改源代码正确ML.EXE汇编程序ML.ERR汇编错误信息文件DOSXNT.EXEMS-DOS扩展文件LINK.EXE连接程序LIB.

7、EXE子程序库管理文件MASM5.1以下:MASM.EXE4.2MASM汇编语言表达式、运算符4.2.1常量、运算符及表达式1.常量(1)数字常量二进制常量,以B结尾十进制常量,以D结尾或省略(汇编语言中默认无标记数为十进制数)十六进制常量,以H结尾,如0A8C6H.MASM提供基数控制,.RADIX伪指令可以改变默认进制。伪指令格式:.RADIXn要求:n为2~16范围内任何数值。功能:把n表示的数值作为默认基数。例如指令“.RADIX16”,将缺省基数改为16(2)字符串常量用单引号引起来的字符或字符串也代表常数。例:’A’,’BCDE’,汇编时被翻译成对应

8、的ASCII码41H和4

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

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

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