彙編語言(王爽) 第8章數據處理的2個基本問題

計算機進行數據處理的時候要知道2個基本問題內存

  1. 要處理的數據放在哪
  2. 要處理的數據多長

剛開始定義了2個描述性符號備用it

reg和sregclass

reg 表示一個寄存器如 ax,bx,cx,dx,ah.......sp,bp,si,di方法

sreg表示一個段寄存器 如 ds,ss,cs,esim

 

8.1 bx,si,di,bpcpu

  1. 只有這4個寄存器能夠放在[]中間和段地址ds或ss搭配進行內存單元尋址
  2. 這4個能夠單獨使用,也搭配使用,但只有4種組合
  3. [bp]的默認段地址是ss,其餘3個是ds

8.2 數據放在什麼地方數據

數據放在cpu的寄存器,內存單元,還有個什麼端口不知道是個啥db

8.3 數據存放位置的表達word

前面說了數據放在哪裏,但這些地方怎麼表達才能讓計算機看懂呢?img

1 當即數

前面圖的第3行

在執行前放在cpu的指令緩衝器裏面

2 寄存器

數據放在寄存器裏面,如上圖的第2行

3 段地址(SA)和偏移地址(EA)組成的物理地址表明的內存單元

上圖第一行

 

8.4 尋址方式

就是定位內存單元的方法把,上圖

 

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

8086CPU能夠處理2中長度的數據,byte和word,怎麼知道要處理的數據是byte仍是word(2個字節)

1 經過寄存器名指出要處理的數據長度

下面是字操做

mov ax,1

mov bx,ds:[1]

下面是字節操做

mov al,1

mov bh,ds:[1]

2 沒有寄存器用x ptr 指明長度,X=byte or word

下面是字操做

mov word ptr ds:[1],1

inc word ptr ds:[1]

下面是字節操做

mov byte ptr ds:[1]

add byte ptr  ds:[bx],2

8.6 這裏是個尋址的練習

8.7 div 指令

1 除數 8 byte or 16byte

2  除數8位,被除數16位,默認放在ax,al放商,ah放餘數

除數16位,被除數32位,被除數高16位放dx,低16位放ax,結果ax放商,dx放餘數

8.8 dd指令

定義2個字,也就是4個字節

8.9 dup複製指令

用法以下圖

最後是一個大實驗題,作了以後有如下

1 db '1999',''2222'這樣定義的不是2個字節,而是8個字節,每個字符都是一個字節

相關文章
相關標籤/搜索