- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 汇编语言程序 设计基础 汇编程序的功能: 1. 用编辑程序产生汇编语言的源程序,扩展名为ASM的源文件; 2. 源文件是用汇编语言的语句编写的程序,它不能被机器识别,所以,需要经过汇编程序加以翻译; 因此,汇编程序的作用,将源程序转换成用二进制代码表示的目标文件,OBJ文件。 3. OBJ文件已经是二进制文件, 但它不能在机器上直接运行,其必须经过连接程序 LINK 把目标文件与库文件或其它目标文件连接在一起,才能形成可执行的EXE文件。 EXE文件,可由DOS装入存储器,并在机器上运行。 因此, 在机器上运行汇编语言程序的步骤如下: 1. 用编辑程序建立 ASM 源程序; 2. 用ASM程序将ASM文件,转换成OBJ文件; 3. 用LINK程序,将OBJ文件转换成EXE文件; 4. 用DOS命令,直接键入文件名,即可执行该程序。 IBM PC机有两个汇编程序: 小汇编程序ASM 、宏汇编程序MASM 汇编程序的主要功能: 1. 检查源程序; 2. 测出源程序中的语法错误,并给出出错信息; 3. 产生源程序的目标程序,并可给出列表文件(同时列出汇编语言和机器语言的文件,称为LST文件); 4. 展开宏指令。 一、汇编语言的语句格式 一、汇编语言的语句分类 汇编语言的语句分为三类: 汇编指令语句、 宏指令语句、 伪指令语句。 汇编指令: 用助记符表示的机器指令; 宏指令语句: 用一条自定义指令取代的一组汇编指令; 伪指令: 指示性语句,它作用是向汇编程序提供汇编过程要求的一些辅助信息。 二、汇编语言的语句格式 汇编语言的三种语句可以用以下格式统一表示: 教材: P55 图 所示 图中,每个语句由4个项组成,其中,方括号括起来的项,是可选项。 汇编指令、宏指令、伪指令格式如图: 教材:P55 P56 1. 名字项 通常使用 字母、数值、特殊字符来表示名字。 名字项一般为 标号 或者 变量。 都是表示本语句的符号地址。 标号: 指出某条指令所存放的内存单元的符号地址; 变量: 某操作数所存放单元的符号地址。 * 标号: 只在代码段中定义,后面紧跟冒号: 其,共有三种属性: 段属性: 定义标号的段起始地址,总是在CS中; 偏移属性: 表明从段起始地址到定义标号的位置之间的字节数,其EA总在IP中; 类型属性: 指出该标号是在本段中引用,还是其它段中引用。 段内应用: NEAR PTR 段间引用: FAR PTR 例如: JMP DATA1 JMP NEAR PTR DATA1 JMP FAR PTR DATA1 * 变量: 其在除代码段外的其它段中定义。 变量也有三种属性: 断属性: 一般在DS中,也可在ES,SS中 偏移属性 类型属性,定义该变量保留的字节数; BYTE WORD DWORD DQ DT 2. 操作码项 操作码可为如下三种: 指令、伪指令、宏指令 指令: 汇编程序将其翻译成机器语言 伪指令: 根据语句要求的功能进行处理 宏指令: 根据宏指令定义展开,并翻译成机器语言 3.操作数项 由一个或多个操作数组成,它们之间用“,”分开。 操作数项分为两类: 常数、表达式 1.常数 * 数字常数 如: 0064H * 字符串常数 如: ‘ok’ * 符号常数 如:MOV AX,BBC 2.表达式 * 算术运算符 如:MOV AX,(E+4)+2 * 逻辑运算符 如:MOV AX,0A3H AND 0FEH * 分析操作符 ** OFFSET 回送变量/标号的偏移地址 如: MOV AX,OFFSET COUNT ** SEG 回送变量/标号的段地址 如: MOV DS,SEG COUNT * 属性操作符 一共有三种属性操作符 ** PTR 格式: TYPE PTR expression 其TYPE(类型)可为: BYTE,WORD,DWORD, FAR,NEAR 几种类型; 作用: PTR定义后,将表达式按照PTR前的类型来看待。 例如: MOV [BX],5 ,设(BX)=0100H 此条指令没说明是在内存中存入字节还是字。 因此,
文档评论(0)