【微机原理与接口技术】汇编语言程序的上机过程.pptVIP

【微机原理与接口技术】汇编语言程序的上机过程.ppt

  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文档。上传文档
查看更多
汇编语言程序可划分为许多模块,对每个模块独立地进行汇编及调试(见下图),一般从低层到高层逐步进行。 6.2.8 程序模块定义伪指令(NAME/END、PUBLIC/EXTRN) PUBLIC 二级子模块1 PUBLIC 二级子模块2 PUBLIC PUBLIC 二级子模块n-1 二级子模块n … PUBLIC PUBLIC PUBLIC 一级子模块1 EXTRN 一级子模块2 EXTRN 一级子模块m EXTRN … 主模块 EXTRN 主模块 EXTRN PUBLIC 二级子模块1 PUBLIC 二级子模块2 PUBLIC PUBLIC 二级子模块n-1 二级子模块n … PUBLIC PUBLIC PUBLIC 一级子模块1 EXTRN 一级子模块2 EXTRN 一级子模块m EXTRN … 汇编语言程序的模块结构 1. NAME和END伪指令 功能:定义一个模块,作为一个独立的汇编单位,NAME缺省时模块若使用了TITLE语句,则TITLE语句中前6个字符为模块名,否则源文件名将作为模块名。 格式:NAME 模块名 END 标号 … 注:一个模块是一个独立的汇编单位,汇编处理只进行到模块结束语句END为止。 注:符号必须用“ ,”分开,且均在本模块中定义过。 注: 2. PUBLIC伪指令 格式:PUBLIC [符号表] 功能:用来说明该模块中被定义的那些常量、变量和标号(含过程名)可以被其他模块所引用。 如:PUBLIC ABC,BCD,CDE 3. EXTRN伪指令 格式:EXTRN [符号:类型,…] 功能:指出本模块中需要引用但却在其他模块中定义并说明为PUBLIC属性的符号(含常量,变量,标号和过程)。 被引用符号的类型说明:BYTE、WORD、DWORD、NEAR、FAR、ABS(符号常量)。 如:EXTRN ABC:WORD,BCD:ABS,CDE: NEAR 6.3 汇编语言属性操作符 1. 分析操作符(数值返回操作符) 6.3.1 分析操作符(SEG、OFFSET、TYPE、LENGTH、SIZE) 返回的是变量或标号的段地址,偏移地址及类型的属性值。 格式:分析运算符 变量或标号 其运算的结果为一常数 (1) SEG——取段址算符 (2) OFFSET——取偏移地址算符 功能:分离出该变量或标号的段址 如:MOV AX, SEG BUF 功能:分离出该变量或标号的偏移地址 如:MOV SI, OFFSET BUF (3) TYPE——取类型算符 (4) LENGTH——取变量所含存储单元的个数 功能:分离出该变量所含存储单元的个数。 功能:分离出该变量或标号的类型的字节数。 ? 变量类型为BYTE、WORD和DWORD时,返回的值分别为1、2和4; ? 标号类型为NEAR或FAR时,则返回-1或-2。 注意:在定义该变量时,数据定义伪指令后面的第一个表达式的形式为“n DUP(表达式)”时,取值为n,否则为1。 如: BUF1 DB 100 DUP(0) BUF2 DW 10, 5 DUP(2) BUF3 DD 5 DUP(1,2 DUP(0)) 则 LENGTH BUF1=100,LENGTH BUF2=1 LENGTH BUF3=5。 (5) SIZE——取变量所含存储区的总字节数。 功能: SIZE=LNGTH*TYPE SIZE BUF1=100(因为TYPE BUF1=1) SIZE BUF2=2(因为TYPE BUF2=2) SIZE BUF3=20(因为TYPE BUF3=4) 格式: 类型 PTR 表达式 类型: 表达式:是变量、标号或数值 ? 变量的类型有:BYTE、WORD和DWORD; ? 标号的类型有:NEAR和FAR; ? 结构名称 6.3.2 属性修改操作符(PTR、THIS、SHORT) 1. PTR操作符 PTR操作符用于暂时修改变量或标号的原有属性。 功能:PTR把它左边的属性指派给它右边的变量、标号或数值,使之产生一个新的存储器地址操作数。 如:(1) INC BYTE PTR [BX] (2) ADD DX, WORD PTR FOOB[20] ? 新存储器操作数的段地址和段内偏移量与PTR运算符右边的操

文档评论(0)

精品资料 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档