- 1、本文档共163页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.减法指令 (1)SUB不带借位的减法指令 指令格式:SUB 目的,源 指令功能:目的-源→目的 (2)SBB带借位的减法指令 指令格式:SBB 目的,源 指令功能:目的-源-CF→目的 ★ ①源操作数:寄存器、存储器、立即数 目的操作数:寄存器、存储器; ②目的与源数据类型要一致; ③目的与源不能同时为存储器; SUB AL,18H;AL-18H→AL SUB [DI],AL;AL-[DS:DI]→DS:DI单元 SBB CL,BL ;CL-BL-CF→CL SUB AX,BL × SBB [2000H],BYTE PTR[SI] × ※减法指令影响标志位:CF,OF,PF,SF,ZF,AF (3)DEC增量指令 指令格式:DEC 目的 指令功能:目的-1→目的 注意:指令执行后影响AF,OF,PF,SF和ZF, 但不影响CF。 DEC AL 假设指令执行前AL=00H,则指令执行后CF不影响 例3-50 DEC BL ;BL-1→BL DEC AX;AX-1→AX DEC BYTE PTR[BX];内存字节内容减1 DEC WORD BYTE[BX] ;[DS:BX]字-1→[DS:BX]字 (4)NEG取负指令(求补指令) 指令格式:NEG 目的 指令功能:0-目的→目的 (实际作用:求一个负数的补码形式。我们前面讲过,一个负数的补码=反码+1,指令NEG的功能就相当于反码+1;) 例3-51 求-5的8位二进制数表示(即求其补码) 解:①按照补码定义求:补码=反码+1 先求反码,即求5的反码,而5=0000 0101B,所以5的反码=1111 1010B,所以-5的补码=1111 1010+1=1111 1011B,也就是说而把1111 1011B当成是一个8位有符号数,就代表-5。 ②利用NEG指令求-5的补码: MOV AL,5 NEG AL;指令执行后AL=1111 1011B 即就是-5的补码。 (5)CMP比较指令 指令格式:CMP 目的,源 指令功能:将目的操作数减去源操作数,但结果不送回到目的操作数中,仅将结果反映在标志位上,接着可用条件转移指令决定程序的流向。指令执行后,若ZF=1,表示两操作数相等;若ZF=0,表示比较的两操作数不相等,不相等分两种情况: ①两个无符号数的比较: 无符号数相减后,CF就是借位标志, 如果CF=0,表示无借位,即目的≥源; 如果CF=1,表示有借位,即目的源; ②两个有符号数的比较 有符号数最高位表示符号位,而符号标志总是和结果的最高位相同。 ⑴当两个同符号数比较时,(即OF=0为什么?),可以用SF来判断这两个数的大小。 若SF=0,表示目的≥源; OF SF=0 若SF=1,表示目的源; OF SF=1 下面看个例子来说明: 例如,比较+3和+5的大小,利用+3-(+5) 由于结果-2没有超过-128~+127的范围(8位)所以OF=0;再看指令执行后SF=1,所以目的源,即+3+5; 再如,比较-1和-2的大小,利用-1-(-2) 由于结果+1没有超过-128~+127的范围(8位)所以OF=0;再看指令执行后SF=0,所以目的源,即-1-2; 下面我们再看看两个不同符号的数的比较 例如比较+127和-50的大小,利用+127-(-50) 如果这时我们还根据SF=1,表示目的源;即+127 -50,显然是不正确的。为什么会出现这种情况呢,原因是+127-(-50)=+177,结果超出了-128~+127的范围(8位),产生了溢出错误,即这时OF=1。 ⑵当两个不同符号数比较时, 第一种情况:OF=0,这时, 若SF=0,表示目的≥源; OF SF=0 若SF=1,表示目的源; OF SF=1 第二种情况:OF=1,这时, 若SF=1,表示目的≥源; OF SF=0 若SF=0,表示目的源; OF SF=1 针对⑴、⑵两种情况,得到以下结论: 利用CMP指令来比较两个有符号数的大小时,若 ① OF SF=0,则表示目的≥源; ② OF SF=1,则表示目的源; (6)AAS减法的ASCII调整指令 指令格式:AAS 指令功能:在用SUB或SBB指令对两个非压缩十进制数或ASCII码表
您可能关注的文档
最近下载
- 地铁物业管理培训课件.pptx
- 工程数学(本)形成性考核作业4.doc
- GB T 34520.7-2017 连续碳化硅纤维测试方法 第7部分:高温强度保留率 标准.pdf
- 自编教材审核表(模板).pdf
- 一例慢性阻塞性肺疾病急性加重期合并II型呼吸衰竭患者的个案护理PPT.pptx
- [大庆]黑龙江大庆市民政局所属事业单位选调事业编制工作人员笔试上岸试题历年高频考点难、易错点附带答案详解.docx VIP
- ISO9001 14001 ISO45001检查表审核方法全套.docx VIP
- 增光膜规格说明书.pdf
- 人教版数学四年级第一单元教材解读及集体备课课件.pptx VIP
- 2024 离婚协议书 离婚协议(打印版).docx
文档评论(0)