资源描述:
《指令系统1(寻址方式)(楼俊君》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章指令系统movax,12hcalldisplayJmp1234h1主要内容:指令系统的一般概念对操作数的寻址方式六大类指令的操作原理操作码的含义指令对操作数的要求指令执行的结果24.1概述指令——控制计算机完成指定操作的命令机器指令——指令的二进制代码形式。例如:CD21H汇编指令——助记符形式的指令。例如:INT21H指令系统——CPU所有指令及其使用规则的集合8088/8086指令系统:(1)指令向后兼容(x86系列)(2)应用广泛,资料易于寻找3指令按功能分为六大类(92种)(1)数据传送类;(2)算术运算类
2、;(3)逻辑运算和移位;(4)串操作;(5)控制转移类;(6)处理器控制。44.2指令的寻址方式操作码[操作数],[操作数]说明要执行的是什么操作操作对象,可以有0个、1个或2个目的源指令的基本构成如下:5指令举例:ADDAX,[SI+6]MOVAX,BX操作码操作数INC[BX]HLT6部分8088/8086常用指令指令类型助记符数据传送数据传送MOV,PUSH/POP,XCHG等地址传送LEA,LDS,LES输入输出IN,OUT算术运算加法ADD,ADC,INC减法SUB,SBB,DEC,NEG,CMP乘/除法MUL
3、,IMUL,DIV,IDIV逻辑AND,OR,NOT,XOR,TEST移位SHL/SHR/SAR,ROL/ROR,RCL/RCR串操作MOVS,CMPS,SCAS,LODS,STOS控制转移JMP,JXX,LOOP,CALL/RET,INT/IRET78088/8086的操作数分为3类1、立即数(常数)源操作数就是参加操作的数据本身,它们可以是8位或16位。取值范围如下表:立即数只能用作源操作数,如8位16位无符号数00H-FFH(0-255)0000H-FFFFH(0-65535)带符号数80H-7FH(-128~12
4、7)8000H-7FFFH(-32768~32767)MOVAX,0FA00H;正确MOV8000H,DX;错误操作数数据(立即数)地址:寄存器(名称)、存储器单元(地址)82、寄存器操作数放在8个通用寄存器或4个段寄存器中的操作数表示参加运算的数存放在指令给出的寄存器中,可以是16位或8位。9只能存放字操作数段寄存器存放当前操作数的段基地址可作为源或目的操作数(但CS不作为目的操作数),不允许将立即数传送到段寄存器,可通过某个通用寄存器传递改变SIDIBPSPCSDSESSS103、存储器操作数存储器操作数字节字双字1
5、24类型存储单元个数一般不允许两个操作数同时为存储器操作数Flags标志寄存器:仅有个别指令可用它作为操作数IP不能用指令指针寄存器:它作为操作数,顺序执行时它自动加1,跳转执行时自动会跳转表示当前参加运算的数存放在存储器的某1/2/4个单元中11存储单元的物理地址=段基地址×16+偏移地址若指令中没有指明所涉及的段寄存器,CPU就采用默认的段寄存器来确定操作数所在的段。下表是段寄存器使用的一些基本约定8086规定了访问存储器段的规则:此规则定义了段地址寄存器和偏移地址寄存器的组合方式,其默认规则如下表:默认段地址偏移地
6、址用于访问CSIP指令SSSP、BP(可超越)堆栈中的数据DS(可超越)BX、DI、SI、8位或16位数数据段中的数据ES串指令的DI目标串操作数12存储器操作数的偏移地址(也称有效地址EA)要用“[EA]”方括号括起来,它可以通过不同的寻址方式由指令给出;存储器操作数的段基地址(也称段头地址)一般省去,按隐含规则确定它们,也可直接给出进行段超越。例如若(BX)=2000H,(SI)=0A00H,(DI)=2A00H,则以下指令的结果是一样的:MOVAL,[2A00H];隐含段头为DS,直接寻址MOVAL,[BX+0A0
7、0H];隐含段头为DS,寄存器相对寻址MOVAL,[BX][SI];隐含段头为DS,基址-变址寻址MOVAL,[DI];隐含段头为DS,寄存器间接寻址但MOVAL,ES:[2A00H];段超越,段头为ES,与前4条不同存储单元的物理地址=段基地址×16+偏移地址注意:存储器数据表示形式:[]地址值或寄存器13寻址方式——寻找操作数的方法寻找操作数的地址(一般指源操作数)寻找要执行的下一条指令的地址在8086指令系统中,操作数所在地址的寻址方式可分为8种:①立即寻址⑤寄存器相对寻址②直接寻址⑥基址-变址寻址③寄存器寻址⑦相
8、对的基址-变址寻址④寄存器间接寻址⑧隐含寻址4.28086的寻址方式14操作数(为一常数)直接由指令给出(此操作数称为立即数)立即寻址只能用于源操作数例:MOVAX,1C8FHMOVBYTEPTR[2A00H],8FH错误例:×MOV2A00H,AX;错误!1立即寻址15立即数操作码低8位高8位存储器MOV操作码02