- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个完整的汇编源程序中可以定义多个段,但同时起作用的最多只有4个。每一个段都是由伪指令SEGMENT开始,由ENDS结束,SEGMENT和ENDS必须成对出现,并且在SEGMENT和ENDS的前面都必须有同一个段名;SEGMENT和ENDS语句之间可以的省略号部分,对于代码段来说,主要是指令,也可以有伪指令;对于数据段、附加段和堆栈段来说,一般是存储单元的定义、分配等伪操作。 §4.4.2 段寻址伪指令 定义段与段寄存器的关系,这可用ASSUME这个段寻址伪指令来实现,其格式如下: ASSUME 段寄存器名:段名[,段寄存器:段名,……] 其中段寄存器名为CS、DS、ES、SS中的一个;段名则必须是由SEGMENT定义过的段名;段寄存器名和段名之间必须有冒号“:”。 ASSUME伪操作的作用指示汇编程序指令中用到的标号、过程及变量所在的段。在代码段中,可以随时用ASSUME伪指令修改“段寄存器名:段名”的联系。 2.SS的装入 装入的办法有两个: (1)在段定义伪指令的组合类型中选择“STACK”参数,且在段寻址伪指令(ASSUME)中,把堆栈用的这一个段指派给段寄存器SS。 (2)可用类似DS,ES的装入办法。 §4.4.3 段寄存器的装入 1.DS和ES的装入 在程序中,引用段名就是以立即数形式获取该段的段基址,所以一个段的段基址要经过通用寄存器传送给DS,ES。 用DS、ES的装入的办法,那么为装入CS、IP的新值需要执行几条指令。 对CS、IP的装入通常是:按照END结束伪指令指定的地址装入CS、IP。任何一个源程序都是以END伪指令来结束。 格式:END 起始地址 起始地址可以是一个标号或表达式;END伪指令的作用是指示源程序到此结束和指定程序运行时的起始地址。 3.CS的装入 ?1.等值语句 格式:符号 EQU 表达式 其中EQU是等值伪指令,把表达式的值或符号赋给EQU左边的符号,表达式可以是: 常量表达式 地址表达式 变量、标号或指令助记符 §4.5 其它常用伪指令 §4.5.1 符号定义语句 ① 等值语句仅在汇编源程序时,作为替代符号用,不产生任何的目标代码,也不占有存储单元。 ② 在同一源程序中,同一符号在EQU语句未解除之前不能用EQU伪指令重新定义。 ③ 已经用EQU定义的符号,若以后不再用了就可以用PURGE语句来解除。PURGE语句的格式如下: PURGE 符号1,符号2,……,符号n 注意事项: 2、等号语句 格式:符号=表达式 此语句的功能与EQU等值语句类似,其最大的特点是能对符号进行重定义。 §4.5.2 程序开始和结束伪指令 1.开始伪指令 NAME的格式:NAME module_name 汇编程序将以给出的module_name作为模块的名字。如果程序中没有NAME伪指令,则可使用TITLE伪指令,其格式:TITLE text 2.程序结束伪指令 表示源程序结束的伪指令的格式: END [起始标号] §4.5.3 定位伪指令(ORG)和当前位置计数器($) 符号“$”代表当前位置计数器的现行值。 定位伪指令的ORG的格式:ORG 表达式 它表示把表达式的值赋给当前位置计数器:ORG语句后的指令或数据以表达式给定的值作起始偏移量。 在程序设计中,通常把具有一定功能的程序段设计成一个子程序。过程定义伪指令格式如下: 过程名 PROC (NEAR/FAR) …… RET …… 过程名 ENDP §4.5.4 过程定义伪指令 过程名不能省,且过程的开始PROC和结束ENDP应使用同一个过程名;它就是过程调用指令CALL的目标操作数。它类同于标号的的作用,同样具有三个属性。当没有定义它的距离属性,隐含为NEAR。 任何一个过程,一定含有返回指令RET,它可以在过程中任何位置,不一定非要放在最后。若一个过程有多个出口,它可能有多个返回指令。但一个过程执行的最后一条指令必定是RET。 §4.6 汇编语言上机调试 1.编辑 调用编辑程序EDIT.EXE,WS.EXE等,用键盘敲入源程序,退出编辑系统时,保存编辑完成的文件,且扩展名为.ASM。 2.汇编 汇编就是用宏汇编程序MASM.EXE把汇编语言源程序翻译(汇编)成机器语言的目标程序。宏汇编程序主要有以下功能: 检查源程序中语法错误,给出错误信息; 展开宏指令; 生目标程序(.OBJ),列表文件(.LST)和交叉引用文件(.CRF)。
您可能关注的文档
最近下载
- 人教版(2024)七年级上册生物全册集体备课教案 .pdf
- YYT 1789.4-2022 体外诊断检验系统 性能评价方法 第4部分:线性区间与可报告区间.docx VIP
- 江西省临川第一中学2024-2025学年高一上学期开学考试历史试题(解析版).docx VIP
- 2023年汕头市投资控股集团有限公司人员招聘考试题库含答案解析.docx VIP
- 一种凝汽式汽轮机低压缸效率的在线计算方法.pdf VIP
- 口腔名词解释、大题.pdf VIP
- 《革命烈士诗抄》阅读试题及答案.docx VIP
- 招标代理投标文件.doc VIP
- 2022年汕头市投资控股集团有限公司校园招聘考试笔试试题及答案解析.docx VIP
- 2024年四川宜宾初中学业水平考试数学试卷真题(含答案详解).doc VIP
文档评论(0)