在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 匯編入門(mén)學(xué)習(xí)筆記 (二)—— 寄存器(內(nèi)存訪問(wèn))、棧

            匯編入門(mén)學(xué)習(xí)筆記 (二)—— 寄存器(內(nèi)存訪問(wèn))、棧

            作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
            瘋狂的暑假學(xué)習(xí)之 匯編入門(mén)學(xué)習(xí)筆記 (二)

            本文引用地址:http://www.biyoush.com/article/201611/317776.htm

            參考:《匯編語(yǔ)言》 王爽 第三章

            一、寄存器內(nèi)存訪問(wèn)

            1.DS和[address]

            DS 數(shù)據(jù)段寄存器,用來(lái)存放數(shù)據(jù)段地址

            [address] 用來(lái)表示數(shù)據(jù)段的偏移地址

            同樣跟CS一樣,不可以通過(guò) mov ds, 1000 給ds賦值

            要通過(guò)通用寄存器ax等。

            例如:

            mov ax, 1000

            mov ds, ax

            mov al, [0]

            把1000:0的內(nèi)容存進(jìn)al

            mov bx, 1000

            mov ds, bx

            mov [0], al

            把a(bǔ)l寫(xiě)進(jìn)1000:0中

            因?yàn)閍x、bx、cx是16為的,內(nèi)存單元是8為的,所以 mov ax, [0]會(huì)一次付給ax [1]跟[0]中的內(nèi)容

            例如:

            如果內(nèi)存情況為

            10000H 11

            10001H 22

            10002H 33

            10003H 44

            ........

            --------------------------------

            mov ax, 1000

            mov ds, ax

            mov ax [0]

            mov bx [2]

            mov cx [1]

            這上面運(yùn)行后 ax=2211H 、bx=4433H、cx=3322H

            mov ax,1000

            mov ds, ax

            mov ax, 1234

            mov [0], ax

            這上面運(yùn)行后內(nèi)存內(nèi)容變?yōu)?/p>

            10000H 34

            10001H 12

            .........

            2. CPU

            相關(guān)寄存器:

            ss: 記錄棧的段地址

            sp:記錄棧的段地址的偏移地址

            相關(guān)指令:

            push 入棧 如 push ax 表示將寄存器ax的內(nèi)容寫(xiě)入棧

            pop 出棧 如 pop ax 表示從棧頂取出數(shù)據(jù)送入ax

            初始時(shí),sp指向棧低的下一個(gè)單元的地址,每次push,sp減2,pop,sp加2

            例如:

            將10000H~1000FH這段內(nèi)存當(dāng)做棧來(lái)用

            為了10000H~1000FH這段內(nèi)存當(dāng)做棧來(lái)用,要設(shè)置 ss=1000 sp=0010(棧底的下一個(gè)單元的地址)

            如果內(nèi)存內(nèi)容如下:

            ---------------------------

            10000H

            ..........

            1000CH

            1000DH

            1000EH

            1000FH

            10010H <------- sp

            ---------------------------

            mov ax,0123

            push ax

            后內(nèi)存內(nèi)容如下:

            ---------------------------

            10000H

            ..........

            1000CH

            1000DH

            1000EH

            1000FH 23 <------- sp

            10010H 01

            ---------------------------

            pop bx

            后bx=0123H內(nèi)存內(nèi)容如下:

            ---------------------------

            10000H

            ..........

            1000CH

            1000DH

            1000EH

            1000FH

            10010H <------- sp

            ---------------------------

            3.CPU 棧頂越界

            8086CPU 保證我們對(duì)棧的操作不會(huì)越界。也就說(shuō),8086 CPU 只知道棧頂在何處,不知道棧底和棧空間的大小。



            評(píng)論


            技術(shù)專(zhuān)區(qū)

            關(guān)閉