X86汇编语言程序设计.ppt

X86汇编语言程序设计.ppt

ID:51504785

大小:551.55 KB

页数:57页

时间:2020-03-25

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

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

1、第4章80X86汇编语言程序设计本章的内容有:MASM宏汇编语句结构以及开发过程MASM汇编语言表达式、运算符程序段的定义和属性复杂数据结构宏汇编基本汇编语言程序设计子程序设计高级汇编语言程序设计DATASEGMENTW1DB00H,11H,22H,33H,‘$’W2DW4142H,0A0BHDATAENDSSTACK1SEGMENTDW100HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AX┊CODEENDSENDSTART4.1MASM宏汇编语

2、句结构以及开发过程4.1.1汇编语言程序的语句类型和格式1.语句的类型硬指令语句(指令性语句)是指能产生目标代码,CPU可以执行的,能完成特定功能的语句,它主要由CPU指令组成。伪指令语句(指示性语句)是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编。定义变量,定义过程,给变量分配存储单元,给数字或表达式命名等。所以伪指令语句是汇编程序在汇编时用的,不产生机器码。宏指令语句它是一个指令序列,汇编时凡有宏指令语句的地方都将用相应的指令序列的目标代码插入。指令性语句是计算机可执行的,而伪指令不能执行,用来定义变量,分配存储单元,指示程序开始和结束

3、等。这两种语句的差别:在形式上:带不带冒号,是否可转向它.在本质上:汇编时能否形成对应的机器码.2.语句的格式汇编语言源程序由语句序列构成。汇编语言源程序中的每条语句一般占一行,每行不超过132个字符(MASM6.0开始可以是512个字符),(1)执行性语句标号:硬指令助记符操作数,操作数;注释(2)说明性语句名字伪指令助记符参数,参数….;注释汇编语言中,用来标识某种数据结构名称(如变量、标号、过程名等)的有效字符序列称为标识符。MASM的标识符组成规则如下:(1)标识符有效长度1~31个字符;(2)标识符由字母(大写或小写的英文字母),数字或某些特殊字符如@

4、$:—·?/等组成(3)第一个字符必须是字母,不允许用数字开头,也不允许用特殊符号单独作为标识符;(4)标识符不能使用系统专用字,如AX(寄存器名),MOV(助记符)等。4.1.2汇编语言的程序格式在实地址模式和虚拟8086模式下,按照逻辑段组织程序,具有代码段、数据段、附加段和堆栈段。一个汇编语言源程序可以包含若干个代码段、数据段、堆栈段或附加段,段与段之间的顺序可随意排列。需独立运行的程序必须包含一个代码段,并指示程序执行的起始位置,一个程序只有一个起始位置。所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内。两种格式书写第一种格式是

5、从MASM5.0开始支持的简化段定义格式(但其中的两个指令.STARTUP和.EXIT是6.0版本才引入的)。第二种格式是MASM5.0以前版本就具有的完整段定义格式。例4.1简化段定义的源程序格式.STACK;定义堆栈段.DATA;定义数据段STRINGDB’Hello,Everybody!’,0DH,0AH,’$’;在数据段定义要显示的字符串.CODE;定义代码段.STARTUP;说明程序起始位置,并建立DS、SS内容(注1)MOVDX,OFFSETSTRING;指定字符串在数据段的偏移地址MOVAH,9INT21H;利用DOS功能调用显示信息.EXIT0;

6、程序结束点,返回DOS(注2)END;汇编结束(注3)DATASEGMENTW1DB00H,11H,22H,33H,‘$’W2DW4142H,0A0BHDATAENDSSTACK1SEGMENTDW100HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AX┊CODEENDSENDSTART完整段定义格式4.1.3汇编语言程序的开发过程源程序编辑源程序汇编目标文件链接可执行文件调试.ASM.OBJ.EXE可执行文件MASMLT401A.ASM/MLLT

7、401A.ASMLINKLT401A.OBJDEBUGLT401A.EXE修改源代码正确4.2MASM汇编语言表达式、运算符4.2.1常量、运算符及表达式1.常量(1)数字常量二进制常量,以B结尾八进制常量,以Q结尾十进制常量,以D结尾或省略十六进制常量,以H结尾,如0A8C6H(2)字符串常量用单引号引起来的字符或字符串也代表常数。例如:‘A’;汇编时被翻译成对应的ASCII码41H‘BCDE’;汇编时被翻译成对应的ASCII码42H,43H,;44H,45H(3)符号常量利用一个标识符表达的一个数值。常数若使用有意义的符号名来表示,可以提高程序的可读性,同时

8、更具有通用性。MASM提

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

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

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