第3章 80x86汇编语言程序设计(上)ppt课件.ppt

第3章 80x86汇编语言程序设计(上)ppt课件.ppt

ID:58702757

大小:709.50 KB

页数:189页

时间:2020-10-04

第3章 80x86汇编语言程序设计(上)ppt课件.ppt_第1页
第3章 80x86汇编语言程序设计(上)ppt课件.ppt_第2页
第3章 80x86汇编语言程序设计(上)ppt课件.ppt_第3页
第3章 80x86汇编语言程序设计(上)ppt课件.ppt_第4页
第3章 80x86汇编语言程序设计(上)ppt课件.ppt_第5页
资源描述:

《第3章 80x86汇编语言程序设计(上)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章80x86汇编语言程序设计(上)1有效地址(effectiveaddressEA)——操作数在段内的偏移地址寻址方式——产生有效地址的方法80x86的操作数寻址方式有:1、立即寻址2、寄存器寻址3、存储器寻址4、端口寻址3.180x86的寻址方式3.1.1操作数寻址80x86指令的一般汇编语言格式:[标号:]指令助记符[[目的操作数][,源操作数]][;注释]其中[]表示可选项;21、立即寻址操作数以常量形式直接放在指令中,紧跟在操作码之后机器码存放形式如下:代码段代码段OP操作码OP操作码D8操作数D16低8位操作数……D16高8位立即寻址示例MOVAH,-

2、40;-40AHMOVAX,34D8H;34HAH,D8HALMOVAX,-40;0FFD8H(-40)AXMOVEAX,12345678H;12345678HEAX我们首先讨论两种与存储器无关的寻址方式:32、寄存器寻址操作数存放在某个寄存器中,指令指定寄存器号指令寄存器寄存器号操作数寄存器号操作数寄存器寻址示例MOVAH,BL;(BL)-->AHMOVDS,AX;(AX)-->DSMOVSI,AX;(AX)-->SIMOVECX,EDX;(EDX)ECX说明:立即和寄存器寻址方式不需访问存储器即可得到操作数,速度快4有效地址(EA)的4种组成成分:位

3、移量(displacement)存放在指令中的8位、16位或32位的数,是一个地址有效地址的计算:EA=基址+(变址*比例因子)+位移量比例因子(scalefactor)其值可为1,2,4或8,386及其后继机型新增加的变址(index)存放在变址寄存器中的内容,用于访问数组的某个元素基址(base)存放在基址寄存器中的内容,用于指向数组的首地址下面我们来讨论余下的几种与存储器有关的寻址方式,先介绍几个概念:516/32位寻址时有效地址四种成分的组成四种成分16位寻址32位寻址位移量0,8,16位0,8,32位基址寄存器BX,BP任何32位通用寄存器(包括ESP)变

4、址寄存器SI,DI除ESP以外的32位通用寄存器比例因子无1,2,4,86访存类型所用段及寄存器缺省选择规则指令代码段CS用于取指堆栈堆栈段SS所有的堆栈的进栈和出栈任何用ESP或EBP作为基址寄存器的访存目的串附加数据段ES串处理指令的目的串局部数据数据段DS除相对于堆栈以及串处理的目的串以外的所有数据访问默认段选择规则7不允许使用段超越前缀的情况:(1)串操作指令的目的串必须用ES段(2)PUSH指令的目的和POP指令的源必须用SS段(3)程序的指令必须存放在CS段访问非默认段数据的方法——段超越数据的存放比较灵活,除了放在默认的DS段,还可以存放在别的段,此时

5、访问他们需要使用段超越前缀,可用的段超越前缀有CS:,DS:,ES:,SS:,FS:,GS:。段超越举例:MOVAX,[10H];DS段10H处的一个字的数据赋给AX寄存器MOVAX,ES:[10H];ES段10H处的一个字的数据赋给AX寄存器83、直接寻址操作数地址的偏移量(EA)在指令中物理地址=指定段的段基址*16+偏移量系统默认,操作数在数据段段基地址EA操作数+指令存储器MOVAX,2000H;立即寻址MOVAX,[2000H];直接寻址9直接寻址示例1MOVAX,[1000H]物理地址设(DS)=10A0H10A00H代码段+1000HOP11A00H0

6、0H10H数据段11A00H30H50H50H30HAX(本章中图示存储器地址从上到下递增)低地址10直接寻址示例2MOVBL,ES:[0100H]物理地址设(ES)=3000H30000H(DS)=2000H+0100H30100H30100H4B00BL4B在汇编语言指令中,可以用符号地址代替数值地址如:MOVAX,BUFF或MOVAX,[BUFF]其中BUFF为存放数据单元的符号地址。114、寄存器间接寻址操作数在存储器中,操作数地址的偏移量(EA)在寄存器中基址或变址寄存器EA操作数+存储器指令寄存器段基地址寄存器间接寻址示例MOVAL,[BX]MOVAX,

7、CS:[SI]MOVECX,[EDX]MOVAH,[BP]12MOVAH,[BP]MOVBX,[SI]MOVCX,SI设(SS)=1000H,(DS)=2000H,(BP)=0B10H,(SI)=032AH物理地址物理地址10000H20000H+0B10H+032AH10B10H2032AH40H00H3EH46H40HAH10B10H…2032AH463EHBX2032BH10B11HSI032AH032AHCX135、基址寻址操作数的有效地址是基址寄存器的内容加上指令中指定的位移量基址寄存器位移量地址++操作数指令基址寄存器段基地址存储器EA可用于数组元素

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。