微型计算机原理及应用第四章汇编语言2.pptVIP

微型计算机原理及应用第四章汇编语言2.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文档。上传文档
查看更多
* * 4.3 表达式及运算符 在汇编语言中指令的操作数可以是常数、寄存器、变量、标号,还可以是表达式。 表达式的组成: 运算对象:常量、变量、标号; 运算符:算术运算符、逻辑运算符、关系运算符、 分析运算符和属性运算符共5种。 表达式的运算: 表达式的运算和运算指令不同,它是由汇编程序汇编时完成,运算所得结果再作为语句操作数使用。 第四章 汇编语言及汇编程序设计 汇编程序在汇编过程中计算表达式,最终得到一个数值; 程序运行之前,就已经计算出了表达式的值;所以,程序运行速度没有变慢,但增强程序的可读性。 4.3.1常数、变量和标号 4.3.1.1 常数 常数:是在汇编时已经确定的常数值,常数可以是“数值常数”和“字符常数”。 1.数值型常数 -0.31E+4 由整数、小数和指数组成(浮点表示) 以十进制形式给出 实数 732Q 由0 ~7数字组成,以字母Q(q)结尾) 八进制 64H,0FFH 0B800H 由0 ~ 9、A ~ F数字组成,以字母H(h)结尾,以字母开头的常数需要加一个前导0 十六进制 由0和1两个数字组成,以字母B(b)结尾 二进制 100,255D 由0 ~ 9数字组成, 以字母D(d)结尾(缺省情况可以省略) 十进制 2. 字符常数 字符常数是用单引号或双引号括起来的单个字符或多个字符,其数值是每个字符对应的ASCII码值。 第四章 汇编语言及汇编程序设计 4.3.1.2 变量 变量常以变量名的形式出现在程序中,可以看作是存放数据的存储单元的符号地址,它用来定义存储器中的数据。 变量具有三种属性: ①??? 段属性:变量所在逻辑段的段地址; ②??? 偏移地址属性:变量所在段的段内偏移地址; ③??? 类型属性:变量占用存储单元的字节数: BYTE—字节型; WORD—字型; DWORD—双字型,四字节; QWORD——四字型,八字节 ; TBYTE——五字型,十字节。 变量的类型属性是由定义变量的伪指令DB、DW、DD、DQ、DT确定。 注意:变量实质上是指内存单元的数据,虽然内存单元地 址不变,但其中存放的数据可以改变; 变量需要事先定义才能使用; 定义后的变量可以利用变量名等方法引用其中的 数据,即变量的数值。 第四章 汇编语言及汇编程序设计 4.3.1.3 标号 标号——是给指令性语句所在单元地址取的名字,它表明该指令在存储器中的位置——符号地址,可作为转移类指令的操作数。 它也有三种属性: ① 段属性:标号(指令代码)所在段的段地址; ②?偏移地址属性:标号(指令代码)所在段的段内偏移地址; ③ 距离属性(也称类型属性): NEAR:近标号,表示该标号在段内使用; FAR: 远标号,表示该标号在段间使用。 第四章 汇编语言及汇编程序设计 4.3.2 表达式及运算符 1.算术运算符 算术运算符有: +(加)、-(减)、*(乘)、/(除)、MOD(模除)、SHL(左移)、SHR(右移)共7种。 注意点:除(/)只取商,模除(MOD)只取余,SHL一次相当于*2,SHR一次相当于/2。 例如:mov ax,3*4+5 ;等价于 mov ax,17 19 mod 7 = 5 ;其中MOD也称为取模或取余,它产生 除法之后的余数。 移位运算符实现对数值的左移、右移的逻辑操作;移入低位或高位的是0。 格式为:数值表达式 SHL/SHR 移位次数 例如:mov al,0101b SHL (2*2);等价于 mov al 第四章 汇编语言及汇编程序设计 以上七种运算可直接对数字进行运算,但对地址的运算,只用加法和减法才具有实际意义,并且要求进行加、减的两个地址应在同一段内,否则运算结果便不是一个有效地址了。 例:这是一个程序的片段,分析算术运算符的使用。 DATA SEGMENT BUFFER DB 2,3,5,7,4 DATA ENDS CODE SEGMENT …… MOV AL,BUFFER+3 ;将BUFFER字节单元以后的第三单元的内容送AL ADD AL,3*2-5 MOD 3 ;将表达式3*2-5 MOD 3的值和AL的内容相加送AL MOV BL,01010

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档