組合語言 第三章

2022-08-21 09:30:15 字數 446 閱讀 1494

1.記憶體中字的儲存

2.ds暫存器

8086cpu自動取ds中的資料為記憶體單元的段位址,並且ds的值並不能直接賦給,要先將值賦給乙個一般暫存器進行中轉,在傳入ds中。

3.mov,add,sub命令。

mov:賦值。

mov指令中只給出單元的偏移位址,段位址預設存在ds中。

add:將後面的資料加到前面的資料上,將值賦給前者。

sub:同add進行減法操作。

4.資料段

5.棧通過兩個暫存器:

ss:堆疊段暫存器,用來儲存棧底位置

sp:表示棧頂指標,指向棧頂位址

通過push,pop指令進行先入後出的操作

pop:先將ss:sp指向的記憶體空間的值賦值給pop的操作物件,然後sp=sp+2。

push:先將sp=sp-2,然後將push物件的值賦給ss:sp指向的記憶體空間。

組合語言第三章總結

如何看待 記憶體 可以存放資料 資料段 自己定義的資料 可以存放指令 指令段 自己定義的指令 可以定義成棧空間 棧段 臨時存放資料 那麼如何讓 cpu 按照我們的意願去訪問記憶體?對於資料段,我們需要有段位址 偏移位址,目前段位址暫存器只學過 ds 暫存器,偏移位址只學過 0 1 進行訪問 對於指令...

《intel組合語言程式設計》 第三章記錄

程式一 title add and subtract this program adds and subtracts 32 bit integers.last update 06 01 2006 include irvine32.inc data num dword 0ffffff9ch code ...

《組合語言》第三章 暫存器(記憶體訪問)

在記憶體單元中,位址高的是高位,位址低的是低位。我們在讀取記憶體時喜歡從0開始讀,但我們在讀取數字的時候一定不喜歡從最低位開始讀,所以如果這個分不清,那麼是這個是相當 痛苦的 所以,乙個資料如果確定是乙個字,那麼直接從高位開始讀取,這樣更好理解。如果直接將記憶體單元送入暫存器中,那麼預設送入乙個字,...