微机原理与接口技术-第4章指令系统

微机原理与接口技术-第4章指令系统

ID:41360062

大小:860.56 KB

页数:35页

时间:2019-08-22

微机原理与接口技术-第4章指令系统_第1页
微机原理与接口技术-第4章指令系统_第2页
微机原理与接口技术-第4章指令系统_第3页
微机原理与接口技术-第4章指令系统_第4页
微机原理与接口技术-第4章指令系统_第5页
资源描述:

《微机原理与接口技术-第4章指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理与接口技术4.380x86指令系统可分成如下7类:数据传送指令算术运算指令逻辑运算和移位指令串操作指令程序控制指令处理器控制指令中断指令23.3.3逻辑运算和移位指令逻辑运算指令●运算规则:按位操作,无进/借位●对标志位的影响(除NOT指令外):CFOFSFZFPFAF00***无定义根据运算结果设置●NOT指令对标志位无影响3取反指令NOTMEM/REG与指令AND目标,源操作数或指令OR目标,源操作数异或指令XOR目标,源操作数逻辑运算指令4对操作数进行按位逻辑”非”操作。格式:NOTmem/reg操作:dst←~dst例:NOTC

2、XNOTBYTEPTR[DI]1)逻辑“非”(取反)NOT52)逻辑”与”AND对两个操作数进行按位逻辑“与”操作。格式:ANDdst,src用途:保留操作数的某几位,清零其他位。操作:dst←dst&src例1:保留AL中低4位,高4位清0。ANDAL,0FH6例2:AL中有字符’a’~’z’,将其转换成大写。ANDAL,01011111B例3:测试AL的bit7,bit5,bit2是否都是1。ANDAL,10100100BCMPAL,10100100BJZYES;ifmatch,gotoYES……;ifnotmatch……YES:……;go

3、eshereifall‘1’7对两个操作数进行按位逻辑”或”操作。格式:ORdest,src用途:对操作数的某几位置1;对两操作数进行组合。操作:dst←dst

4、src例1:把AL中的非压缩BCD码变成相应十进制数的ASCII码。ORAL,30H3)逻辑”或”OR00000111OR00110000001101118例2:把AH和AL中的非压缩BCD码组合成压缩的BCD码,放到AL中。MOVCL,4SHLAH,CL;设AH=7,AL=5ORAL,AH;最后AL=75H例3:把AL的第5位置为1ORAL,00100000B9对两个操作数按位进行”

5、异或”操作。格式:XORdest,src用途:对reg清零(自身异或)把reg/mem的某几位变反(与’1’异或)操作:dst←dst^src4)逻辑”异或”XOR'A'=>'a'01000001XOR0010000001100001'a'=>'A'01100001XOR001000000100000110例1:把AX寄存器清零。①MOVAX,0②XORAX,AX③ANDAX,0④SUBAX,AX例2:把DH的bit4,3变反XORDH,18H00011000B=>18H112.移位指令1)非循环移位指令算术左移指令SAL(ShiftArith

6、meticLeft)算术右移指令SAR(ShiftArithmeticRight)逻辑左移指令SHL(ShiftLeft)逻辑右移指令SHR(ShiftRight)这4条指令影响标志位:CF,ZF,SF,OF,PF12算术左移指令:SALDST,CNT逻辑左移指令:SHLDST,CNT格式:SHL/SALreg/mem,CL/imm操作:将DST的内容按位顺序左移CNT次,最高位进CF中,最低位补0。当CNT大于1时,后移入CF的位把前一次移入CF的位挤出去,CF最终为最后一次移入位的状态。操作示意:(1)算术左移和逻辑左移指令最低位最高位CF

7、0(a)算术/逻辑左移SAL/SHL13算术右移指令:SARDST,CNT逻辑右移指令:SHRDST,CNT格式:SAR/SHRreg/mem,CL/imm操作:这两条指令功能基本相同,将DST的内容按位顺序右移CNT次,最低位进CF中;SAR最高位(符号位)保持不变,SHR最高位补0。操作示意:(2)算术右移、逻辑右移指令最低位最高位CF(b)算术右移SAR最低位最高位CF(c)逻辑右移SHR014移位指令执行的操作如下图所示:最低位最高位CF0(a)算术/逻辑左移SAL/SHL最低位最高位CF(b)算术右移SAR最低位最高位CF(c)逻辑右

8、移SHR0非循环移位指令功能示意图15算术移位——把操作数看做有符号数;逻辑移位——把操作数看做无符号数。移位位数放在CL寄存器中,也可以直接写在指令中。例如:MOVCL,4SHRAL,CL;AL中的内容右移4位影响C,P,S,Z,O标志。结果未溢出时:左移1位≡操作数*2右移1位≡操作数/216例:将两个非压缩BCD码(高位在BL,低位在AL)合并成压缩BCD码送AL。SHLBL,4;将高位移到BL的高4位ANDAL,0FH;清零AL高4位ORAL,BL;合并AL和BL形成压缩BCD码。17例:设AL=10110100,CF=1,分别单独执行

9、下列指令后,写出AL,CF中的值。(1)SALAL,1;AL=01101000CF=1(2)SARAL,1;AL=11011010CF=0(3)SHL

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。