资源描述:
《淮阴师范学院微机原理课件第三章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章指令系统一、基本数据类型二、指令格式三、寻址方式四、通用指令3.1基本数据类型字、双字的对齐数字数据类型指针数据类型串数据类型字、双字的对齐数字数据类型:整数(无符号及有符号数)、浮点数(单精度、双精度、双扩展精度)指针数据类型(内存单元的地址):near、far串数据类型位、字节、字或双字的连续序列3.2指令及指令格式3.2.1基本概念:用编码表示CPU的一个基本操作,称为一条指令。全部指令集称为指令系统。指令系统反映CPU的基本功能,是硬件设计人员和程序员能见到的机器的主要属性,一个CPU的指
2、令系统是固定的,不同类型的CPU其指令系统不同;同一系列向上兼容。程序是为要解决的问题编写出来的指令集合。用户为解决自己的问题所编写的程序称为源程序。用二进制数编码表示的指令,称为机器指令或机器码。机器语言是机器码及其使用的一组规则。用机器语言编写的程序称为目标程序。助记符是有助记忆、并能描述指令功能的符号。通常是指令功能的英文单词的缩写。例数的传送指令用助记符MOV加法用ADD,转移用JMP等用助记符等表示的指令称为汇编格式指令例MOVAL,0汇编语言是汇编格式指令、伪指令及其使用的一组规则。用汇编语
3、言编写的程序称汇编语言程序。3.2.2指令格式例ADDAL,10HLOADREG:MOVEAX,SUBTOTAL操作数指明参与操作的数据或数据所在的地方。了解操作数的来源、个数、类型、执行速度。指令的一般格式是:标号:助记符操作数参数1,操作数参数280X86系列计算机通常使用单操作数和双操作数指令标号操作码的助记标识符目的操作数源操作数操作数来源指明操作数所在的地方有三种来源:①操作数在指令中,称立即数操作数如MOVAL,9②操作数在寄存器中,称寄存器操作数指令中给出用符号表示的寄存器名。如MOVAL
4、,BL③操作数在内存单元中,称存储器操作数或内存操作数指令中给出该内存单元的地址。用[]表示存储器操作数如MOVAL,[2000H]操作数个数按指令格式中,操作数个数的多少分为三类:无操作数:指令只有一个操作码,没有操作数单操作数:指令中给出一个操作数双操作数:指令中给出两个操作数。①无操作数:指令只有一个操作码,没有操作数。有两种可能:▲有些操作不需要操作数。如HLT,NOP等处理机控制指令。▲操作数隐含在指令中。如STC,CLC等处理机控制命令。AAA,DAA等调整指令。②单操作数:指令中给出一个操
5、作数。有两种可能:▲有些操作只需要一个操作数如INCAL;(AL)←(AL)+1▲有些操作将另一个操作数隐含在指令中如MULBL;(AX)←(AL)×(BL)③双操作数:指令中给出两个操作数。如ADDAL,BL;(AL)←(AL)+(BL)目的操作数源操作数操作后的结果通常存放在目的操作数中。操作数类型指令应指明参与操作的数是字节还是字,即操作数的类型。通常操作数的类型可由操作数本身隐含给出。只在特殊情况下需要指明。8086/8088:有的操作既可对字节操作,又可对字操作有的操作只允许对字操作①指令中有
6、寄存器操作数,由寄存器操作数决定类型。例:MOV[BX],AL;字节操作,[BX]←ALMOV[BX],AX;字操作,[BX]←AL,[BX+1]←AHD:>DEBUG;进入DEBUG-A;汇编指令1693:0100MOV[BX],AL1693:0102MOV[BX],AX1693:0104-U;反汇编指令1693:01008807MOV[BX],AL1693:01028907MOV[BX],AX、、、、、、在DEBUG下查看指令对应的机器码:两条指令的机器码不同:一个是0788H,另一个是07
7、89H②指令操作数中无寄存器,则由内存操作数的类型决定。value00H….内存value00H00H例value是一个变量(即内存操作数);若定义value为字节类型:则MOVvalue,0是字节操作。若定义value为字类型:则MOVvalue,0是一个字操作。例MOV[BX],0③指令中无类型的依据,需对存储器操作数加类型说明。用PTR属性伪操作说明类型。MOVbytePTR[BX],0字节操作,[BX]←0MOVwordPTR[BX],0字操作,[BX]←0,[BX+1]←0执行速度寄存器操作数
8、立即数操作数存储器操作数例movAL,BLmovAL,0movAL,[BX]哪条指令执行速度快?三条指令:操作类型相同,都是传送指令,且目的操作数相同,不同的是源操作数。对同一类型指令,执行速度:寄存器操作数立即数操作数存储器操作数快慢例movAL,BL快movAL,0movAL,[BX]慢3.3寻址方式指明操作数的来源,即寻找(得到)操作数的方法。共7种寻址方式:1.立即数寻址2.寄存器寻址3.直接寻址4.寄存器间接寻址5种与内存单元5.