第4章 汇编语言及汇编程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章汇编语言及汇编程序设计要点

DATA SEGMENT X DW 800FH Y DW 04925H Z DW 0146H RESULT DD ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START : MOV AX,DATA MOV DS,AX MOV AX,X ;取X ADD AX,Y ;(AX)=X+Y? MOV BX,5 MUL BX ; (DX:AX)=(X+Y)*5 SUB AX,Z ;(DX:AX)=(X+Y)*5-Z SBB DX,0 DIV Z ;求结果 MOV WORD PTR RESULT,AX ;存结果 MOV WORD PTR RESULT+2,DX MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START 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 SHR 4 ;将二进制移四次后送BL …… CODE ENDS 2.逻辑运算符 逻辑运算符对其操作数进行按位操作。逻辑运算只能用于数字表达式中。 逻辑运算符有:AND(与)、OR(或)、XOR(异或)和NOT(非)。 例:MOV AL,0F0H AND 88H ;汇编成 MOV AL,80H MOV DH,0F0H OR 88H ;汇编成 MOV DH,0F8H AND BL,0F0H XOR 0AH ;汇编成 AND BL,0F

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档