汇编语言-寻址方式

汇编语言-寻址方式

ID:19630205

大小:218.00 KB

页数:23页

时间:2018-10-04

汇编语言-寻址方式_第1页
汇编语言-寻址方式_第2页
汇编语言-寻址方式_第3页
汇编语言-寻址方式_第4页
汇编语言-寻址方式_第5页
资源描述:

《汇编语言-寻址方式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、80x86的寻址方式计算机是通过执行指令序列来解决问题的,因此每种计算机都有一组指令系统提供给用户使用,这组指令集就称为计算机的指令系统。计算机中的指令由操作码字段和操作数字段两部分组成。指令的操作码字段在机器里面的表示比较简单,只需对每一种操作指定确定的二进制代码就可以了。指令的操作数字段情况较为复杂。确定指令中用于说明操作数所在地址的方法称为寻址方法。8086/8088有七种基本的寻址方式。操作码操作数...操作数1.立即寻址方式操作数就包含在指令中,它作为指令的一部分,跟在操作后存放在代码段,这种操作数就称为立即数。立即数可以是8位的,也可以是16位的。如果是16位立即数,按“高高低

2、低”原则进行读取。例如:MOVAX,1234H再如:MOVAL,5则执行指令后(AL)=05HMOVBX,2064H则执行指令后,(BX)=3064H2.寄存器寻址方式操作数在CPU内部的寄存器中,指令指定寄存器号。对于16位操作数,寄存器可以是:AX,BX,CX,DX,SI,DI,SP,BP对于8位操作数,寄存器可以是:AL,AH,BL,BH,CL,CH,DL,DH这种寻址方式由于操作数就在寄存器中,不需要访问存储器来取得操作数,因而可以取得较高的运算速度。例如:MOVAX,BX如指令执行前(AX)=3064H,(BX)=1234H。则指令执行后,(AX)=1234H,(BX)保持不变又

3、如:MOVSI,AXMOVAL,DH都是寄存器寻址的的例子。3.直接寻址方式操作数在寄存器中,指令直接包含有操作数的有效地址(偏移地址)。操作数一般存放在数据段。所以,操作数低地址由DS加上指令中直接给出的16位偏移得到。例如:如果(DS)=2000H,MOVAX,[8054H]在汇编语言指令中,可以用符号地址代替数值地址,如:MOVAX,VALUE此时,VALUE为存放操作数单元的符号地址。如写成:MOVAX,[VALUE]也是可以的,两者等价。如VALUE在附加段中,则应指定段超越前缀如下:MOVAX,ES:VALUE或MOVAX,ES:[VALUE]直接寻址方式常用语处理单个存储器变

4、量的情况。它可以实现在64K字节的段内寻址操作数。直接寻址的操作数通常是程序使用的变量。注意:立即寻址和直接寻址书写表示方法上是不同的,直接寻址的地址要放在方括号中。在源程序中,往往用变量名表示。4.寄存器间接寻址方式操作数在存储器中,操作数有效地址在SI、DI、BX、BP这四个寄存器之一中。在一般情况下,如果有效地址在SI、DI和BX中,则以DS寄存器之内容位段值。如果有效地址在BP中,则以SS段寄存器之内容位段值。例如:如果(DS)=5000H,(SI)=1234HMOVAX,[SI]指令中也可指定段超越前缀来取得其它段中的数据。如,MOVAX,ES:[BX]引用的段寄存器是ES请熟悉

5、下面的表达形式:MOV[SI],AX;目的操作数间接寻址MOV[BP],CX;目的操作数引用的段寄存器是SSMOVSI,AX;目的操作数寄存器寻址5.寄存器相对寻址方式操作数在存储器中,操作数的有效地址是一个基址寄存器(BX、BP)或变址寄存器(SI、DI)内容加上指令中给定的8位或16位位移量之和。即:在一般情况下,如果SI、DI或BX之内容作为有效地址的一部分,那么引用的段寄存器是DS;如果BP之内容作为有效地址的一部分,那么引用的段寄存器是SS。在指令中给定的8位或16位位移量采用补码形式表示。在计算有效地址时,如位移量是8位,则被带符号扩展成16位。例如:如果(DS)=5000H,

6、(DI)=3678HMOVAX,[DI+1234H]则,物理地址=50000+3678+1223=5489BH假设该字存储单元的内容如下,则(AX)=55AAH请熟悉下面的写作形式:MOVBX,[BP-4]源操作数间接相对寻址,引用的段寄存器是SS。MOVES:[BX+5],AL目的操作数采用寄存器相对寻址,引用的段寄存器是ES。指令MOVAX,[SI+3]与MOVAX,3[SI]是等价的。6.基址加变址寻址方式操作数在存储器中,操作数的有效地址是由:基址寄存器之一的内容与变址寄存器之一的内容相加。即:在一般情况下,如果BP之内容作为有效地址的一部分,那么引用的段寄存器是SS;否者以DS之

7、内容为段值。例如:如果(DS)=2100H,(BX)=0158H,(DI)=10A5HMOVAX,[BX][DI]假设该字存储单元的内容如下,则(AX)=1234H下面两种表示方法是等价的:MOVAX,[BX+DI]MOVAX,[DI][BX]下面指令中,目的操作数采用基址加变址寻址,引用的段寄存器是DS。MOVDS:[BP+SI],AL下面指令中,源操作数采用基址加变址寻址,引用的段寄存器ES。MOVAX,ES:[BX

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

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

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