組合語言學習筆記 1

2021-10-05 08:13:34 字數 1362 閱讀 7579

1.1-控制暫存器 :具有控制程式順序\狀態\和堆疊儲存器的暫存器,

包含程式計數器pc:儲存下一次要執行的程式位址資訊的20位暫存器,在執行的時候,根據預取的指令碼位元組數自動遞增

在執行轉移指令時,設定立即數或者暫存器的內容;

在產生復位訊號的時候,給低16位設定位址0000h–0001h的復位向量表的值,將高4位清0000

![在這裡插入描述](

1.2-程式狀態字(psw)

ie:中斷使能控制位;

z:零標誌,在運算為0或者比較結果相等的時候置1,其餘情況為0

rbs1、rbs2:暫存器的選擇標誌,從4組暫存器選擇1組的2位標誌位;

ac:輔助進製標誌,運算結果在bit3產生進製或者借位的時候標誌位:1

isp1、isp2: 這是管理能接受的可遮蔽向量中斷優先順序的標誌。禁止接受優先順序指定標誌暫存器 (prn0l、 prn0h、

prn1l、 prn1h、 prn2l、 prn2h、 prn3l)(參照 16.3.3)指定的低於 isp0 標誌值和 isp1 標誌值的向量中斷

請求。另外,實際上通過中斷允許標誌 (ie)的狀態控制是否接受向量中斷請求。

cy :進製標誌,在執行加減法指令的時候儲存上溢或者下溢的標誌,另外在執行迴圈指令時儲存移出的值,並且在執行位操作的時候用作累加器

1.3-堆疊指標 (sp)

儲存儲存器堆疊區起始位址的16位暫存器

只有內部ram區才可以設定為堆疊區,通過堆疊指標進行堆疊定址過程中,sp在寫堆疊暫存器(壓棧)時先遞減,而在讀堆疊暫存器(退棧)後遞增。

注:在產生復位訊號後, sp 的內容變為不定值,因此必須在使用堆疊前對 sp 進行初始化

2-通用暫存器

通用暫存器被映像到儲存器的特定位址,以8個8位暫存器(x、a、c、b、d、l、h)為1組的4組暫存器構成;

各暫存器除了用作8位暫存器之後還可以將兩個8位暫存器合併成乙個16位的暫存器(ax、bc、de、hl);

所以能對通用處理使用的暫存器和中斷處理使用的暫存器進行暫存器的切換。

3-es暫存器和cs暫存器

能通過es暫存器指定資料訪問並且通過cs暫存器(暫存器直接定址)指定執行轉移時的高位位址,es暫存器復位後的值為0fhh ,cs 暫存器復位的初始值為00h

4-特殊功能暫存器

5-擴充套件特殊功能暫存器

組合語言學習筆記1

在乙個程式中使用多個段 assume cs code,ds data,ss stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0...

組合語言學習1

資料查詢 內容 tab開始的位元組單元中存放n個無符號數,dat單元存放乙個已知資料x,現從tab中查詢是否存在資料x,如果存在,no單元存放該資料在tab中的序號,否則no單元存放0ffh tab db x1,xn dat db x no db n 5.data tabdb n dup datdb...

組合語言學習筆記

學習參考資料 大灰狼 講彙編 資料匯流排,位址匯流排,控制匯流排。位址匯流排有多少條就決定了cpu最大的記憶體使用量。80386有32位位址匯流排,所以它的定址能力就是4g.暫存器 通用暫存器,段暫存器,ax暫存器 通用暫存器,存放資料。高位位元組ah,低位位元組al。實體地址表示方法 位址加法器,...