王爽組合語言第二章學習筆記和作業

2021-06-11 20:28:17 字數 1662 閱讀 2985

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指令 ...