第5-8章知識梳理
1.[BX]指令功能:bx中存放的資料作為一個偏移地址,段地址在ds中,經常用[bx]表示記憶體單元。
例如:mov ax,[bx]就表示為(ax)=((ds)*16+(bx)).
2.描述性符號():表示一個暫存器或記憶體單元的地址。
例如:(ax)就表示ax中的內容。
3.loop指令:迴圈指令。
格式:loop 標號
CPU執行loop指令時的操作:(1)(cx)=(cx)-1.(cx中存放迴圈的次數).
(2)判斷cx的值,不為零,則轉至標號處執行,如果為零則向下執行。
4.在彙編源程式中,資料是不可以以字母開頭的。
5.g命令:跳轉指令。
用法:g 偏移地址。
6.p命令:迴圈跳轉指令。
用法:在遇到loop指令時,用p命令執行,即可完成迴圈的過程。
7.dw:定義字資料。
db:定義位元組資料。
dd:定義雙字資料。
8.彙編源程式中指明程式的入口:用一個標號指明。如:start。
9.用多個段來存放資料、程式碼和段:對於不同的段要有不同的段名。
10.一個段中的段地址可由段名代表。
例如:mov ax,data表示:將data這個段的段地址傳送給ax這個暫存器。
11.要明白在彙編源程式中對不同段的定義和劃分僅僅是我們認為規定的,CPU是不認同這種劃分的。
12.and指令:邏輯與運算。
13.or指令:邏輯或運算。
14.ASCII編碼:對傳送到計算機的資訊的編碼。
15.在彙編程式中用'......'的方式指明資料是以字元的形式給出的,編譯器會將它們轉化為相應的ASCII碼。
16.[bx+idata]:表示一個記憶體單元,它的偏移地址是(bx)+idata。
17.SI和DI:8086CPU中和bx功能相近的暫存器,但是si和di不可以劃分成兩個8位暫存器來使用。
18.表示記憶體單元的幾種方式:
[idata]
[bx]
[si]
[di]
[bx+idata]
[si+idata]
[di+idata]
[bx+si+idata]
[bx+di+idata]
19.暫存器(reg):ax,ah,al,bx.bh,bl,cx,ch,cl,dx,dh,dl,sp,bp,si,di
段暫存器:ss,cs,es,ds
20.表示記憶體單元的定址:bx,bp,si,di
bx與bp可以與si,di組合使用,其他不可以。
bp的段地址預設在ss中。
21.在表示CPU處理資料的長度時有兩種方法:
(1)暫存器指明
(2)word ptr 和 byte ptr指明。
22.div除法指令:
(1)除數8位:放在一個記憶體單元或者在一個暫存器裡。
被除數:放在ax中。
商:放在al中
餘數:放在ah中。
(2)除數16位:放在一個記憶體單元中或者在一個暫存器裡。
被除數32位:低16位在ax中,高16位在dx中。
商:ax中
餘數:dx中
23.dup指令:用於資料的重複。
db(或dw或dd) 重複的次數 dup(重複的資料)