体育资讯网为您提供各类: 体育资讯2017最新体育资讯 大品牌游戏 希望您能喜欢!

您现在的位置: 主页 > 购买源码 > 文章内容

段寄存器和8种地址寻址方式 - findumars

频道标签:网络整理 发布时间:2018-01-22 录入:admin 点击:
ad

鉴于内存充满实行,引起了充满寄存器。。

16位CPU有四段寄存器,它的按次可以同时运用四段变化多的的纠缠。,参考文献中有以下规则:
1. 取命令:段寄存器cs指导回忆按次的内存段。,IP是用来沉淀方针的偏移是NEX处死,把它们放被拖,话说回来在内存中处死贴近的方针。。
2. 获取堆栈:段寄存器SS指导堆栈的内存段。,sp是用于指导堆栈的堆栈的顶部。,把它们放被拖运用堆栈的顶部。。那个,当拨弄寄存器中运用偏移量时,它的默许段寄存器亦SS。,完全的堆栈都可以用bp运用。,不仅是运用堆栈的顶部。
3. 取档案:指导档案段的段寄存器DS,指导附加段,当运用操算数时,二者都达到目的一个人与一个人偏移量相结合,以开腰槽。偏移量可以是特定的的值。、记分地址和拨弄寄存器的值经过。,特例将由称呼方式决议的器。通常,默许档案段寄存器是DS,要不是一个人批评,即:在一个人字母串容易搬运中,其物镜地址的段寄存器被规定为ES。。
4. 其它情境,段寄存器在其默许援用的寄存器而且。,它也可能性逼上梁山更顶替其他的段寄存器。。

32位CPU有6段寄存器,按次可以在倘若的时间内运用6个变化多的的段。。它的段寄存器的值有变化多的的纠缠。:
1. 密码段寄存器:32位微电脑在运用方针。,零碎自动地援用CS和EIP来取出下条方针。
2. 堆栈段寄存器:存取堆栈时的32位微电脑,前后援用堆栈段寄存器SS。堆栈拨弄可以用作32位ESP和16位sp。。
3. 档案段寄存器:DS是首要的档案段寄存器。。通常情境下,它是以及运用内部档案而且的默许段寄存器。。在若干字母串容易搬运中,其物镜操算数的段归还经登记借出的东西指出为ES是另一个人排列中的任一组数字或文字。
段归还经登记借出的东西CS、SS、ES、在存取档案时,FS和GS也可以用作段寄存器(或,纵然它们只好最接近的以方针的方式被读到方针。。大约,方针的上浆就会增添。,方针的处死时间也被延年益寿。。
大抵,按次常常运用的档案段是指导B的。,难得运用的档案段可以由ES运用。、fs和GS等指导。


--------------------------------------操算数的称呼方式------------------------------------------
1. 立即地称呼的方式(操算数作为方针的一份写,操算数的数量称为最接近的数字。
MOV AH, 80H
ADD AX, 1234H

2. 寄存器称呼方式(研究工作实验室需求的操算数),或将目的操算数保在寄存器中。
ADD VARD, EAX (源操算数是寄存器称呼方式)
ADD BH, 78h (目的操算数是寄存器称呼方式)
MOV EAX, EBX (源和目的操算数都是寄存器称呼)

3. 最接近的称呼(方针所需的操算数是st),操算数的无效地址最接近的在方针预约。
MOV BX, [1234H],在处死时,(DS)=2000H,回忆单元的值是5213h 21234h。
该方针的处死分为三局部。:
1). 因1234h是最接近的地址,它依照方针的容易搬运密码。,用方针识别力;
2). 运用档案段的段寄存器是DS。,因而,添加DS的值(左移4位)和偏移1234h,回忆单元的物理地址:21234H;
3). 单位的价5213h 21234h,阵地在归还经登记借出的东西的高和低根底在BX。
因而,方针处死后,BX的值是5213h。
MOV ES:[1000H], AX (以为DS,终结要指出对其他的段达到目的档案的运用,可以用方针达到目的段前缀的方式显式地编译。

4. 寄存器不坦率的称呼方式、使自己站稳BX,它的默许段寄存器是DS;运用bp指出,它的默许段寄存器是SS)
MOV BX,[二],在处死时,(DS)=1000H,(DI)=2345H,回忆单元的心甘情愿的是4354h 12345h。
处死终结 PA=(DS)*16+DI=1000H*16+2345H=12345H。方针的处死后果是:让一词从物理地址到12345h到BX的价。

5. 寄存器绝对称呼方式,但增添一个人偏移量)
MOV BX, [SI+100H],当处死它,(DS)=1000H,(SI)=2345H,回忆单元的心甘情愿的是2715h 12445h
EA=(SI)+100H=2345H+100H=2445H
PA=(DS)*16+EA=1000H*16+2445H=12445H
方针的处死后果是:让一词从物理地址到12445h到BX的价。

6. 本贮藏称呼方式(无效地址是一个人根底的归还经登记借出的东西(BX、一个人可变因素日博(SI)、DI目录积和)
MOV BX, [BX+SI],在处死时,(DS)=1000H,(BX)=2100H,(SI)=0011H,回忆单元的心甘情愿的是1234h 12111h
EA=(BX)+(SI)=2100H+0011H=2111H
PA=(DS)*16+EA=1000H*16+2111H=12111H
方针的处死后果是:让一词从物理地址到12111h到BX的价。

7. 绝对基址变址称呼方式(同上。,但增添一个人偏移量)
MOV AX, [BX+SI+200H],在处死时,(DS)=1000H,(BX)=2100H,(SI)=0010H,回忆单元的心甘情愿的是1234h 12310h
EA=(BX)+(SI)+200H=2100H+0010H+200H=2310H
PA=(DS)*16+EA=1000H*16+2310H=12310H
方针的处死后果是:让一词从物理地址到12310h斧头的价。
以下四种笔法方式是等效的的:
MOV AX, [BX+SI+1000H]
MOV AX, 1000H[BX+SI]
MOV AX, 1000h [中] [寺]
MOV AX, 1000h [寺] [中]

8. 32位地址的称呼方式
当运用16位寄存器运用回忆单元时,唯一的运用贱的址寄存器(BX和BP)和变址寄存器(SI和DI)来作为地址偏移量的一份,纵然在用32位寄存器称呼时,缺席前述的限度局限,尽量的32位寄存器(EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP)都可以的一个人组成局部的地址偏移量。
用32位地址偏移称呼时,内存地址的偏移可以分为三局部。:32位寄存器,仅1、2、4或8个32位日博,8位/ 32位的偏移常数,这三局部也可以恣意结成。,遵守时髦的一个人或两个。

EA = 基址寄存器 + 可变因素日博*求出比值分水设备(1或2或4或8) 偏移不断的
怀疑:嗨缺席段寄存器。。32例,段寄存器的值为0。,或许什么价无价值?。

32个是基址寄存器。:EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP;
32位日博是:EAX、EBX、ECX、EDX、ESI、EDI和EBP(ESP除外)

尽量的的行寄存器都可以运用,因32位称呼模块。,因而,与无效地址相结合的段寄存器也有新的。详细规则列举如下:
1). 地址中寄存器的漂亮的书写按次决议该寄存器是基址寄存器,或可变因素日博;
如:【EBX EBP EBX是贱的 ]归还经登记借出的东西,EBP是一个人变量的地址归还经登记借出的东西,[电子书 EBX EBP基归还经登记借出的东西],EBX是一个人变量的地址归还经登记借出的东西;
2). 默许段寄存器选择倚靠基址寄存器。;
3). 贱的归还经登记借出的东西是EBP或ESP,默许段寄存器是,别的方式,默许段寄存器是DS;
4). 在方针,终结运用段前缀,这么,显式段寄存器优先考虑的事。

方针的样板 用于运用回忆单元的段寄存器。
MOV AX, [123456H] ;默许段寄存器
MOV EAX, [EBX+EBP] ;默许段寄存器
MOV EBX, [EBP+EBX] ;默许段寄存器
MOV EBX, [EAX+100H] ;默许段寄存器
MOV EDX, ES:[EAX*4+200H] ;显式段寄存器
MOV [ESP+EDX*2], AX ;默许段寄存器
MOV EBX, GS:[EAX+EDX*2+300H] ;显式段寄存器
MOV AX, [英语] ;默许段寄存器

下一篇:没有了