




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章80X86的寻址方式和指令系统,主要内容寻址方式指令系统,3.1概述,计算机解决问题:通过执行指令序列完成(一条指令对应一种基本操作,如:加、减、传送等)。每种计算机都提供一组指令集给用户,这组指令集称为计算机的指令系统。一条指令由操作码、操作数组成。操作码:指示计算机要执行的操作。操作数:指出指令在执行过程中所需要的操作数(也可是操作数的地址)。指令的一般格式:操作码、操作数(操作数字段可以有一个或两个,称为一地址、二地址或三地址指令。)如何寻找操作数就是寻址方式。,3.2寻址方式,有效地址EA和段超越有效地址EA、段超越与数据有关的寻址方式立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址基址变址寻址、相对基址变址寻址比例变址寻址、基址比例变址寻址、相对基址比例变址寻址与转移有关的寻址方式段内直接、间接寻址段间直接、间接寻址,3.2.1有效地址EA和段超越,1.有效地址(EA)当操作数存在mem中,其物理地址由段地址和偏移地址组成。其中偏移地址称EA。EA由以下四部分组成:(1)位移量:存在指令中的一个8位/16位、32位的数,不是立即数,是地址。(2)基址:存放在基址寄存器中的内容。(3)变址:存放在变址寄存器中的内容。(4)比例因子:其值为1、2、4、8,主要用于访问元素长度为1、2、4、8字节的数组有用。(386以后机型)EA基址(变址*比例因子)位移量,2.段超越,寻址时,由EA中基址寄存器来规定段寄存器。正常情况下,PC机有个基本约定:一般是DS寄存器的内容作为段地址,若BP作基址,则段地址在SS中。若操作数存放在数据段以外的其他段中(允许),则应指明,这种情况称为段超越。例:MOVAL,2000H物理地址为:16x(DS)+2000数据在DS段中MOVAL,ES:2000HES:段超越前缀物理地址为:16x(ES)+2000H数据在ES段(超越)注意!不允许段超越的有:堆栈操作,只能用SS,取指令,只能用CS,目的串只能用ES!(P39),3.2.2与数据有关的寻址1.立即寻址,操作数直接包含在指令中,紧跟在操作码的后面,与操作码一起放在代码段。Ex:MOVAX,imAx:目的操作数im:源操作数,(2)主要用来给寄存器/存储单元赋初值ex3.1:MOVAL,5(AL)=05Hex3.2:MOVAX,0B34CH(AX)=0B34CH,AHAL,OP,imL,imH,CS段,Im:立即数,可以是8位或16位。,OP,4C,B3,AHAL,CS段,注意!立即数以AF开头的十六进制数,必须在字母前加数字0。32位寻址时:ex3.3MOVEAX,12345678H(EAX)=12345678H,立即数寻址的功能,立即数寻址的执行,2.寄存器寻址(速度快),(1)操作数包含在CPU内部寄存器中,寄存器可以是8位或16位,也可以是32位。16位:AX、BX、CX、DX、SI、DI、SP、BP8位:AH、AL、BH、BL、CH、CL、DH、DL。32位:EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP(2)ex:MOVDS,AXDSAX,EX3.4(a)MOVAX,BX执行前:(AX)=3064H(BX)=1234H执行后:(AX)1234H(BX)不变。Ex3.4(b)MOVECX,EDX执行前:(ECX)=01237541H(EDX)=12345678H执行后:(ECX)12345678H(EDX)不变,寄存器寻址的功能,寄存器寻址的执行,3直接寻址,(1)操作数的EA只含位移量一部分,其值存放在CS段(Mem)中,放在OP之后,操作数一般在DS段。实模式下,其物理地址为:16x(Ds)+EA可以进行段超越。cs段(2)允许用符号地址代替数值EX:MOVAX,VALUE或MOVAX,VALUE若VALUE在ES段,则:MOVAX,ES:VALUE或MOVAX,ES:VALUE(3)用于处理单个变量,AHAL,30000H,32000H,50,30,OP,00,20,CS,DS,EX3.5MOVAX,2000HDS:3000HEA:2000H物理地址:30000H2000H32000H(32000H)=3050H(AX)3050H,Ex3.6MOVEAX,DATA(32位位移量),直接寻址的功能,直接寻址的执行,4.寄存器间接寻址,(1)操作数的EA只包含基址寄存器内容或变址寄存器内容,操作数在存储器中。16位寻址,可用的寄存器是BX、BP、SI、DI,其物理地址为:(SI)16x(Ds)+(DI)16x(SS)+(BP)可以进行段超越。(BX)Ex:MOVAX,SS:BX物理地址16X(SS)+(BX)操作数在SS段,采用段超越。32位寻址:EAX、EBX、ECX、EDX、ESP、EBP、ESI、EDI8个通用寄存器,ESP、EBP默认段为SS段。(2)用于表格处理,AHAL,20000H,21000H,A0,50,OP,Ex3.7MOVAX,BX操作数在DS段DS=2000HBX=1000H物理地址20000100021000H(21000H)50A0H(AX)50A0H,CS,DS,Ex3.8MOVECX,EDX,寄存器间接寻址的执行,5.寄存器相对寻址,(1)操作数的EA是基址寄存器或变址寄存器的内容和指令中指定的位移量之和。16位寻址,操作数在存储器中(BX)(BP)EA(SI)位移量(DI)(2)物理地址为:(SI)16x(Ds)+(DI)位移量16x(SS)+(BP)位移量(BX)(3)允许段超越,用于表格处理。EX:MOVAX,ES:STRINGDI物理地址16x(ES)+(DI)+STRING,AHAL,30000H,35000H,34,12,OP,Ex3.9:MOVAX,COUNTSI(MOVAX,SICOUNT)(DS)3000H(SI)2000HCOUNT3000H(符号地址)物理地址30000+2000+3000=35000H(35000H)=1234H(AX)=1234H,CS,DS,00,30,位移量(count),OP,32位寻址Ex:MOVEAX,TABLEESI,寄存器相对寻址的功能,寄存器相对寻址的执行,6.基址、变址寻址,(1)操作数的EA是一个基址寄存器与一个变址寄存器内容之和。操作数在存储器中16位寻址,其物理地址为:(SI)(SI)16x(Ds)(BX)+(DI)16x(SS)+(BP)(DI)(2)允许段超越,用于数组和表格处理EX:MOVAX,ES:BXSI段超越,34,12,DS,21000H,221FDH,AHAL,EX3.11:MOVAX,BXDI(或MOVAX,BX+DI)(DS)=2100H(BX)=0158H(DI)=10A5H物理地址21000+0158+10A5=221FDH(221FDH)=1234H(AX)=1234H,对于32位寻址方式:Ex:MOVEDX,EBXESI,基址变址寻址的功能,基址变址寻址的执行,7.相对基址、变址寻址,(1)操作数的EA是一个基址寄存器变址寄存器指令中指定的位移量之和,操作数在存储器中。(2)16位寻址方式中,物理地址为:(SI)16x(Ds)+(BX)+(DI)+位移量(SI)16x(SS)+(BP)+(DI)+位移量(3)允许段超越,用于堆栈处理。,EX3.8:MOVAX,MASKBXSI(或MOVAX,MASK+BX+SI或MOVAX,MASKBXSI)(DS)3000H(BX)=2000H(SI)=1000HMASK=0250H物理地址=30000+2000+1000+0250=33250H(33250H)=1234H(AX)=1234H,30000H,33250H,34,12,OP,50,02,位移量(mask),cs,ds,AHAL,对于32位寻址方式:Ex:MOVEAX,ARRAYEBXECX,相对基址变址寻址的功能,相对基址变址寻址的执行,8.比例变址寻址方式操作数EA变址寄存器的内容*指令中指定的比例因子位移量Ex3.12:MOVEAX,COUNTESI*49.基址比例变址寻址方式操作数EA基址寄存器的内容变址寄存器的内容*指令中指定的比例因子Ex3.13:MOVECX,EAXEDX*810.相对基址比例变址寻址方式操作数EA基址寄存器的内容变址寄存器的内容*指令中指定的比例因子位移量Ex3.14:MOVEAX,TABLEEBPEDI*4,3.2.3与转移地址有关的寻址方式用来确定转移指令和CALL指令的转向地址。有效地址存入IP,段地址在CS中。1.段内直接寻址,(1)EA当前的(IP)8位偏移量用EA作为新的IP16位偏移量(2)用于有条件转移D8无条件转移D8(128+127SHORT)或D16(-32768+32767NEAR),ex:JMPNEARPTRPROGA无条件转移&D16JMPSHORTQUEST&D8对于386及其后继机型,EA放入EIP,偏移量是8位或32位。8位是短转移(-128+127)32位是近转移(2G),2.段内间接转移,(1)EA:寄存器或存储单元中的内容。用EA作为新的IP(2)不能用于条件转移ex3.15:JMPBX(BX)=1256HEA(BX)执行后:BX不变,(IP)1256H转至CS:1256H执行。ex3.16:JMPTABLEBX(等价于JMPWORDPTRTABLEBX)物理地址16X(DS)+(BX)+TABLE=20000+1256+20A1=232F7H(232F7H)=3280H(新的IP)转至CS:3280H,ex3.17JMPBXSI(基址变址寻址)物理地址16X(DS)+(BX)+(SI)=20000+1256+528F=264E5H(264E5H)=2450H(新的IP)转至CS:2450H对于386及其后继机型,可允许16位或32位寻址。ex3.18:JMPECXex3.19JMPWordPtrTableESI,3段间直接寻址,(1)指令中提供了转向的段地址和偏移地址,用于取代CS、IP的内容,完成一个段到另一个段的转移(2)不能用于条件转移ex:JMPFARPTRNEXTRONTfarptr:段间转移操作符NEXTROUT:符号地址(IP、CS的值跟在OP之后),OP,50,02,00,20,JMP指令,新(IP)0250H,新(C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考试动态观察公共营养师试题及答案
- 汽摩配产品测试题及答案
- 二年级数学下册第6单元余数的除法小小设计师教案1新人教版
- 知识产权影响力的评估的考试试题及答案
- 药学研究前沿动态分享与试题及答案
- 育婴师观察技能与记录方法可探讨试题及答案
- 九年级道德与法治上册第二单元民主与法治第三课追求民主价值第2框参与民主生活教案新人教版
- 市政二建案例试题及答案
- 处方审核与药学评估试题及答案
- 卫生管理反应过程考试试题及答案
- 银行内控案防警示教育
- 2025-2030中国镀锌钢板行业市场发展趋势与前景展望战略研究报告
- 施工合同中约定的安全防护、文明施工措施费用支付计划
- 2025年安阳职业技术学院单招职业倾向性测试题库带答案
- 2025年审计监察面试题及答案
- nginx面试题及答案100道
- 2025年开封大学单招职业技能测试题库及答案1套
- 小学教师招聘-《小学教育学》押题密卷1
- 2022年学校财务工作自查总结
- 湖北省武汉市洪山区2023-2024学年八年级下学期期中考试物理试题
- 天津市新版就业、劳动合同登记名册
评论
0/150
提交评论