车向泉-微机原理及接口技术-chap03-02.pptxVIP

车向泉-微机原理及接口技术-chap03-02.pptx

  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文档。上传文档
查看更多
微机原理及接口技术第3章 Intel处理器指令系统及汇编语言五、条件处理本节要点布尔和比较指令条件跳转条件循环指令条件结构(一)简介在汇编语言中如何写一条 IF 语句?编译器是如何将嵌套的 IF 语句翻译成机器语言的?如何设置和清除二进制数字中的单个位?如何对数据进行简单的二进制加密?如何通知计算机正在比较的是有符号数字还是无符号数字?(二)布尔和比较指令 1. AND 指令功能:在操作数的对应数据位之间执行布尔(位)“与”操作,并将结果保存在目的操作数中。格式:AND 目的操作数,源操作数允许的操作数形式: AND reg,reg AND reg,mem AND mem,reg AND reg,imm AND mem,imm两个操作数可以是8、16 或 32位的,但它们的尺寸必须相同。(二)布尔和比较指令 1. AND 指令影响的标志位:总是清除 OF 和 CF;根据结果修改 SF、ZF、PF。主要用途:对特定的位清“0”,同时保留其它的位。例:mov aland al00111011AND0000111100001011被清除保持不变(二)布尔和比较指令 1. AND 指令大写字母与小写字母的 ASCII 码之间的关系:a:61h,:41h,:将字符转换位大写形式:.dataarray BYTE 50 DUP(?).code mov ecx,LENGTHOF array mov esi,OFFSET arrayL1: and byte ptr [esi] inc esi loop L1(二)布尔和比较指令 2. OR 指令功能:按位取“或”。格式:与 AND 指令相同。主要用途:对特定的位置“1”,并保留其它位。例:mov alor al00111011OR0000111100111111保持不变被置“1”(二)布尔和比较指令 2. OR 指令【例】将0到9之间的整数转换成对应的ASCII码数字。方法:将位4和位5设置为1。 mov dl,5 ; 二进制值 or dl,30h ; 转换到 ASCII 码0000010105hOR0011000030h35h,500110101(二)布尔和比较指令 3. XOR 指令功能:按位取“异或”。格式:与 AND 及 OR 指令相同。XOR指令的用途:对某些位取反,同时不影响其它的位。判断16位或32位值的奇偶性。mov ax,64C1h ; 0110 0100 1100 0001xor ah,al ; PE,奇偶标志被设置简单数据加密。将某个操作数与同样的操作数执行两次异或运算后,其值保持不变。(二)布尔和比较指令 4. NOT 指令功能:将操作数所有数据位取反,结果为反码。格式:NOT regNOT mem例:mov alnot al; AL =NOT指令不影响任何状态标志。(二)布尔和比较指令 5. TEST 指令功能:两操作数按位“与”,根据结果设置标志位,但不回送结果(不修改目的操作数)。格式:与 AND 指令相同。用途:测试操作数的某一位是“0”还是“1”。例子:测试多个位想知道AL中第0位、第3位是否同时为“0”。test al ;test bits 0 and 3判断ZF是否等于1影响的标志:清除 OF、CF;修改 SF、ZF、PF。(二)布尔和比较指令 6. CMP 指令格式:与 AND 指令相同。cmp 目的操作数,源操作数功能:与减法指令一样执行减法操作,即 目的操作数-源操作数, 但不回送结果,只影响标志位。影响的标志:根据相减结果修改 OF、SF、ZF、CF、AF、PF。无符号操作数的比较:CMP的结果ZFCF目的<源01目的>源00目的=源10(二)布尔和比较指令 6. CMP 指令有符号操作数的比较:OFSF00结果为正01结果为负10下溢11上溢CMP的结果标志目的<源SF≠OF目的>源SF=OF目的=源ZF=1例:mov ax,5cmp ax,10 ; CF = 1mov ax,1000mov cx,1000cmp cx,ax ; ZF = 1mov si,105cmp si,0 ; ZF=0,CF=0(二)布尔和比较指令 7. 设置和清除单个CPU标志例:stc ;设置进位标志clc ;清除进位标志and al,0 ;设置零标志or al,1 ;清除零标志or al,80h ;设置符号标志and al,7Fh ;清除符号标志mov al,7Fh ;AL=+127inc al;AL=80h(即-128),OF=1or eax,

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档