第三章--80X86寻址方式和指令系统.ppt
《第三章--80X86寻址方式和指令系统.ppt》由会员分享,可在线阅读,更多相关《第三章--80X86寻址方式和指令系统.ppt(106页珍藏版)》请在咨信网上搜索。
1、第三章 80 x86寻址方式和指令系统第三章第三章 80X8680X86寻址方式和指令系统寻址方式和指令系统3.13.1 80X8680X86寻址方式寻址方式3.23.2 80X8680X86指令格式指令格式3.33.3 80X8680X86指令系统指令系统 第三章 80 x86寻址方式和指令系统3.1 80X863.1 80X86寻址方式寻址方式3.1.1 3.1.1 数据寻址方式数据寻址方式 操作数有可能在:操作数有可能在:(1 1)代码段中,作为指令中的立即数代码段中,作为指令中的立即数 (2 2)CPUCPU寄存器中寄存器中 (3 3)存储器的数据段或堆栈段或附加数据段中)存储器的数据
2、段或堆栈段或附加数据段中所以,总的来说,数据寻址方式分为三种:所以,总的来说,数据寻址方式分为三种:立即寻址立即寻址 寄存器寻址寄存器寻址 存储器寻址存储器寻址第三章 80 x86寻址方式和指令系统一、立即寻址一、立即寻址操作数操作数直接包含在直接包含在代码段的指令代码段的指令中。中。如:如:MOV EAXMOV EAX,80000000H80000000H MOV BX MOV BX,6688H6688H MOV AX MOV AX,1234H1234H立即数只能作为源操作数立即数只能作为源操作数立即寻址主要用来给通用寄存器或存储器赋值立即寻址主要用来给通用寄存器或存储器赋值不允许给段寄存器
3、直接赋值不允许给段寄存器直接赋值第三章 80 x86寻址方式和指令系统例例3.1 立即寻址立即寻址第三章 80 x86寻址方式和指令系统立即寻址过程示意立即寻址过程示意第三章 80 x86寻址方式和指令系统二、寄存器寻址二、寄存器寻址操作数操作数在在寄存器寄存器中。中。3232位寄存器:位寄存器:EAXEAX、EBXEBX、ECXECX、EDXEDX、ESPESP、EBPEBP、ESIESI、EDIEDI1616位寄存器:位寄存器:AXAX、BXBX、CXCX、DXDX、SPSP、BPBP、SISI、DIDI、CSCS、DSDS、SSSS、ESES、FSFS、GSGS8 8 位寄存器:位寄存器
4、:AHAH、ALAL、BHBH、BLBL、CHCH、CLCL、DHDH、DLDL 如:如:MOV AXMOV AX,BXBX MOV EDI MOV EDI,ESIESI MOV AL MOV AL,CLCL第三章 80 x86寻址方式和指令系统例例3.2 寄存器寻址寄存器寻址第三章 80 x86寻址方式和指令系统三、存储器寻址三、存储器寻址 操作数操作数在在存储器存储器中,其地址由指令以某种方式中,其地址由指令以某种方式指出。指出。(一)(一)1616位指令模式下:位指令模式下:物理地址物理地址=段基址段基址 10H 10H 有效地址有效地址EAEA(二)二)3232位指令模式下:位指令模式
5、下:物理地址物理地址=段基址段基址 有效地址有效地址EAEAEAEA的计算方法根据采用的寻址方式不同而不同。的计算方法根据采用的寻址方式不同而不同。第三章 80 x86寻址方式和指令系统(一)一)1616位指令模式下的存储器寻址位指令模式下的存储器寻址 1616位指令模式寻址结构位指令模式寻址结构:段基址段基址10H10H基址变址偏移量基址变址偏移量 基址:基址:BXBX、BPBP 变址:变址:SISI、DIDI 偏移量:偏移量:8 8位或位或1616位位 如果有效地址在如果有效地址在BXBX,SISI或或DIDI中,则以中,则以DSDS寄存器内容为段基址;寄存器内容为段基址;如果有效地址在如
6、果有效地址在BPBP中,则以中,则以SSSS段寄存器之内容为段基址。如果段寄存器之内容为段基址。如果使用段超越前缀(使用段超越前缀(CSCS:ESES:DSDS:SSSS:),:),操作数可以放在冒号操作数可以放在冒号前指定的段。前指定的段。1616位指令模式寻址方式位指令模式寻址方式:直接寻址直接寻址 寄存器间接寻址寄存器间接寻址 寄存器相对寻址寄存器相对寻址 基址变址寻址基址变址寻址 相对基址变址寻址相对基址变址寻址 第三章 80 x86寻址方式和指令系统1 1、直接寻址、直接寻址操作数在存储器单元中。操作数在存储器单元中。操作数所在的操作数所在的有效地址有效地址EAEA直接由指令指出直接
7、由指令指出。例例1 MOV AX1 MOV AX,3000H3000H 例例2 MOV BL2 MOV BL,BLOCKBLOCK 例例3 MOV BX3 MOV BX,DATA1DATA1第三章 80 x86寻址方式和指令系统例例3.3 直接寻址直接寻址第三章 80 x86寻址方式和指令系统直接寻址过程示意直接寻址过程示意第三章 80 x86寻址方式和指令系统2 2、寄存器间接寻址、寄存器间接寻址 操操作作数数的的有有效效地地址址在在BXBX、BPBP或或SISI、DIDI中中,EAEA可表示为可表示为例例1 MOV AX1 MOV AX,BXBX例例2 MOV DL2 MOV DL,SIS
8、I第三章 80 x86寻址方式和指令系统例例3.4 寄存器间接寻址寄存器间接寻址第三章 80 x86寻址方式和指令系统寄存器间接寻址过程示意寄存器间接寻址过程示意第三章 80 x86寻址方式和指令系统3 3、寄存器相对寻址、寄存器相对寻址操作数在存储单元中,其操作数在存储单元中,其有效地址有效地址EAEA可表示为可表示为 例例1 MOV AL1 MOV AL,BXBX4000H4000H亦可写成:亦可写成:MOV ALMOV AL,4000HBX4000HBX 例例2 MOV AX2 MOV AX,BP+2000HBP+2000H第三章 80 x86寻址方式和指令系统例例3.6 寄存器相对寻址
9、寄存器相对寻址第三章 80 x86寻址方式和指令系统寄存器相对寻址过程示意寄存器相对寻址过程示意第三章 80 x86寻址方式和指令系统4 4、基址变址寻址、基址变址寻址操作数在存储单元中,其有效地址操作数在存储单元中,其有效地址EAEA可表示为可表示为 例例1 MOV AX1 MOV AX,BXBXSI SI 或写成:或写成:MOV AXMOV AX,BXSIBXSI 例例2 MOV AX2 MOV AX,BX+DIBX+DI 例例3 MOV AX3 MOV AX,BP+SIBP+SI 例例4 MOV AX4 MOV AX,BP+DIBP+DI 第三章 80 x86寻址方式和指令系统例例3.7
10、 基址变址寻址基址变址寻址第三章 80 x86寻址方式和指令系统基址变址寻址过程示意基址变址寻址过程示意第三章 80 x86寻址方式和指令系统5 5、相对基址变址寻址、相对基址变址寻址操作数在存储单元中,其操作数在存储单元中,其有效地址有效地址EAEA可表示为可表示为 例例1 MOV AX1 MOV AX,BXBXSISI1500H1500H或写成或写成 MOV AXMOV AX,1500BXSI1500BXSI 例例2 MOV AX2 MOV AX,BP+DI+1000HBP+DI+1000H第三章 80 x86寻址方式和指令系统例例3.8 相对基址变址寻址相对基址变址寻址第三章 80 x8
11、6寻址方式和指令系统相对基址变址寻址过程示意相对基址变址寻址过程示意第三章 80 x86寻址方式和指令系统(二)二)3232位指令模式下的存储器寻址位指令模式下的存储器寻址 3232位指令模式寻址结构由位指令模式寻址结构由5 5部分组成部分组成:段址段址基址变址基址变址比例因子偏移量比例因子偏移量 其中基址寄存器或变址寄存器可以是除其中基址寄存器或变址寄存器可以是除ESPESP以以外的任何外的任何3232位通用寄存器。当基址寄存器为位通用寄存器。当基址寄存器为EBPEBP时,时,默认段寄存器默认段寄存器SSSS存放段选择符,否则,默认存放段选择符,否则,默认DSDS存存放段选择符。也可使用段超
12、越前缀来指定。比例放段选择符。也可使用段超越前缀来指定。比例因子为因子为1 1,2 2,4 4,8 8。偏移量为。偏移量为8 8位或位或3232位。位。第三章 80 x86寻址方式和指令系统3232位指令模式下的存储器寻址方式位指令模式下的存储器寻址方式1 1、直接寻址、直接寻址 如:如:MOV EAXMOV EAX,10000000H10000000H2 2、间接寻址间接寻址 如:如:MOV EDXMOV EDX,ECXECX3 3、相对基址寻址相对基址寻址 如:如:MOV ECXMOV ECX,EAX+80HEAX+80H4 4、相对比例变址寻址相对比例变址寻址 如:如:MOV EBXMO
13、V EBX,ESI*4+80HESI*4+80H5 5、相对比例基址变址寻址相对比例基址变址寻址 如:如:MOV EAXMOV EAX,EBP+EDI*4+80HEBP+EDI*4+80H第三章 80 x86寻址方式和指令系统3.1.2 3.1.2 程序地址寻址方式程序地址寻址方式一、相对寻址一、相对寻址 相对寻址为段内寻址,指令中给出带符号的相对偏相对寻址为段内寻址,指令中给出带符号的相对偏移量,程序目标地址为当前移量,程序目标地址为当前IPIP值加上相对偏移量作为偏移值加上相对偏移量作为偏移地址。地址。二、二、直接寻址直接寻址 直接寻址是指指令中直接给出转移指令的目标地址。在直接寻址是指指
14、令中直接给出转移指令的目标地址。在段间转移中,指令中给出目标段地址或代码段的段描述符。段间转移中,指令中给出目标段地址或代码段的段描述符。三、间接寻址三、间接寻址 间接寻址间接寻址 分段内和段间间接寻址,指令中以间接方分段内和段间间接寻址,指令中以间接方式给出转移指令的目标地址,通常存放在数据段。式给出转移指令的目标地址,通常存放在数据段。第三章 80 x86寻址方式和指令系统3.1.3 3.1.3 堆栈地址寻址方式堆栈地址寻址方式字数据字数据进栈进栈步骤步骤:1 1、(、(E E)SPSP11(E E)SPSP2 2、高高8 8位位堆栈堆栈3 3、(、(E E)SPSP11(E E)SPSP
15、4 4、低、低8 8位位堆栈堆栈字数据字数据出栈出栈步骤步骤:1 1、栈顶内容、栈顶内容目标寄存器或目标单元的低目标寄存器或目标单元的低8 8位位2 2、(、(E E)SPSP11(E E)SPSP3 3、栈顶内容栈顶内容目标寄存器或目标单元的高目标寄存器或目标单元的高8 8位位4 4、(、(E E)SPSP11(E E)SPSP第三章 80 x86寻址方式和指令系统堆栈操作示意堆栈操作示意第三章 80 x86寻址方式和指令系统思考题思考题 1、设DS=2000H,SS=3000H,BP=0200H,SI=4000H,BUF=1000H,EAX=00001000H,EBX=00002000H,
16、假设按16位实模式操作,确定下列每条指令访问内存的物理地址,并且指出源操作数及目的操作数的寻址方式。(1)MOV AL,1234H (2)MOV EDX,BX(3)MOV CL,BX100H (4)MOV SI,EBX(5)MOV AH,BUFBXSI(6)MOV EAX,BP1234H 第三章 80 x86寻址方式和指令系统3.2 80X863.2 80X86指令格式指令格式指令基本格式:指令基本格式:标号:标号:助记符助记符 操作数操作数 ;注释;注释BYTE PTR BYTE PTR 。WORD PTR WORD PTR 。DWORD PTR DWORD PTR 。如如 INC WORD
17、 PTR BXINC WORD PTR BX第三章 80 x86寻址方式和指令系统3.3 80X863.3 80X86指令系统指令系统按功能分类:按功能分类:数据传送指令数据传送指令算术运算指令算术运算指令逻辑运算指令逻辑运算指令控制转移类指令控制转移类指令串操作指令串操作指令输入输入/输出指令输出指令处理器控制指令处理器控制指令中断指令与中断指令与DOS功能调用功能调用第三章 80 x86寻址方式和指令系统3.3.1 3.3.1 数据传送指令数据传送指令通用数据传送指令通用数据传送指令堆栈操作指令堆栈操作指令地址传送指令地址传送指令标志寄存器传送指令标志寄存器传送指令查表指令查表指令符号扩展
18、指令符号扩展指令数据传送指令包括:数据传送指令包括:第三章 80 x86寻址方式和指令系统3.3.1 3.3.1 数据传送指令数据传送指令数据传送指令包括:数据传送指令包括:通用数据传送指令通用数据传送指令堆栈操作指令堆栈操作指令地址传送指令地址传送指令标志寄存器传送指令标志寄存器传送指令查表指令查表指令符号扩展指令符号扩展指令第三章 80 x86寻址方式和指令系统传送指令数据流传送指令数据流*CSCS不能为目的操作数,不能对(不能为目的操作数,不能对(E E)IPIP直接传送数据直接传送数据*堆栈操作不允许为字节操作堆栈操作不允许为字节操作第三章 80 x86寻址方式和指令系统一、通用数据传
19、送指令一、通用数据传送指令DEST:目的操作数目的操作数SRC:源操作数源操作数1、一般传送指令、一般传送指令 MOV DEST,SRC如:如:MOV AL,CL MOV BX,SI MOV EAX,EBX 第三章 80 x86寻址方式和指令系统使用使用MOV指令应注意:指令应注意:立即数不允许直接送段寄存器,且立即数不能立即数不允许直接送段寄存器,且立即数不能做目的操作数做目的操作数源操作数和目的操作数不允许同时为存储器操源操作数和目的操作数不允许同时为存储器操作数作数源操作数和目的操作数不允许同时为段寄存器源操作数和目的操作数不允许同时为段寄存器两操作数的数据类型要一致两操作数的数据类型要
20、一致传送操作不影响标志位传送操作不影响标志位不允许对不允许对CS、(、(E)IP传送数据传送数据第三章 80 x86寻址方式和指令系统2、扩展传送指令、扩展传送指令 MOVSX DEST,SRC MOVZX DEST,SRC如如 MOV BL,80H MOVSX AX,BL;AX=FF80H MOVZX AX,BL;AX=0080H*目的操作数为通用寄存器(目的操作数为通用寄存器(16位或位或32位位)*源操作数长度必须小于目的操作数长度,为通源操作数长度必须小于目的操作数长度,为通用寄存器或存储器操作数(用寄存器或存储器操作数(8位或位或16位位)第三章 80 x86寻址方式和指令系统3、交
21、换指令、交换指令 XCHG DEST,SRC如:如:XCHG EAX,EBX XCHG AX,SI XCHG AL,SI*两操作数中不允许出现立即数两操作数中不允许出现立即数*两操作数不允许同时为存储器操作数两操作数不允许同时为存储器操作数*两操作数数据类型必须一致两操作数数据类型必须一致 第三章 80 x86寻址方式和指令系统二、堆栈操作指令二、堆栈操作指令压栈指令压栈指令 PUSH SRC如:如:PUSH EAX PUSH DS PUSH SI PUSH DWORD PTR SI PUSH 1234H PUSHD 80H 出栈指令出栈指令 POP DEST如:如:POP AX POP DS
22、 POP BX POP DWORD PTR DI 第三章 80 x86寻址方式和指令系统三、地址传送指令三、地址传送指令格式:格式:LEA DEST,SRC *DEST为为16位或位或32位通用寄存器位通用寄存器 *SRC为为16位或位或32位存储器操作数位存储器操作数例例1:LEA BX,SI+1005H 若若SI=1000H 则则BX=?例例2:LEA DI,BLOCK MOV DI,BLOCK 有何区别?有何区别?第三章 80 x86寻址方式和指令系统四、标志寄存器传送指令四、标志寄存器传送指令格式格式1:LAHF SAHF格式格式2:PUSHF POPF格式格式3:PUSHFD POP
23、FD*SAHF、POPF、POPFD影响标志位影响标志位第三章 80 x86寻址方式和指令系统五、查表指令五、查表指令格式:格式:XLAT指令规定:表格存于数据段中指令规定:表格存于数据段中 表首偏移地址表首偏移地址BX 表内表内偏移量偏移量AL 查找结果查找结果AL所找单元的物理地址所找单元的物理地址:(DS)10H+(BX)+(AL)第三章 80 x86寻址方式和指令系统查表指令应用举例查表指令应用举例LEA BX,BLOCK MOV AL,3 XLAT结果:结果:AL内容为内容为4FH例:试编程将内存中以例:试编程将内存中以BLOCK为起始地址的编码表中顺为起始地址的编码表中顺序号为序号
24、为3的编码送的编码送AL寄存器。寄存器。第三章 80 x86寻址方式和指令系统六、符号扩展指令六、符号扩展指令针对带符号数,按带符号数扩展。针对带符号数,按带符号数扩展。1、CBW 功能:功能:AL(8位)位)AX(16位)位)2、CWD 功能:功能:AX(16位)位)DX:AX(32位)位)3、CWDE 功能:功能:AX(16位)位)EAX(32位)位)4、CDQ 功能:功能:EAX(32位)位)EDX:EAX(64位)位)第三章 80 x86寻址方式和指令系统3.3.2 3.3.2 算术运算指令算术运算指令加法指令加法指令减法指令减法指令加加1减减1指令指令比较指令比较指令乘法指令乘法指令
25、除法指令除法指令BCD算术运算指令算术运算指令第三章 80 x86寻址方式和指令系统算术运算类指令特点算术运算类指令特点影响标志位影响标志位操作数不允许为段寄存器操作数不允许为段寄存器不允许两个操作数同为存储器操作数不允许两个操作数同为存储器操作数若无特别规定,操作数类型必须一致若无特别规定,操作数类型必须一致目的操作数不允许为立即数目的操作数不允许为立即数当操作数类型不明确时必须使用当操作数类型不明确时必须使用PTR伪指令伪指令第三章 80 x86寻址方式和指令系统一、加法指令一、加法指令格式(格式(1)ADD DEST,SRC功能:源操作数功能:源操作数+目的操作数目的操作数目的操作数目的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 80 X86 寻址 方式 指令系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。