中南大学计算机组成原理与汇编课件a04汇编语言程序格式.pptVIP

中南大学计算机组成原理与汇编课件a04汇编语言程序格式.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文档。上传文档
查看更多
中南大学计算机组成原理与汇编课件a04汇编语言程序格式

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4.3 汇编语言程序格式 4.3.3 操作数项 ⑤ HIGH和LOW 格式:HIGH 常量或地址表达式 LOW 常量或地址表达式 功能:HIGH 用来分离出其后16位常量或地址表达式的偏移量的高字节;LOW用来分离出其后16位常量或地址表达式偏移量的低字节。如: HIGH (1234H+100H),LOW 1234H 它们的选取结果分别为:13H和34H。 * 4.3 汇编语言程序格式 4.3.3 操作数项 运算符的优先级 运算符 优先级 LENGTH、SIZE、( )、[ ]、 1 :(段超越) 2 PTR、OFFSET、SEG、TYPE、THIS 3 HIGH、LOW 4 *、/、MOD、SHL、SHR 5 +、- 6 EQ、NE、LT、LE、GT、GE 7 NOT 8 AND 9 OR、XOR 10 SHORT 11 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例如: BUFFER DB 100 DUP(?) STRING DB 120 DUP(ABCDE), 0 DB 2 DUP (0,2 DUP(1,2),3) DATA1 DW 50 DUP(10H, 20 DUP(1,2,3), 20H) POINTS DD 12, 30 DUP(0) 从上面的例子可看出:用DUP说明内存变量相当于在高级语言中定义数组。 - buffer ? - 100字节 画出存储单元的分配图,计算分配字节数 * 4.2 伪操作 4.2.4 数据定义及存储器分配伪操作 强制属性操作符 PTR 在程序中,我们有时需要对同一个存储单元以不同的属性来访问,或对一些不确定的存储属性需要显式指定等,这时,我们就需要强制属性操作符PTR。该操作符的作用有点象C语言中的类型强制方法。 对于指令:MOV [BX], 1H,其目标操作数[BX]是寄存器间接寻址方式,它指向一个存储单元。在作传送操作时,是把“1H”扩展成8位作字节传送,还是扩展成16位作字传送呢?这就使该指令具有二义性,因为[BX]指向的存储单元可以字节或字的首地址。含有该指令的程序在汇编时,可能会产生警告或出错信息。 * 4.2 伪操作 4.2.4 数据定义及存储器分配伪操作 为了使指令中存储单元操作数具有明确的属性,我们可以使用强制属性操作符PTR。其一般格式为: 数据类型 PTR 地址表达式 其中:数据类型是前面所学的各种数据类型,常用的数据类型有:BYTE、WORD、DWORD、NEAR和FAR等。 为了明确指令中存储单元的属性,可把指令“MOV [BX], 1H”可改写成: MOV? byte ptr [BX], 1H?   或  MOV? word ptr [BX], 1H * 4.2 伪操作 4.2.4 数据定义及存储器分配伪操作 在指令中用操作符PTR强制后,不管其后的地址表达式原数据类型是什么,在本指令中就以PTR前面的类型为准。该强制属性只在本指令有效,是一种临时性的属性,它不会改变原内存单元的定义属性。 例如: W1 DW 1234H, 5678H B1 DB 2 DB 5 D1 DD … * 4.2 伪操作 4.2.4 数据定义及存储器分配伪操作 MOV AX, word ptr b1 ;把B1开始的二个字节拼接成一个字,执行后,(AX)=0502H MOV BH, byte ptr w1?;把字W1的低字节传送给BH,执行后,(BH)=34H MOV CH, byte ptr w1+1;把字W1的高字节传送给CH,执行后,(CH)=12H MOV word ptr d1, 12H?;把双字D1的低字修改成0012H,执行后,(D1) 上面指令中的强制属性是临时属性,它不能改变这些变量在定义时的永久属性。 * OPER1 DB ?, ? OPER2 DW ?, ? …… MOV OPER1, 0 ;字节指令 MOV OPER2, 0 ;字指令 OPER1 DB 1, 2 OPER2 DW 1234H, 5678H …… MOV AX, OPER1+1 × MOV AL, OPER2 × 类型不匹配 M

文档评论(0)

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

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

1亿VIP精品文档

相关文档