方式伪指令.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
方式伪指令.ppt

第6章 第6章 6.1.5 伪指令 方式伪指令 .8086 .386 赋值伪指令EQU 表达式名称 EQU 表达式 新标号 EQU 老标号 例如:ABC EQU 2000H XYZ EQU [BP+5] AAD EQU PAR_3 COUNT EQU CX 用PURGE可以撤销对原先的赋值 PURGE XYZ 第6章 6.1.5 伪指令 定义变量伪指令 DB、DW、DD、DF、DQ、DT 定义存储单元类型的伪指令 BYTE、WORD、DWORD 此指令要和其他指令结合起来使用 LABEL 用于定义标号名称和属性,它和下一条指令共享存储器单元 格式:名字 LABEL 类型 例如:BYTE-ARRAY LABEL BYTE WORD-ARRAY DW 100 DUP(?) 两种访问方式:MOV WORD-ARRAY,0 MOV BYTE-ARRAY,0 第6章 6.1.5 伪指令 SEG和OFFSET SEG返回存储器地址操作数的段地址 OFFSET返回存储器地址操作数的段内偏移地址部分 第6章 6.1.5 伪指令 TYPE、SIZE、LENGTH 见表6.3 段定义伪指令 SEGMENT/ENDS伪指令 成对使用,说明段的名称和范围,还可指明段的定位类型、组合类型、分类名 第6章 6.1.5 伪指令 注意:当定义除代码段以外其他段时,段内不能包括指令语句 段名:所定义段名称,前后要一致,要有一定的意义 定位类型:给出实际段起点类型 有PAGE、PARA、WORD、BYTE四种 PAGE表示相应段必须从某一页的边界开始,即段的起始地址能为256整除 PAGE=XXXX XXXX XXXX 0000 0000B 第6章 6.1.5 伪指令 PARA表示相应段必须从某一个节(等于16个字节)的边界开始,即段的起始地址能为16整除 PARA=XXXX XXXX XXXX XXXX 0000B WORD表示相应段必须从任一个字的边界开始,即段的起始地址能为2整除 WORD=XXXX XXXX XXXX XXXX XXX0B BYTE表示相应段可以从任一地址开始 BYTE=XXXX XXXX XXXX XXXX XXXXB PAGE和PARA类型其段内的偏移地址都是从0开始的 第6章 6.1.5 伪指令 组合类型:在多模块程序设计中表示该段和其他同名段间的组合连接方法,默认下不与别的段连接 PUBLIC:在满足定位类型的前提下与其他同名段连接,连接的顺序有连接程序确定 COMMON:表示该段与别的模块中的所有其他同名同类别段共享相同的存储空间 AT 表达式:表示相应段定位在由表达式求值得到的节边界地址上 STACK:与PUBLIC组合类型处理方式相同 MEMORY:表示连接时,本段应装在被连接的其它段之上,即同名段中具有最高的地址 第6章 6.1.5 伪指令 类名:是程序员任选的一个字符串,使用时必须用单引号括起来,连接时将把不同模块中的相同类名的各段在物理地址上相邻的连接在一起,其顺序则与LINK时提供的各模块相同 ORG伪指令 功能:用来规定目标程序存放单元的偏移量 格式:ORG 表达式 说明:表达式以65536为模,结果非负,可以是标识符,语句不能有标号 第6章 6.1.5 伪指令 ASSUME伪指令 功能:用来告诉汇编程序在指令执行期间内存的哪一段是数据段,哪一段是堆栈段,哪一段是代码段 格式:ASSUME 段寄存器名:段名符[,段寄存器名:段名符,…] 例如:ASSUME CS:MYCODE,DS:MYDATA ASSUME ES:MYEXTRA,SS:MYSTACK 注意:ASSUME语句只能安排在代码段内,一般应在代码段作为首始指令。允许多次使用该语句重新约定段寄存器与段的关系。除CS外,各个段寄存器的实际值,还要用MOV赋值 第6章 6.1.5 伪指令 第6章 6.1.5 伪指令 过程定义伪指令PROC、ENDP、NEAR、FAR 过程的含义与子程序相同,最后一跳语句总是返回指令 PROC/ENDP总是成对出现 NEAR可以省略,默认为NEAR P173例题 例题 第6章 6.1.5 伪指令 定义结构的伪指令STRUC/ENDS 格式:结构名称 STRUC (由DB、DW、DD伪指令组成的语句序列) 结构名称 ENDS 第6章 6.1.5 伪指令 结构的存储分配和预置 格式:变量 结构名称

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档