- 1、本文档共101页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 IBM_PC机汇编语言程序格式课件
第 6 章 IBM_PC机汇编语言程序格式;第6章 IBM_PC机汇编语言程序格式;
; 在基本汇编的基础上,进一步允许在源程序中把一个指令序列定义为一条宏指令的汇编程序,称为宏汇编MASM。它包含全部ASM功能,还增加了宏指令、结构、记录等高级汇编语言功能。
“文件名”是用户自己定义的名字。首先要用编辑程序EDIT,或行编辑程序EDLIN、全屏幕编辑程序QE或其它可用于文件编辑的应用程序来产生汇编语言的源程序,也可以在Windows状态下的文本文档内编辑源程序,源程序的后缀为.ASM。
源程序就是用汇编语言的语句编写的程序,它是不能被机器所识别,所以要经过汇编程序来翻译,因此汇编程序的作用就是把程序员编写的源程序(亦称为源文件)转换成二进制代码表示的目标文件(称为OBJ文件)。在转换的过程中,汇编程序将对源程序进行二次扫描,如果在源程序中有语法错误,则退出汇编,汇编程序将在屏幕上列出源程序中出现错误的行号及错误的有关信息,此时不能形成目标文件,用户还必须返回到编辑程序对源程序中的错误进行修改,以期最后得到没有语法错误的OBJ文件。
OBJ文件虽然已经是二进制代码的文件,但它还不能直接上机运行,必须经过连接程序(LINK)把目标文件与库文件或其他目标文件连接在一起形成可执行文件(EXE文件),这个文件可以由DOS装入存储器,并在机器上运行。 ;要在计算机上运行汇编语言程序的步骤是:
用编辑程序建立扩展名为.ASM的源文件(MASM默认对.ASM的源文件翻译);
用MASM(或ASM)程序把源文件转换成目标文件(OBJ文件);
用LINK程序把OBJ文件转换成EXE文件;
用DOS命令直接键入文件名就可以执行该程序。
汇编程序的主要功能为:
检查源程序;
测出源程序中的语法错误,并给出相应的出错信息;
产生源程序的目标程序(OBJ),并给出列表文件(同时列出汇编语言和机器语言的文件,称为LST文件)和CRF文件(可任选)。
展开宏指令
如何编写一个规范的汇编语言程序,即一个完整的源程序以及如何为汇编程序提供必要的翻译时所需的信息,这是本章要回答的主要问题。 ; 6.2 汇编语言源程序的格式
为了汇编程序MASM(或ASM)能够正确地把ASM源程序翻译成OBJ目标程序,编写一个规范的汇编语言源程序就显得特别的重要,为此,讨论汇编语言的语句格式及其组成;指令语句的组成及各成分的书写规定;伪指令(指示性语句)的种类,书写格式的规定及其用法;宏指令语句的基本形成和用法;汇编语言源程序的分段结构的书写格式规定等内容就需要格外地关注,我们编写的源程序需要机器翻译(而不是手工翻译),那伪指令几乎和指令系统中常用的指令占有同等重要的位置。
6.2.1 汇编语言语句的类型
为了对语句、伪指令、表达式等一些常用的规定进行说明,这里先举一个完整源程序的例子。
【例6-1】 在数据段中,变量WEEK存储星期一至星期日的英文缩写,DAY单元中用数1~7分别表示星期一到星期日,程序根据DAY的内容显示对应星期几的英文缩写。;汇编语言的源程序为:
DATA SEGMENT
WEEK DB MON, YUE, WED, THU, FRI, SAT, SUN
DAY DB 6
DATA ENDS
;
STAK SEGMENT STACK
DW 30 DUP(?)
STAK ENDS
;
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
GO: MOV AX,DATA
MOV DS,AX
XOR BX,BX
MOV BL,DAY
DEC BL
MOV DL,BL
SHL BL,1
ADD BL, DL
MOV CX,3
MOV AH,2 ;LOP: MOV DL,[BX]
INT 21H
INC BX
LOOP LOP
DONE: MOV AH,4CH
INT 21H
CODE ENDS
END GO
从这个例子可
文档评论(0)