8086cpu的通用暫存器有8個,又可以分成2組,一組是資料暫存器(4個),
另一組是指標暫存器及變址暫存器(4個).
資料暫存器分為:
ah&al=ax(accumulator):累加暫存器,
常用於運算;在乘除等指令中指定用來存放運算元,另外,
所有的i/o指令都使用這一暫存器與外界裝置傳送資料.
bh&bl=bx(base):基址暫存器,常用於地址索引;
ch&cl=cx(count):計數暫存器,常用於計數;
常用於儲存計算值,如在移位指令,迴圈(loop)
和串處理指令中用作隱含的計數器.
dh&dl=dx(data):資料暫存器,常用於資料傳遞。
他們的特點是,這4個16位的暫存器可以分為高8位:ah,bh,ch,dh.以及低八位:al,bl,cl,dl。
這2組8位暫存器可以分別定址,並單獨使用。
另一組是指標暫存器和變址暫存器,包括:
sp(stackpointer):堆疊指標,與ss配合使用,
可指向目前的堆疊位置;
bp(basepointer):基址指標暫存器,
可用作ss的一個相對基址位置;
si(sourceindex):
源變址暫存器可用來存放相對於ds段之源變址指標;
di(destinationindex):目的變址暫存器,可用來存放相對於es段之目的變址指標。
這4個16位暫存器只能按16位進行存取操作,
主要用來形成運算元的地址,
用於堆疊操作和變址運算中計算運算元的有效地址。
8086cpu的通用暫存器有8個,又可以分成2組,一組是資料暫存器(4個),
另一組是指標暫存器及變址暫存器(4個).
資料暫存器分為:
ah&al=ax(accumulator):累加暫存器,
常用於運算;在乘除等指令中指定用來存放運算元,另外,
所有的i/o指令都使用這一暫存器與外界裝置傳送資料.
bh&bl=bx(base):基址暫存器,常用於地址索引;
ch&cl=cx(count):計數暫存器,常用於計數;
常用於儲存計算值,如在移位指令,迴圈(loop)
和串處理指令中用作隱含的計數器.
dh&dl=dx(data):資料暫存器,常用於資料傳遞。
他們的特點是,這4個16位的暫存器可以分為高8位:ah,bh,ch,dh.以及低八位:al,bl,cl,dl。
這2組8位暫存器可以分別定址,並單獨使用。
另一組是指標暫存器和變址暫存器,包括:
sp(stackpointer):堆疊指標,與ss配合使用,
可指向目前的堆疊位置;
bp(basepointer):基址指標暫存器,
可用作ss的一個相對基址位置;
si(sourceindex):
源變址暫存器可用來存放相對於ds段之源變址指標;
di(destinationindex):目的變址暫存器,可用來存放相對於es段之目的變址指標。
這4個16位暫存器只能按16位進行存取操作,
主要用來形成運算元的地址,
用於堆疊操作和變址運算中計算運算元的有效地址。