彙編學習筆記

2022-04-11 11:56:13 字數 1782 閱讀 6720

第三講開始學習第二部分的內容。

第二部分講述內容主要為三方面,

1.8086,8088 共有14個16位暫存器,8個8進製暫存器。

2.共有7種定址方式

3.各種指令

而第三講主要講述暫存器部分內容。

14個16位暫存器裡,共有四個資料暫存器,第個16位的資料暫存器又可拆為兩個8進製暫存器:

ax(ah, al)   bx(bh, bl)   cx(ch, cl)   dx(dh, dl)

有兩個指標暫存器:

bp, sp

有兩個變址暫存器:

si, di

而以上資料暫存器,指標暫存器和變址暫存器都是通用暫存器。

除此之外,還有四個段暫存器:

cs, ds, es, ss

兩個控制暫存器:

ip, flag

暫存器的資料儲存方式:

暫存器以位元組為單位儲存資料,為第個儲存單元分配乙個位址,分配方式為從0開始,逐次加1。乙個16位二進位制數可表示的位址共有65536個,分別是0~65535,即0h~ffffh。

下面分別敘述:

ax,al 暫存器又稱為累加器,用於累加運算.

bx  用於儲存位址偏移,是唯一可用作儲存器指標的資料暫存器

cx  用於控制迴圈次數

cl  用於儲存偏移運算時的位數

dx  用於32位大整數乘除法時儲存被除數或儲存餘數

bp  基址指標暫存器

sp  堆疊指標暫存器

si   源變址暫存器

di   目的變址暫存器

cs   **段

ds   資料段

es   附加段

ss   堆疊段

ip    指令暫存器,用於記錄下一條要執行的指令的偏移

flag, 標識暫存器,乙個16位數的標識

flag:

運算結果標識:

cf :  進製標識,標識加減運算是否進製或借位。如果進製或借位,cf=1,否則為0

of :  溢位標識,標識加減運算是否有溢位,如果有溢位,為1,否則為0。溢位即為資料超出資料的範圍,如8位無符號整數超出了0~255,8位有符號整數超出了-128~127,16位無符號整數超出了0~65535,16位有符號整數超出了-32768~32767。

zf :  零標識,標識計算結果是否為0,如果為0,zf=1,否則,zf=0

af :  附助進製標識,如果存在如 位元組操作時高半位元組與低半位元組之間的進製或借位, 字操作時高位元組與低位元組之間的進製或借位時,af=1,否則為0

pf :  奇偶標識,如果計算結果中1的個數為偶數,pf=1,否則為0。

sf :  符號標識,與計算結果最高位相同,如果計算結果為正數,sf=0,否則為1

控制標識:

df :  方向標識,如果df為1,當前為加方式,否則,為減方式。

if  :  中斷標識,如果if為1,允許中斷執行。

sf :  單步標識,如果sf為1,則單步執行。

暫存器內部儲存方式為:

0000h  0001h  0002h   ……   000ch  000dh  000eh  000fh

0010h  0011h  0012h   ……   001ch  001dh  001eh  001fh

ffe0h  ffe1h  ffe2h   ……     ffech  ffedh  ffeeh   ffefh

fff0h  fff1h  fff2h    ……    fffch   fffdh  fffeh   ffffh

此部分內容勉強記了下來,具體的用途不甚了了。只能後邊學習的時候再去了解了。

彙編學習筆記

1 cpu的指令集 cpu內整合了不同功能的電路模組 如 加 減法器,比較器 正常工作所對應的不同高低電平 數電知識 組合語言是人對機器指令的語言表述。2 cpu對硬體的控制實際是訪問其記憶體 如顯示卡上整合有ram 視訊記憶體 和rom 裝有唯讀bios 源 被編譯成機器 後被載入記憶體。3 程式...

彙編學習筆記

彙編檔案為 s 檔案 因為c程式執行需要棧,設定好棧了之後就可以呼叫c程式了 bl delay 呼叫delay 暫存器移位 mov r0,r1,lsl 3 r1內容左移3位送r0 暫存器間接定址 ldr r1,r2 r2做位址取數送r1 基址變址定址 ldr r1,r2,4 r2 4作位址取數送r1...

彙編學習筆記

mov al,byte ptr x 記憶體向通用暫存器傳送資料 shl al,1 al中的資料進行邏輯左移一位,針對無符號數的 2運算 dec al 對al暫存器中的值進行自減一之後再把結果放到al暫存器中,其中涉及對al暫存器進行資料讀,並將資料傳送到運算暫存器中,並將運算器結果通過線路傳送到al...