組合語言第二章總結

2022-06-04 10:33:13 字數 1585 閱讀 1002

cpu

主要部件是暫存器,負責資訊的儲存功能,而這正是第二章的重點。

下面將知識點總結如下:

一、不同cpu暫存器個數,結構都不同。8086cpu有14個暫存器分別為:

ax、bx、cx、dx、si、di、sp、bp、ip、cs、ss、ds、es、psw

這些暫存器都是16位,即可存放兩個位元組。

其中ax、bx、cx、dx為通用暫存器,都可分為兩個可獨立使用的8位暫存器來用。(前八位為h,後八位為l,例如ax可分為ah,al)

二、幾條彙編指令

1.move xx,num   將num送入暫存器xx;

2.add xx,num   將暫存器xx的數值加上num;

3.move xx,yy   將暫存器yy的數值送入暫存器xx;

4.add xx,yy   將暫存器xx,yy的值相加並存在xx中;

(其中英文大小寫無影響mov ax,18和mov ax,18含義相同)

(其中num如62627為十進位制數字,計算時應化為16進製制f4a3h計算(h為16進製制標識))

tips:錯誤指令如下:

mov ax,bl  不能在8和16位暫存器中傳送資料

mov bh,ax  不能在16和8位暫存器中傳送資料

mov al,20000  在8位暫存器中存放值超過極限255

add al,100h  不能將高於8位資料加到乙個8位暫存器中

三、8086cpu在內部用兩個16位位址(分別為段位址、偏移位址)合成乙個20位實體地址

位址加法器採用  實體地址=段位址*16+偏移位址

段位址*16可看為寄出位址,即相當於cpu在訪問記憶體時,用乙個寄出位址和乙個相對於基礎位址的偏移位址相加,給出記憶體單元實體地址

四、cs**段暫存器 ip指令指標暫存器,即設cs為m,ip為n,8086cpu將從記憶體m*16+n單元開始讀取執行一條指令

任意時刻cpu將cs:ip指向的內容當做指令執行,即若某一記憶體中資訊被cpu執行過,則一定被cs:ip指向過

修改cs、ip指令時用jmp指令(不能使用mov):

jmp 2ae3:3  cs=2ae3h,ip=0003h,cpu從2ae33h讀取指令

2.僅修改ip  jmp 某一合法暫存器(用暫存器中的值修改ip)

mov ax,1000h

jmp ax   cs值不變,ip=1000h

五、六、實驗

檢視cpu和記憶體,用機器指令和彙編指令程式設計

r命令:檢視、修改cpu中暫存器內容

d命令:檢視記憶體中的內容

e命令:修改記憶體中的內容(可以寫入資料、指令,在記憶體中,它們實際沒有區別)

u命令:將記憶體中的內容解釋為機器指令和對應的彙編指令

t命令:執行cs:ip指向的記憶體單元處的指令

a命令:以彙編指令的形式向記憶體中寫入指令

(編寫好**務必讓cs:ip指向**起始記憶體單元,並用t執行,用r檢視暫存器中操作結果)

組合語言第二章總結

cpu的主要部件是暫存器,在8086cpu有14個暫存器,它們分別是 ax bx cx dx si di sp bp ip cs ss ds es psw。8086cpu的所有暫存器都是16位的,可以存放兩個位元組。ax bx cx dx這4個暫存器通常用來存放一般性的資料,稱為通用暫存器。由於80...

組合語言 第二章

2.1 通用暫存器 8086cpu的所有暫存器都是16位的,可以存放兩個位元組。ax bx cx dx這4個暫存器通常用來存放一般性的資料,被稱為通用暫存器。2.2字在暫存器中的儲存 位元組 記為byte,乙個位元組由8個bit組成,可以存在8位暫存器中。字 記為word,乙個字由兩個位元組組成,這...

組合語言 第二章

對於乙個彙編程式設計師來說,cpu中的主要部件是暫存器。暫存器是cpu中程式設計師可以用指令讀寫的部件。程式設計師通過改變暫存器裡的內容來實現對cpu的控制。1 8086cpu的所有暫存器都是16位的,可以存放2個位元組。其中8086cpu中的ax bx cx dx這4個暫存器都可以分為兩個獨立使用...