收藏 分享(赏)

微机原理及接口2013年度第8次课.ppt

上传人:dzzj200808 文档编号:2270076 上传时间:2018-09-08 格式:PPT 页数:58 大小:1.85MB
下载 相关 举报
微机原理及接口2013年度第8次课.ppt_第1页
第1页 / 共58页
微机原理及接口2013年度第8次课.ppt_第2页
第2页 / 共58页
微机原理及接口2013年度第8次课.ppt_第3页
第3页 / 共58页
微机原理及接口2013年度第8次课.ppt_第4页
第4页 / 共58页
微机原理及接口2013年度第8次课.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、微机原理及接口,第二章 微型计算机指令系统第三节 8086指令系统,数据传送指令 算术运算指令 逻辑运算和移位指令 串操作指令 控制转移指令 处理器控制指令,第三节 8086/8088指令系统,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,SUB、SBB、DEC、NEG、CMP、AAS、DAS,1. SUB 不带借位减法指令,寄存器 存储器,寄存器 存储器 立即数,例:,SUB AL , 37H SUB BX , DX SUB CX , DATABP SUB ARRAYSI , AX SUB BETABXDI , 512,ADD、ADC、INC、AAA、DAA,第三节 8086/8

2、088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB 不带借位减法指令,2. SBB 带借位减法指令,寄存器 存储器,寄存器 存储器 立即数,例:,SBB BX , 1000 SBB CX , DX SBB AL , DATASI SBB DISPBP , BL SBB SI+6 , 96,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运算指令,2. SBB 带借位减法指令,注:结果影响状态标志位,已知:CS=1000H , DS=2000H , SS =3000H , ES=4000H。 BP=4567H , BX=0FEDCH , 状态标志位均为1 执行程序

3、 SBB BP+2011H , BX,?H,求 :存储器物理地址 运算后结果 标志位内容,36578H,36578H,3467H,CF = ? PF = ? AF = ? ZF = ? SF = ? OF = ?,1,0,1,0,0,0,3. DEC 减1指令,注:结果影响除CF外状态标志位,例:,DEC BL DEC CX DEC BYTE PTRBX DEC WORD PTRBPDI,寄存器 存储器,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB,2. SBB,3. DEC 减1指令,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运

4、算指令,1. SUB,2. SBB,4. NEG 求补指令,寄存器 存储器,例:,NEG BL NEG AX NEG BYTE PTRBPSI NEG WORD PTRDI+20,3. DEC 减1指令,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB,2. SBB,4. NEG 求补指令,注:结果影响状态标志位,作用:求负数绝对值,NEG AL ;AL=0FFH,AL=0-0FFH=01H,3. DEC 减1指令,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB,2. SBB,4. NEG 求补指令,5. CMP 比

5、较指令,; d-s,寄存器 存储器,寄存器 存储器 立即数,注:只做减法,不存结果,影响状态标志位。,例:,CMP AL , 0AH CMP CX , DI CMP AX , DISPBP,CMP BX+5 , SI CMP BETBXDI , 100,3. DEC,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB,2. SBB,5. CMP,6. AAS 减法的ASCII码、非压缩BCD码调整指令,4. NEG,注:结果只影响标志位CF、AF。,MOV AX , 0103H MOV BL , 04H SUB AL , BL AAS,3. DEC,第三节

6、8086/8088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB,2. SBB,5. CMP,6. AAS 减法的ASCII码、非压缩BCD码调整指令,4. NEG,例:13 - 4=9,;(AX)=01FFH,(CF)=(AF)=1,;(AX)=0009H,(CF)=(AF)=1,3. DEC,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB,2. SBB,5. CMP,6. AAS 减法的ASCII码、非压缩BCD码调整指令,4. NEG,7. DAS 减法的十进制、压缩BCD码调整指令,注:结果影响状态标志位AF、CF、SF、ZF、 P

7、F、OF。,3. DEC,第三节 8086/8088指令系统,二、算术运算指令,(二)减法运算指令,1. SUB,2. SBB,5. CMP,6. AAS 减法的ASCII码、非压缩BCD码调整指令,4. NEG,7. DAS 减法的十进制、压缩BCD码调整指令,例:83 - 38=45,MOV AL , 83H MOV BL , 38H SUB AL , BL DAS,;(AL)=4BH, (AF)=1 (CF)=0,;(AL)=45H, (AF)=1 (CF)=0,第三节 8086/8088指令系统,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,ADD、ADC、INC、AAA、

8、DAA,SUB、SBB、DEC、NEG、CMP、AAS、DAS,第三节 8086/8088指令系统,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,(三)乘法运算指令,MUL、IMUL、AAM,1. MUL 无符号数乘法指令,注:运算结果高位(AH、DX)为0,则OF=CF=0, 否则OF=CF=1。 标志位SF、ZF、AF、PF不确定。,第三节 8086/8088指令系统,二、算术运算指令,(三)乘法运算指令,1. MUL 无符号数乘法指令,寄存器 存储器,例:,MUL AL MUL BX MUL BYTE PTRDI+6 MUL WORD PTR ALPHA,MOV AL , 1

9、4H MOV CL , 05H MUL CL,;14H*05H=20*5=100=64H,;(AX)=0064H,(CF)=(OF)=0,第三节 8086/8088指令系统,二、算术运算指令,(三)乘法运算指令,1. MUL 无符号数乘法指令,2. IMUL 有符号数乘法指令,注:运算结果高位(AH、DX)为有效数字而非符号扩展,则OF=CF=1,否则OF=CF=0。 标志位SF、ZF、AF、PF不确定。,第三节 8086/8088指令系统,二、算术运算指令,(三)乘法运算指令,1. MUL,2. IMUL,3. AAM 乘法的ASCII码、非压缩BCD码调整指令,注:AL(低位)影响标志位S

10、F、ZF和PF,对AF、CF、OF不确定。,MOV AL , 07H MOV BL , 09H MUL BL AAM,;AL=07H*09H=63=3FH,;AH=06H,AL=03H; SF=0, ZF=0, PF=1,第三节 8086/8088指令系统,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,(三)乘法运算指令,(四)除法运算指令,DIV、IDIV、AAD,1. DIV 无符号数除法指令,注:状态标志位SF、ZF、AF、PF、CF和OF不确定。,第三节 8086/8088指令系统,二、算术运算指令,(四)除法运算指令,1. DIV 无符号数除法指令,寄存器 存储器,例:,

11、DIV BL DIV CX DIV BYTE PTR DATA DIV WORD PTR DI+BX,MOV AX ,0F05H MOV DX ,068AH MOV CX ,08E9H DIV CX,;068A0F05H/08E9H=BBE1H073CH,;(AX)=BBE1H,(DX)=073CH,第三节 8086/8088指令系统,二、算术运算指令,(四)除法运算指令,1. DIV 无符号数除法指令,2. IDIV 有符号数除法指令,注:余数符号与被除数符号相同, 状态标志位SF、ZF、AF、PF、CF和OF不确定。,第三节 8086/8088指令系统,二、算术运算指令,(四)除法运算指令

12、,1. DIV,2. IDIV,3. AAD 除法的ASCII码、非压缩BCD码调整指令,注:影响标志位SF、ZF和PF,对AF、CF、OF不确定。,MOV AX , 0703H MOV BL , 02H AAD DIV BL AAM,;AL=07H*0AH+03H=73=49H,;AL=24H, AH=01H,指令顺序 AAD-DIV-AAM,;AH=AL/0AH=03H, AL=AL/0AH06H,第三节 8086/8088指令系统,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,(三)乘法运算指令,(四)除法运算指令,(五)转换指令,符号位扩展,1. CBW 字节字转换指令,;

13、AL AX,2. CWD 字双字转换指令,;AX DX:AX,第三节 8086/8088指令系统,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,(三)乘法运算指令,(四)除法运算指令,(五)转换指令,编写程序段 (-2000)(- 421),MOV AX,-2000 MOV BX,-421 IDIV BX,MOV AX,-2000 CWD MOV BX,-421 IDIV BX,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,ADD、ADC、INC、AAA、DAA,SUB、SBB、DEC、NEG、CMP、AAS、DAS,(三)乘法运算指令,MUL、IMUL、AAM,(四)

14、除法运算指令,DIV、IDIV、AAD,(五)转换指令,CBW、CWD,第三节 8086/8088指令系统,第三节 8086/8088指令系统,一、数据传送指令,三、逻辑运算与移位指令,二、算术运算指令,(一)逻辑运算指令,AND、OR、NOT、XOR、TEST,1. AND 逻辑“与”指令,寄存器 存储器,寄存器 存储器 立即数,例:,AND AL , 00001111B AND CX , DI AND SI , MEM_NAME AND ALPHADI, AX AND BXSI, 0FFFEH,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(一)逻辑运算指令,1. AND 逻

15、辑“与”指令,注:影响标志位SF、ZF和PF, 将CF、OF置0,使AF不确定。,作用:,(1)逻辑“与”运算,(2)屏蔽某一位或若干位,MOV AL , 6 AND AL , 0FH,; AL00110110B,; AL00000110B,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(一)逻辑运算指令,1. AND 逻辑“与”指令,2. TEST 测试指令,; d&s,寄存器 存储器,寄存器 存储器 立即数,例:,TEST BH , 7 TEST SI , BP TEST SI , CH TEST BXDI, 6ACEH,注:影响标志位SF、ZF和PF, 将CF、OF置0,使

16、AF不确定。,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(一)逻辑运算指令,1. AND 逻辑“与”指令,3. OR 逻辑“或”指令,2. TEST 测试指令,寄存器 存储器,寄存器 存储器 立即数,例:,OR BL , 0F6H OR AH , BL OR CL , BETABXSI OR GAMMASI, DX OR MEM_BYTE , 80H,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(一)逻辑运算指令,1. AND 逻辑“与”指令,3. OR 逻辑“或”指令,2. TEST 测试指令,注:影响标志位SF、ZF和PF, 将CF、OF置0,使AF不确定

17、。,作用:,(1)逻辑“或”运算,(2)将某一位或若干位置1,MOV AL , 06H OR AL , 30H,; AL00000110B,; AL00110110B,(3)测试某数的标志位SF、ZF和PF,OR AX , AX AND AX , AX,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(一)逻辑运算指令,1. AND 逻辑“与”指令,3. OR 逻辑“或”指令,2. TEST 测试指令,大小写字母的转换,大写字母小写字母,小写字母大写字母,OR AL,00100000B,AND AL,11011111B,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(

18、一)逻辑运算指令,1. AND,4. XOR 逻辑“异或”指令,2. TEST,3. OR,寄存器 存储器,寄存器 存储器 立即数,例:,XOR DI , 23F6H XOR SI , DX XOR CL , BUFFER XOR MEMBX, AX XOR TABLEBPSI , 3DH,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(一)逻辑运算指令,1. AND,4. XOR 逻辑“异或”指令,2. TEST,3. OR,注:影响标志位SF、ZF和PF, 将CF、OF置0,使AF不确定。,作用:,(1)逻辑“异或”运算,(2)将寄存器内容清零,XOR AX , AX SUB

19、 AX , AX MOV AX , 0,; 2个字节,3个时钟 ; 2个字节,3个时钟 ; 3个字节,4个时钟,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(一)逻辑运算指令,1. AND,5. NOT 逻辑“取反”指令,2. TEST,3. OR,寄存器 存储器,例:,NOT AH NOT CX NOT BYTE PTR BP NOT WORD PTR COUNT,4. XOR,注:运算结果不影响标志位。,第三节 8086/8088指令系统,一、数据传送指令,三、逻辑运算与移位指令,二、算术运算指令,(一)逻辑运算指令,(二)移位指令,1. SHL 逻辑左移指令,指令格式,S

20、HL d , 1,SHL d,CL,d7 d0,CF,操作,0,例:,SHL AH , 1 SHL SI , CL SHL WORD PTR BP+5 , 1 SHL BYTE PTR DATA , CL,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,注:影响标志位CF、OF ,对其他位无影响。,当移位次数为1,移位后目标操作数最高位与CF不同,OF为1;否则为0。,当移位次数为CL,OF为不确定。,OF表示符号位是否改变。,作用:,(1)逻辑左移,(2)左移一次无符号数乘2,MOV AL , 6 SHL AL , 1,; AL0000

21、0110B,; AL00001100B=12,MOV AL , 6 MOV CL , 3 SHL AL , CL,; AL00110000B=48,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,指令格式,SHR d , 1,SHR d,CL,操作,d7 d0,CF,0,例:,SHR BL , 1 SHR AX , CL SHR BYTE PTR DI+BP , 1 SHR WORD PTR BLOCK , CL,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移

22、指令,2. SHR 逻辑右移指令,注:影响标志位CF、OF ,对其他位无影响。,当移位次数为1,移位后目标操作数最高位与次高位不同,OF为1;否则为0。,当移位次数为CL,OF为不确定。,OF表示符号位是否改变。,作用:,(1)逻辑右移,(2)右移一次无符号数除以2,MOV AX , 0100H MOV CL , 2 SHR AX , CL,; AX0000000001000000B=40H=64,; AX0000000100000000B=256,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL

23、算术左移指令,指令格式,SAL d , 1,SAL d,CL,操作,例:,SAL AH , 1 SAL SI , CL SAL WORD PTR BP+5 , 1 SAL BYTE PTR DATA , CL,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,指令格式,SAR d , 1,SAR d,CL,操作,d7 d0,CF,符号位保持不变,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SH

24、R 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,注:影响标志位CF、OF 、PF、SF、ZF,使AF的值不确定。,例:,SAR AL , 1 SAR DI , CL SAR WORD PTR TABLESI , 1 SAR BYTE PTR STATUS , CL,算术右移一位相当于有符号数除以2,MOV AL , 80H SAR AL , 1,; AL-128,; AL-64,第三节 8086/8088指令系统,一、数据传送指令,三、逻辑运算与移位指令,二、算术运算指令,(一)逻辑运算指令,(三)循环移位指令,(二)移位指令,1. ROL 循环左移指令,指令格式,R

25、OL d , 1,ROL d,CL,d7 d0,CF,操作,例:,ROL BH , 1 ROL DX , CL ROL WORD PTR DI , 1 ROL BYTE PTR ALPHA , CL,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,(三)循环移位指令,1. ROL 循环左移指令,注:影响标志位CF、OF ,对其他位无影响。,当移位次数为1,移位后目标操作数最高位与CF不同,OF为1;否则为0。,当移位次数为CL,OF为不确定。,OF表示符号

26、位是否改变。,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,(三)循环移位指令,1. ROL 循环左移指令,2. ROR 循环右移指令,指令格式,ROR d , 1,ROR d,CL,操作,d7 d0,CF,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,(三)循环移位指令,1. ROL 循环左移指令,2. ROR

27、循环右移指令,注:影响标志位CF、OF ,对其他位无影响。,当移位次数为1,移位后目标操作数最高位与次高位不同,OF为1;否则为0。,当移位次数为CL,OF为不确定。,OF表示符号位是否改变。,第三节 8086/8088指令系统,三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,(三)循环移位指令,1. ROL 循环左移指令,3. RCL 带进位循环左移指令,2. ROR 循环右移指令,指令格式,RCL d , 1,RCL d,CL,d7 d0,CF,操作,第三节 8086/8088指令系统,

28、三、逻辑运算与移位指令,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,(三)循环移位指令,1. ROL 循环左移指令,3. RCL 带进位循环左移指令,2. ROR 循环右移指令,4. RCR 带进位循环右移指令,指令格式,RCR d , 1,RCR d,CL,操作,d7 d0,CF,小结,算术运算指令:减法指令、乘法指令、除法指令、转换指令,逻辑运算与移位指令:逻辑运算指令、移位指令、 循环指令,二、算术运算指令,(一)加法运算指令,(二)减法运算指令,ADD、ADC、INC、AAA、DAA,SUB、SBB、D

29、EC、NEG、CMP、AAS、DAS,小结,(三)乘法运算指令,MUL、IMUL、AAM,(四)除法运算指令,DIV、IDIV、AAD,(五)转换指令,CBW、CWD,三、逻辑运算与移位指令,(一)逻辑运算指令,AND、OR、NOT、XOR、TEST,小结,(二)移位指令,1. SHL 逻辑左移指令,2. SHR 逻辑右移指令,3. SAL 算术左移指令,4. SAR 算术右移指令,(三)循环移位指令,1. ROL 循环左移指令,3. RCL 带进位循环左移指令,2. ROR 循环右移指令,4. RCR 带进位循环右移指令,一、数据传送指令,二、算术运算指令,(一)加法运算指令,ADD、ADC

30、、INC、AAA、DAA,课前回顾,(三)目标地址传送指令,1. LEA 偏移地址传送指令,LEA、MOV的区别,2. LDS DS段指针装入指令,操作,REG16 (mem)+1:(mem) DS(mem)+3:(mem)+2),课前回顾,(三)目标地址传送指令,3. LES ES段指针装入指令,操作,REG16 (mem)+1:(mem) ES(mem)+3:(mem)+2),课前回顾,(四)标志传送指令,1. LAHF 将标志位装入AH指令,功能:将标志寄存器的低8位送入AH寄存器。,课前回顾,2. SAHF 将AH存入标志位指令,功能:将AH寄存器送入标志寄存器的低8位。,3. PUS

31、HF 标志位入栈指令,4. POPF 标志位出栈指令,(一)加法运算指令,1. ADD 不带进位加法指令,指令格式,ADD dest , src,; dest dest+src,课前回顾,注:结果影响状态标志位,2. ADC 带进位加法指令,指令格式,ADC dest , src,; dest dest+src+CF,注:结果影响状态标志位,3. INC 加1指令,注:结果影响除CF外状态标志位,二、算术运算指令,二、算术运算指令,(一)加法运算指令,4. DAA 十进制、压缩BCD码调整指令,课前回顾,二、算术运算指令,(一)加法运算指令,5. AAA 加法的ASCII码、非压缩BCD码调整指令,课前回顾,二、算术运算指令,(一)加法运算指令,5. AAA 加法的ASCII码、非压缩BCD码调整,(1)非压缩BCD码调整,(2)ASCII码调整,计算 4609+3875=?,课前回顾,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报