1.8086有14個暫存器,都是16位的,其中ax,bx,cx,dx用來存放一般的資料,因此通常稱作通用暫存器;
2.8086的16位暫存器可以分成兩個8位的來使用;
3.1個8位暫存器所能儲存的最大資料是255;
4.位元組:byte,乙個位元組由8bit組成;
字:word,乙個字由兩個位元組組成;
5.關於二進位制向十六進製制的轉換:乙個16進製制對應四個二進位制的數,反過來四個二進位制的數對應1個十六進製制數;
6.mov ,add等操作物件應該一致,否則指令錯誤;
7.關於16位機的概念問題:運算一次可以處理16位的資料;
暫存器的最大寬度為16位;
暫存器和運算器之間的通路為16位。
僅用偏移位址最多可以定址64k的記憶體單元;
9.8086有4個段暫存器:cs,ds,ss,es;
10.任意時刻,cpu將cs:ip指向的內容當作指令來執行;
11.8086 cpu執行過程,大體上可以分為3步:
1)從cs:ip指向的記憶體單元讀取指令;
2)ip指向下一條將要執行的指令;
3)執行指令。
12.jmp ax :修改ip暫存器;
13.關於debug命令的使用,常用的有以下幾個:
1)r命令檢視改變暫存器的內容;
2)d命令檢視記憶體中的內容;
3)e命令改寫記憶體中內容;
4)t命令單步執行;
5)a命令以彙編格式在記憶體中寫一條指令。
檢測點2.1
mov ax,62627 ax=f4a3//先要將10進製換算成16進製制
mov ah,31h ax=31a3
mov al,23h ax=3123
add ax,ax ax=6246
mov bx,826ch bx=826c
mov cx,ax cx=6246
mov ax,bx ax=826c
add ax,bx ax=04d8
mov al,bh ax=8282
mov ah,bl ax=6c82
add ah,ah ax=d882
add al,6 ax=d888
add al,al ax=d810 //進製丟失
mov ax,cx ax=6246
2)只能使用目前學過的指令,最多使用4條指令,程式設計計算2的4次方。
mov ax,2
add ax,ax
add ax,ax
add ax,ax
檢測點2.2
1)給定段位址為0001h,僅僅通過變化偏移位址定址,cpu的定址範圍00001h到10000.
2)有乙個資料放在記憶體20000h單元中,現在給定段位址為sa,若想通過偏移位址尋到此單元,則sa應該滿足的條件是:最小為1001h,最大為2000h。(當給定的段位址大於2000小於1000的時候,cpu無論怎麼定址都不會尋到此單元)。
檢測點2.3
下面3條指令執行後,cpu幾次修改ip,都是在什麼時候?最後ip的值是多少?
mov ax,bx //第一次修改ip,先修改ip,後執行指令;
sub ax,ax //第二次修改ip;
jmp ax //第三次修改ip,然後指令執行之後再修改一次ip,由於ip暫存器的內容是ax暫存器的內容,所以cpu一共4次修改ip,最後ip=0,也就是ip暫存器的最後值是0.
組合語言 《組合語言》王爽 第二章筆記
乙個典型的cpu由運算器 控制器 暫存器等器件構成,這也是cpu的工作原理。這些器件是由cpu內部匯流排連線的。運算器進行資訊的處理 暫存器進行資訊的儲存 控制器控制各種器件進行工作 內部匯流排連線各種器件,在他們之間進行資料的傳送。不同的cpu的暫存器數 結構是不同的。本書介紹的8086cpu共有...
組合語言(王爽)第二章暫存器
乙個典型的cpu由運算器 控制器 暫存器等部件組成,部件之間靠內部匯流排連線。運算器進行資訊處理,暫存器進行資訊儲存 控制器控制各部件進行工作,內部匯流排連線各部件以進行資料的傳輸。不同的cpu暫存器的個數和結構都是不盡相同的。2.1通用暫存器 以8086為例,其內部所有暫存器都是16位的,即兩個位...
組合語言 王爽 學習筆記
1 mov a,b a b不能同時為一記憶體位址!2 bx bp si di 在 中,這4個暫存器可以單個出現,或只能以4種組合出現 bx和si bx和di bp和si bp和di。如組合 bx si idata 就是合法的。另外,順便說明一點,si di不能分成兩個8位暫存器使用。3 div指令 ...