真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何訪問存儲器時使用bp尋址-創(chuàng)新互聯(lián)

小編給大家分享一下如何訪問存儲器時使用bp尋址,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)是一家專業(yè)提供臨沭企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為臨沭眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。

如果訪問存儲器時使用bp尋址,則默認(rèn)的段寄存器是“SS”,即堆棧段。SS堆棧段通常是指采用堆棧方式工作的一段內(nèi)存區(qū)域;在采用段式內(nèi)存管理方式進行程序內(nèi)存分配的架構(gòu)中,堆棧段用來存放局部變量和函數(shù)返回地址。

段寄存器是因為對內(nèi)存的分段管理而設(shè)置的。計算機需要對內(nèi)存分段,以分配給不同的程序使用(類似于硬盤分頁)。在描述內(nèi)存分段時,需要有如下段的信息:1.段的大小;2.段的起始地址;3.段的管理屬性(禁止寫入/禁止執(zhí)行/系統(tǒng)專用等)。需要用8個字節(jié)(64位)存儲這些信息,但段寄存器只有16位,因此段寄存器中只能存儲段號(segment selector,也譯作“段選擇符”),再由段號映射到存在內(nèi)存中的GDT(global (segment) descriptor table,全局段號記錄表),讀取段的信息。

8086CPU有20根地址線,較大可尋址內(nèi)存空間為1MB。而8086的寄存器只有16位,指令指針(IP)和變址寄存器(SI、DI)也是16位的。用16位的地址尋址1MB空間是不可能的。所以就要把內(nèi)存分段,也就是把1MB空間分為2^4,即16個段,每段不超過64KB(2^16,16位數(shù)據(jù)線就可以尋址)。在8086中設(shè)置4個16位的段寄存器,用于管理4種段:CS是代碼段,DS是數(shù)據(jù)段,SS是堆棧段,ES是附加段。把內(nèi)存分段后,每一個段就有一個段基址,段寄存器保存的就是這個段基址的高16位,這個16位的地址左移四位(后面加上4個0)就可構(gòu)成20位的段基址。

段寄存器CS指向存放程序的內(nèi)存段,IP是用來存放下條待執(zhí)行的指令在該段的偏移量,把它們合在一起可在該內(nèi)存段內(nèi)取到下次要執(zhí)行的指令。

段寄存器SS指向用于堆棧的內(nèi)存段,SP是用來指向該堆棧的棧頂,把它們合在一起可訪問棧頂單元。另外,當(dāng)偏移量用到了指針寄存器BP,則其缺省的段寄存器也是SS,并且用BP可訪問整個堆棧,不僅僅是只訪問棧頂。

段寄存器DS指向數(shù)據(jù)段,ES指向附加段,在存取操作數(shù)時,二者之一和一個偏移量合并就可得到存儲單元的物理地址。該偏移量可以是具體數(shù)值、符號地址和指針寄存器的值等之一,具體情況將由指令的尋址方式來決定。

通常,缺省的數(shù)據(jù)段寄存器是DS,只有一個例外,即:在進行串操作時,其目的地址的段寄存器規(guī)定為ES。當(dāng)然,在一般指令中,我們還可以通過改變前綴中的“段取代”字段來改變操作數(shù)的段寄存器。

“可選用的段寄存器”即是可以用強置說明這些段寄存器的值來作為其操作數(shù)地址的段地址。

以上是“如何訪問存儲器時使用bp尋址”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享標(biāo)題:如何訪問存儲器時使用bp尋址-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://weahome.cn/article/ccgopd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部