- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序格式 程序运行步骤及生成的文件 4.1 汇编语言程序设计概述 4.1.1 汇编语言程序的结构 一个汇编语言源程序至少有一个代码段,可能有一个或多个数据段、堆栈段。 每个段在程序中的顺序没有先后,段的数目也不受限制,但每个段必须有段名。 4.1.2 汇编语言语句种类与格式 1 汇编语言语句的种类及格式汇编语言源程序可以使用如下三类语句: 1.指令性语句:指令系统所提供的指令,对应着计算机的基本操作,汇编后生成目标代码(二进制代码) 2.伪指令语句:伪指令语句告诉汇编程序如何进行汇编工作,汇编后无目标代码 3.宏指令语句:实质上不是一类语句,而是一段程序 4.1.2 汇编语言语句的种类及格式 由于宏指令实质上不是一类语句,故我们主要分析指令性语句和伪指令语句的格式。 指令性语句的格式为: [标号:] 指令助记符 [操作数 [,操作数]][;注释] 伪指令语句的格式为: [名字] 伪指令定义符 [参数,…,参数][;注释] 2.汇编语句中的基本元素 操作项、操作数项 、注释项 4.1.3 汇编语言的数据与表达式 数据是汇编语言中操作数的基本组成成分,汇编语言能识别的数据有常量、变量和标号。 (1)常量 常量是指在汇编过程中已经有确定数值的量,程序运行过程中不改变。它主要用作指令语句中的立即操作数、变址寻址和基址变址寻址中的偏移量或在伪指令语句中用于给变量赋初值。 常量可以分为数值常量、字符串常量和符号常量。 (2)变量 变量代表内存中的数据区,一般在数据段或附加段中使用数据定义伪指令DB、DW等来定义。 经过定义的变量具有以下3个属性: ① 段属性(SEGMENT):定义变量所在段的段地址。 ② 偏移属性(OFFSET):定义变量在所在段中的偏移地址。 ③ 类型属性(TYPE):定义变量所代表的数据区内每个数据所占存储单元的字节数。 (3)标号 标号是某条指令所在存储单元的符号地址。它指示指令在汇编语言程序中的位置。 标号和变量相似,也有三个属性: ① 段属性:定义标号所在段的段地址。 ② 偏移属性:定义标号在所在段中的偏移地址。 ③ 类型属性:也称距离,可以是NEAR(近距离)和FAR(远距离)。 2、 表达式与运算符 表达式操作符 地址表达式举例 合法的地址表达式: 符号地址1+或-常数 符号地址2 符号地址1-符号地址2 立即数 (2)逻辑和移位操作符 (2)逻辑和移位操作符 (3)关系操作符 关系操作符: EQ、NE、LT、LE、GT、GE 关系操作符的两个操作数必须都是数字或是同一段内的两个存储器地址。 计算结果为逻辑值:真 0FFFFH 假 0000H MOV AX,5 LT 6;MOV AX,0FFFFH MOV AX,5 GT 6;MOV AX,0000H 关系操作符举例1 MOV FID, (OFFSET Y - OFFSET X) LE 128 若 ?128 (真) 汇编结果: MOV FID, -1 若 ?128 (假) 汇编结果: MOV FID, 0 关系操作符举例2 例如: MOV BX,((PORT_VAL LT 5) AND 20) OR ((PORT_VAL GE 5) AND 30) 则当PORT_VAL 5时,汇编结果应该是: MOV BX, 20 否则,汇编结果应该是: MOV BX, 30 (4) 数值回送操作符: (4)数值回送操作符 (4)数值回送操作符 (5) 属性操作符 (5) 属性操作符 (5) 属性操作符 (5) 属性操作符 有时指令要求使用PTR操作符。例如用 MOV [BX], 5 ;× 指令把立即数存入BX寄存器内容指定的存储单元中,但汇编程序不能分清是存入字单元还是字节单元,此时必须用PTR操作符来说明属性,应该写明: MOV BYTE PTR [BX],5 或 MOV WORD PTR [BX],5 (5) 属性操作符 (5) 属性操作符 (5) 属性操作符 HIGH和LOW 称为字节分离操作符,它接收一个数或地址表达式,HIGH取其高位字节,LOW取其低位字节。 例如: CONST EQU 0ABCDH 则 MOV AH, HIGH CONST 将汇编成 MOV AH, 0ABH 指令 MOV AH, LOW CONST 将汇编成 MOV AH, 0CDH 4.2 伪 指 令 4.
您可能关注的文档
- 《第2章牛顿力学.ppt
- 《第2章现代餐饮管理导论.ppt
- 《第2章电器控制线路的基本环节.ppt
- 《第2章界面设计基础.ppt
- 《第2章电气控制基本电路习题.ppt
- 《第2章电路交换技术一.ppt
- 《第2章程序编制中的工艺分析处理1.ppt
- 《第2章第一个LabVIEW例子.ppt
- 《第2章简单程序设计之一.ppt
- 《第2章线性表.ppt
- [专精特新]金华永和氟化工有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]重庆升光电力印务有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]无锡巨力重工股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西凯安新材料集团股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江永昌电气股份有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]苏州中创铝业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]杭州汽轮铸锻有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]浙江美声智能系统有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]汕头市虹桥包装实业有限公司行业竞争力评级分析报告(2023版).pdf
- [专精特新]江西亚中电子科技股份有限公司行业竞争力评级分析报告(2023版).pdf
文档评论(0)