彙編——第八章 處理數據的倆個基本問題

第八章 處理數據的倆個基本問題

這倆個認問題是:
(1)處理的數據在什麼地方?
(2)要處理的數據有多長?

reg表示以惡搞寄存器,sreg表示一個段寄存器
reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di;
sreg的集合包括:da、ss、cs、es。

8.1 bx、si、di和dp

在這裏插入圖片描述

8.4 尋址方式

在這裏插入圖片描述

8.5 指令要處理的數據有多長

8086 CPU 的指令,可以處理倆種尺寸的數據,byte 和 word,所以在機器指令中要指明指令進行的是字操作還是字節操作,
(1)通過指定寄存器名指明要處理的數據的尺寸。
如指定是 ax 還是 al 等

(2)在沒有寄存器的名稱存在的時候,用操作符 x prt 指明內存單元的長度, x 在彙編指令中可以是 word(字)或者 byte(字節)。
如:
mov word ptr ds:[0], 1
inc word ptr [bx]
mov byte ptr ds:[0], 1
inc byte ptr [bx]等

(3)其他方法
有些指令默認訪問的是字單元還是字節單元,比如push 指令只進行字操作。

8.7 div 指令

div 是出發指令,使用div 做除法的時候要注意以下問題。
(1)除數:有8位和16位倆種,在一個reg或內存單元中
(2)被除數:默認放在AX 或 DX和AX中,如果除數爲8位,被除數則爲16位,默認放在AX中;如果除數位16位,被除數則位32位,存放在DX和AX中,DX存放高16位,AX存放低16位。
(3)結果,若除數爲8爲,則AL存放商,AH存放餘數。若除數爲16位,AX存放商,DX存放餘數。

在這裏插入圖片描述

在這裏插入圖片描述

8.8 僞指令dd

db 和 dw 定義字節型數據和字型數據。dd是用來定義dword(double word,雙字)型數據的,佔倆個字。

dup

在這裏插入圖片描述

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