第3章 80x86指令系统与寻址方式1

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

qqhrdx计算机组成及接口技术第3章80x86指令系统与寻址方式我们学过的寄存器中有哪些寄存器是与地址有关的?CSDSSSESBXBPSIDISPIP存储器的物理地址是如何形成的?偏移地址物理地址+段基地址0000段基地址偏移地址课前思考题第3章80x86指令系统与寻址方式中央处理器CPUI/O总线M总线主存储器M.M外部设备1外部设备2……I/O接口I/O接口I/O接口外部设备n中央处理器CPU主存储器M.MM总线第3章80x86指令系统与寻址方式概述3.1指令系统3.3next寻址方式3.2第3章80x86指令系统与寻址方式基本概念:汇编语言指令系统指令第3章80x86指令系统与寻址方式3.1概述指令格式是指令的编码格式,其体现了指令系统的概貌,说明指令系统的机器目标代码是如何构成的。指令的构成:操作码操作数‥‥‥操作数next第3章80x86指令系统与寻址方式例如:MOVAX,100MOVAX,BXMOVAX,[BX]要访问操作数,首先必须确定如何形成操作数的地址。寻址方式:确定获得操作数地址的方法寻址方式选择得正确与否,直接影响程序的执行效率。next第3章80x86指令系统与寻址方式3.2寻址方式与数据有关的寻址方式与转移地址有关的寻址方式寻址方式分类next第3章80x86指令系统与寻址方式对源操作数分别使用7种寻址方式:(1)立即寻址方式(ImmediateAddressing)(2)寄存器寻址方式(RegisterAddressing)(3)直接寻址方式(DirectAddressing)(4)寄存器间接寻址方式(RegisterIndirectAddressing)(5)寄存器相对寻址方式(RegisterRelativeAddressing)(6)基址变址寻址方式(BasedIndexAddressing)(7)相对基址变址寻址方式(RelativeBasedIndexAddressing)掌握寻址方式的要点:特点(区别于其他寻址方式);使用方法(语法形式);用途(什么情况下使用)next第3章80x86指令系统与寻址方式(1)立即寻址方式(ImmediateAddressing)特点:操作数包含在指令中。操作数是指令的组成部分(可以是8位或16位),取出指令就立即获得操作数——立即数next第3章80x86指令系统与寻址方式例如,MOVAX,2000H用途:给变量或寄存器赋常量值限制:只能用于源操作数next第3章80x86指令系统与寻址方式(2)寄存器寻址方式(RegisterAddressing)例如:MOVSI,CX用途:用寄存器提供操作数时存取速度快。特点:操作数存在寄存器中。next第3章80x86指令系统与寻址方式(3)直接寻址方式(DirectAddressing)例如:MOVAX,[2000H];设(DS)=3000Hnext特点:操作数的偏移地址包含在指令中。用途:存取单变量中的操作数。第3章80x86指令系统与寻址方式(4)寄存器间接寻址方式(RegisterIndirectAddressing)计算操作数物理地址的公式:(BX)(SI)(DI)操作数物理地址=(DS)16+操作数物理地址=(SS)16+(BP)next第3章80x86指令系统与寻址方式例如:MOVAX,[BX];PA=(DS)×16+(BX)next特点:(寄存器)=操作数的偏移地址用途:可用于处理数组第3章80x86指令系统与寻址方式(5)寄存器相对寻址方式(RegisterRelativeAddressing)+计算操作数物理地址的公式:(SI)(DI)+(BX)操作数物理地址=(DS)16+操作数物理地址=(SS)16+(BP)+8位位移量16位位移量8位位移量16位位移量next第3章80x86指令系统与寻址方式例如,MOVAX,COUNT[DI];操作数PA=(DS)×16+(DI)+COUNT用途:可用于处理数组特点:(变址或基址寄存器)+指令中的位移量=操作数的偏移地址next第3章80x86指令系统与寻址方式(6)基址变址寻址方式(BasedIndexAddressing)+计算操作数物理地址的公式:(SI)(DI)(SI)(DI)操作数物理地址=(DS)16+(BX)+操作数物理地址=(SS)16+(BP)+next第3章80x86指令系统与寻址方式+计算操作数物理地址的公式:(SI)(DI)(SI)(DI)操作数物理地址=(DS)16+(BX)+操作数物理地址=(SS)16+(BP)+next第3章80x86指令系统与寻址方式例:设(DS)=2100H,(BX)=0158H,(DI)=1000H指令为:MOVAX,[BX][DI]21000H+0158H+1000H=22158H要访问的存储单元物理地址为:设:(22158H)=1234H执行指令后:(AX)=1234H指令:MOVAX,[BX][DI]用途:可用于处理数组特点:(基址寄存器)+(变址寄存器)=操作数的偏移地址next第3章80x86指令系统与寻址方式0158HAX12343412………存储器数据段21000H22158H1000H数组起始地址next21158H第3章80x86指令系统与寻址方式请比较三种可处理数组的寻址方式在处理数组时的区别:2.MOVAX,[BX]1.MOVAX,ARRAY[SI]3.MOVAX,[BX][SI]思考题next第3章80x86指令系统与寻址方式指令3的BX寄存器是否可被其他寄存器替换?指令1和指令2的[寄存器]还可被哪些寄存器替换?2.MOVAX,[BX]1.MOVAX,ARRAY[SI]3.MOVAX,[BX][SI]next思考题第3章80x86指令系统与寻址方式(7)相对基址变址寻址方式(RelativeBasedIndexAddressing)特点:操作数的偏移地址=(基址寄存器)+(变址寄存器)+位移量用途:便于访问堆栈中的数组next第3章80x86指令系统与寻址方式3.3指令系统8086/8088指令系统中的指令按功能可分为六类:数据传送指令算术运算指令逻辑运算与移位指令串操作指令控制转移指令处理机控制指令第3章80x86指令系统与寻址方式4.2.1数据传送指令(1)通用传送指令指令格式:MOVdst,src执行操作:(dst)←(src)功能:在CPU与存储器之间或CPU内部传送数据。标志位:不受影响例:MOVAL,E指令执行后:(AL)=45H1.基本数据传送指令MOV第3章80x86指令系统与寻址方式其中:mem:存储器单元reg:寄存器imm:立即数MOVmem/regl,reg21MOVregl,mem/reg22MOVmem/reg,imm3MOV指令的语法形式:第3章80x86指令系统与寻址方式例:判断下列指令是否合法:MOVDS,AXMOVCS,AXMOVCH,4050HMOVDL,5BHMOVDX,5BHMOVDX,ALMOVVA1,VA2MOV45,DL第3章80x86指令系统与寻址方式2.交换指令XCHG指令格式:XCHGoprl,opr2执行操作:(opr1)(opr2)功能:两个操作数互换第3章80x86指令系统与寻址方式例:XCHGAX,BX设(AX)=1024H(BX)=2048H指令执行后:(AX)=2048H(BX)=1024H等效三条MOV指令:MOVCX,AXMOVAX,BXMOVBX,CX第3章80x86指令系统与寻址方式3.入栈指令PUSH指令格式:PUSHsrc执行操作:(SP)←(SP)-2((SP)+1,(SP))←(src)功能:将指定的字数据压入栈顶4.出栈指令POP指令格式:POPdst执行操作:(dst)←((SP)+1,(SP))(SP)←(SP)+2功能:将栈顶字数据弹出堆栈第3章80x86指令系统与寻址方式例:PUSHAXPOPBX执行指令前\后状态:3104堆栈段栈顶SP3001H3002H3003H3004HSP1.PUSHAXAXBX310410002.POPBXAXBX31043104执行指令前:执行指令后:设:(AX)=3104H(BX)=1000H第3章80x86指令系统与寻址方式5.标志位传送指令取标志寄存器指令LAHF存标志寄存器指令SAHF标志入栈指令PUSHF标志出栈指令POPFOF111512DF10IF9TF8SF7ZF65AF43PF21CF0第3章80x86指令系统与寻址方式6.地址传送指令(1)装入有效地址指令LEA指令格式:LEAreg,src执行操作:(reg)←src的偏移地址功能:将源操作数的偏移地址送指定寄存器例:LEADX,BUFFER设:BUFFER单元的地址=F000H:4300H指令执行后:如果指令改为:MOVDX,BUFFER指令执行后:(BUFFER)=5000H(DX)=4300H(DX)=5000H第3章80x86指令系统与寻址方式(2)装入地址指针指令LDS/LES指令格式:LDSreg,srcLESreg,src执行操作:(reg)←src的偏移地址功能:将src指定的32位地址指针中的偏移量送reg,将段基址送DS或ES。例如:LDSBX,BUFFERLESSI,STRING第3章80x86指令系统与寻址方式(1)立即寻址方式(2)寄存器寻址方式(3)直接寻址方式(4)寄存器间接寻址方式(5)寄存器相对寻址方式(6)基址变址寻址方式(7)相对基址变址寻址方式)存储器寻址方式小结next第3章80x86指令系统与寻址方式熟练掌握(1)(2)(3)基本寻址方式(4)(5)(6)重点寻址方式数据传送指令要求next第3章80x86指令系统与寻址方式自学内容next算术运算指令逻辑运算与移位指令控制转移指令qqhrdx

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功