1 / 14

第 3 章 小结( 2 )

第 3 章 小结( 2 ). 指令系统. 1. 指令系统的特点. 8086/8088 的指令系统完全相同,都能在 x86 系列 CPU 上运行 指令的特点体现在:格式上、功能上和寻址方式 可变长指令,如 CISC 指令 1 ~ 8 字节 寻址方式多样灵活,处理数据能力强 有重复指令和运算指令,扩充了条件指令、移位 / 循环指令 为加强软件中断功能和支持多处理器相同的工作,增设了有关的指令,如 test , wait 等. 2. 指令的格式. 无操作数 单操作数 在 R 中 在 MM 中 双操作数 都在 R 中 一个在 R ,一个在 MM 中

Download Presentation

第 3 章 小结( 2 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第3章 小结(2) 指令系统 长江大学

  2. 1.指令系统的特点 • 8086/8088的指令系统完全相同,都能在x86系列CPU上运行 • 指令的特点体现在:格式上、功能上和寻址方式 可变长指令,如CISC指令1~8字节 寻址方式多样灵活,处理数据能力强 有重复指令和运算指令,扩充了条件指令、移位/循环指令 为加强软件中断功能和支持多处理器相同的工作,增设了有关的指令,如test,wait等 长江大学

  3. 2. 指令的格式 • 无操作数 • 单操作数 • 在R中 • 在MM中 • 双操作数 • 都在R中 • 一个在R,一个在MM中 • 一个在R,另一个是立即数 • 一个在MM,另一个是立即数 长江大学

  4. 3. 寻址方式 • 固定寻址 • 立即数寻址 • 寄存器寻址 • 存储器寻址 • 存储器直接寻址 • 存储器间接寻址 • 基址寻址 • 变址寻址 • 基址加变址寻址 • 基址加变址加偏移量 长江大学

  5. 其他寻址方式 • I/O端口寻址 • 直接寻址0~255 • 间接寻址通过DX • 转移类指令的寻址方式 • 条件转移:段内转移 -128~+127 • 无条件转移和调用指令 • 段内短转移IP IP+8 位位移量(-128~+127) • 段内直接转移JMP 1000H • 段间直接转移JMP 2500H:3600H • 段间间接转移JMP DWORD PTR[DI] 长江大学

  6. 4. 8086/8088指令的分类 • 数据传送类指令: • 通用数据传送:MOV,PUSH,POP,XCHG,XLAT(代码转换) • 目标地址传送类:LEA,LDS,LES • 标志位传送:LAHF,SAHF,PUSHF,POPF • I/O传送:IN,OUT 长江大学

  7. 算术运算类: • 加法:ADD,ADC,INC • 减法:SUB,SBB,DEC,NEG,CMP • 乘法:MUL,IMUL • 除法:DIV,IDIV • 扩展指令:CBW,CWD • ASCII码和十进制调整指令: • AAA,AAS,AAM,AAD • DAA,DAS • 逻辑运算和移位循环指令: • 逻辑运算:AND,OR,XOR,NOT,TEST • 移位:SAL,SHL,SAR,SHR • 循环:ROL,ROR,RCL,RCR 长江大学

  8. 串操作指令 • 字节串/字串传送:MOVSB/MOVSW • 字节串/字串:CMPSB/CMPSW • 字节串/字串搜索:SCASB/SCASW • 重复前缀:REP(无条件重复),REPE/REPZ(ZF=1重复),REPNE/REPNZ(ZF=0重复) • 程序控制指令 • 无条件转移:JPM 目标标号 • 条件转移(无符号) • JA/JNBE,JAE/JNB,JB/JNAE,JBE/JNA,JC/JNC,JE/JZ,JNE/JNZ • 条件转移(带符号) • JG/JNLE,JGE/JNL,JL/JNGE,JLE/JNG,JO/JNO • JS/JNS 长江大学

  9. 程序控制指令(续) • 循环控制: • LOOP 目标标号 • LOOPE/LOOPZ,LOOPNE/LOOPNZ • JCXZ (CX=0转移) • 中断: • INT 中断类型,INTO,IRET • 处理器控制指令 • 对标志位操作:CLC,STC,CLD,STD,CLI,STI • 同步控制:WAIT,LOCK • 其它:HLT,NOP 长江大学

  10. 如何掌握指令系统 • 从4个方面入手:助记符、指令功能、寻址方式、对标志位的影响 • 指令可处理8/16位操作数,注意使用BYTE PTR • 8088的条件转移指令都是段内转移,分3类: • 单个标志控制的转移 • 对无符号数判断大小的转移 JA,JB • 对带符号数判断大小的转移 JG,JL 对于转移和调用指令: • 段内转移和调用:只提供16位的偏移量 • 段间转移和调用:提供32位的目标地址 长江大学

  11. 指令对操作数的特殊约定或限制 所有十进制调整指令都对AL的内容 所有I/O指令涉及的寄存器为AL,AX和DX 所有乘法指令的乘积存放于:AX(8位乘法)或AX和DX(16位乘法) 所有除法指令的被除数存放在AX或AX和DX;商存放于:AL或AX;余数在AH或DX中 所有串操作指令中源串由DS:SI寻址;目的串由ES:DI寻址;重复次数放于CX中 对移位和循环指令:当移位次数多于1时,存放CL;循环次数存放于CX中 长江大学

  12. 练习:指出下列指令哪些是错误的,指出错误原因:练习:指出下列指令哪些是错误的,指出错误原因: MOV BL,AX MOV 100,CX MOV [SI],AX MOV CS,AX MOV [SI],BUFFER OUT 541H,AL IN BL,DX LEA BX,AX 长江大学

  13. MOV BX,2[DI] XCHG AL,100 MOV BYTE PTR[BX],10000 MOV AX,[BP+3] MOV AX,CS MOV SS,2400H SHL AX,CX SHL AX,CL SHL AX,5 ROL AX,CX 长江大学

  14. 谢谢! 本章作业: 长江大学

More Related