計算機進行數據處理的時候要知道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
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個字節,每個字符都是一個字節