彙編語言筆記,第三章,寄存器(內存訪問)

Chapter 3 寄存器(內存訪問)

3.1 內存中字的存儲

典型的例子:

 對於如圖所示內存中字的存儲,

字單元:由兩個連續的內存單元構成一個字單元,比如由 0、1兩個內存單元組成的字型數據 4E20H 。

其中高地址對應高字節,低地址對應低字節。

1地址單元:    4EH

1地址字單元:124EH

 

3.2 DS 和 [address]

CPU自動取 DS 寄存器中的數據作爲段地址。

例子:

  1. mov BX, 1000H
  2. mov DS, BX
  3. mov AX, [0]

此時往 AX 裏面寫入的是位於 DS:[0] (10000H) 中的數據。

注意:對於1、2 句,直接寫 "mov DS, 1000H" 是非法的,必須是現將 1000H 存入一個通用寄存器中再將通用寄存器中的數據傳給 DS。

在 mov 指令中,[ ] 爲內存單元,[x] 表示偏移地址爲 xH ,段地址爲 DS 中數據。

 

3.3 字的傳送

典型的例子:
 

 對於如圖所示內存情況,

  1. mov AX, 1000H
  2. mov DS, AX
  3. mov AX, [0]

對於第三條語句,由於寄存器 AX 是16 位的,而10000H 處的數據只有 8 位,但是給 16 位的寄存器寫數據必須是16位,故向AX寫入一個字,i.e. 1123H 還要注意低地址對應低位數據,高地址對應高位數據。

 

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