《彙編語言(王爽)》第三章——寄存器(內存訪問)【總結】

1、內存中字的存儲
字單元:存放一個字型數據(16位)的內存單元,由兩個地址連續的內存單元組成,高位字節存放在高位地址單元。
N+1號單元和N號單元:地址爲N的字單元的高位字節單元、低位字節單元。

2、DS和[address]
DS:存放要訪問的數據段的地址
[address]:一個內存單元,address表示內存單元的偏移地址

8086CPU不支持將數據直接送入段寄存器,因此 MOV DS,1000H  (用通用寄存器進行中轉)

3、字的傳送(在MOV指令中給出16位寄存器就可以進行16位數據傳送)

4、mov、add、sub指令
mov  段寄存器,寄存器
mov  寄存器,段寄存器
mov  寄存器,內存單元
mov  內存單元,寄存器
mov  段寄存器,內存單元
mov  寄存器,數據
mov  寄存器,寄存器

5、數據段(可以用一組長度<=64K)、地址連續、起始地址爲16的倍數的內存單元)

6、棧(入棧push、出棧pop,LIFO後進先出)

7、CPU提供的棧機制
8086入棧、出棧都是以字爲單位
段寄存器SS和寄存器SP:棧頂的段地址存放在SS中,偏移地址存放在SP中,SS:SP指向棧頂元素
push ax:sp=sp-2;將ax內容送入ss:sp指向的內存單元(棧頂由高地址向低地址方向增長)
pop ax  :將ss:sp指向的內存單元處的數據送入ax;sp=sp+2

8、棧頂超界的問題(8086CPU不保證我們對棧的操作不會超界,它只記錄棧頂)

9、push、pop指令
push(pop) 寄存器|段寄存器|內存單元
用棧來緩存以後要恢復的寄存器的內容時,寄存器出棧的順序要與入棧的順序相反

10、棧段(見5)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章