8 資料處理的兩個基本問題

2022-01-17 04:38:54 字數 1858 閱讀 6070

1.兩個基本問題:

(1)處理的資料在什麼地方?

(2)處理的資料有多長?

2.暫存器集合(reg):ax,bx,cx,dx,al,ah,bl,bh,cl,ch,dl,dh,sp,bp,di,si;

段暫存器集合(sreg):cs,ds,ss,es;

3.幾種錯誤的指令:

(1)mov ax,[cx]

(2)mov ax,[dx]

(3)mov ax,[dx]

(4)mov ax,[ds]

(5)mov ax,[bp+bx]

(6)mov ax,[si+di]

4.處理可分為:讀取、運算、寫入,在及其指令這一層來講,它並不關心所要處理的資料是多少,而關心指令執行前的那一刻,它將要處理資料所在的位置

5.立即數:對於直接包含著機器指令中的資料,比如:mov ax,1,1就是乙個立即數,執行前在cpu指令緩衝器中。

6.通過暫存器名指明要處理的資料的尺寸。如:ax是16bit=2byte,al是8bit=1byte

7.可以用操作符x ptr指明記憶體單元長度,x在彙編指令中可以是word或byte。比如:mov word ptr ds:[0],1

8.div是除法指令:

(1)除數:有8位和16位兩種,在乙個暫存器(reg)或記憶體單元中。

(2)被除數:預設放在ax或ax和dx中。如果除數是8位,被除數則為16位,預設在ax中存放;如果除數是16位,被除數則為32位,低16位放在ax中,高16位放在dx中。

(3)結果:如果除數是8位,則商存在al中,餘數存在ah中;如果除數是16位,則商存在ax中,餘數存在dx中

(4)格式如下

div reg

div 記憶體單元

(5)舉例

div byte ptr ds:[0]

含義:(al)=(ax)/((ds)*16+0))的商

(ah)=(ax)/((ds)*16+0)的餘數

div word ptr es:[0]

含義: (ax)=[(dx)*100000h+(ax)]/((es)*16+0)的商

(dx)=[(dx)*100000h+(ax)]/((es)*16+0)的餘數

div byte ptr [bx+si+8]

含義:(al)=(ax)/((ds)*16+(bx)+(si)+8)的商

(ah)=(ax)/((ds)*16+(bx)+(si)+8)的餘數

div word ptr [bx+si+8]

含義: (ax)=[(dx)*10000h+(ax)]/((ds)*16+(bx)+(si)+8)的商

(dx)=[(dx)*10000h+(ax)]/((ds)*16+(bx)+(si)+8)的餘數

9.db、dw、dd分別定義位元組行資料、字行資料和雙字資料。

10.dup是乙個操作符,它是和db、dw、dd等資料定義偽指令配合使用的,用來進行資料重複

格式如下:

db 重複的次數 dup (重複的位元組型資料)

舉例如下:

db 3 dup (0,1)

定義了6個位元組,他們是0、1、0、1、0、1,相當於db 0,1,0,1,0,1

8 資料處理的兩個基本問題

1.兩個基本問題 1 處理的資料在什麼地方?2 處理的資料有多長?2.暫存器集合 reg ax,bx,cx,dx,al,ah,bl,bh,cl,ch,dl,dh,sp,bp,di,si 段暫存器集合 sreg cs,ds,ss,es 3.幾種錯誤的指令 1 mov ax,cx 2 mov ax,dx...

資料處理的兩個基本問題

計算機是進行資料處理,運算的機器,所以存在兩個問題 處理的資料的位置 處理的資料的長度 這兩個問題,必須在機器指令中給出說明 有時候是明確的,有時候是隱式的 否者計算器就無法工作。定義的描述性符號 總結 在8086中,只有這四個暫存器可以用在 中進行記憶體定址。在 中,他們可以單個出現,或者以組合形...

彙編 資料處理的兩個基本問題

只有這四個暫存器可以用來進行暫存器間接定址 暫存器 其中,bp隨機訪問,沒有規則 四個暫存器可以單個出現,亦可以以以下組合出現 bx與si di,bp與si di bp預設段位址在ss中 1 由暫存器名指明 2 由x ptr給出 mov word ptr ds 0 1 move byte ptr d...