80x86寄存器組

發(fā)布時(shí)間:2024-02-24
寄存器可以分為程序可見的寄存器和程序不可見的寄存器兩大類。 ① 程序可見的寄存器是指在匯編語言程序設(shè)計(jì)中用到的寄存器,分為通用寄存器、專用寄存器和段寄存器3類。
② 程序不可見的寄存器是指一般應(yīng)用程序設(shè)計(jì)中不用而由系統(tǒng)所用的寄存器。
1通用寄存器
數(shù)據(jù)寄存器:ax、bx、cx、dx,四個(gè)16位通用寄存器,用來暫時(shí)存放計(jì)算過程中所用到的操作數(shù)、結(jié)果和其他信息。既可以以字形式(如ax)也可以以字節(jié)形式(如ah、al)訪問。
ax(accumulator):累加器,算術(shù)運(yùn)算的主要寄存器。所有的i/o指令都使用這一寄存器與外部設(shè)備傳送信息。
bx(base):通用寄存器,在計(jì)算存儲(chǔ)器地址時(shí)常用作基址寄存器。
cx(count):通用寄存器,在循環(huán)和串操作指令中用作隱含的計(jì)數(shù)器。
dx(data):通用寄存器,在作雙字長運(yùn)算時(shí)把dx和ax合在一起存放一個(gè)雙字長數(shù),dx用來存放高位字。對(duì)某些i/o操作,dx用于對(duì)i/o端口的寄存器間接尋址。
指針及變址寄存器:sp、bp、si、di,四個(gè)16位寄存器。
sp:堆棧指針寄存器。
bp:基址指針寄存器。
si:源變址寄存器。
di:目的變址寄存器。
對(duì)于80386及其后繼機(jī)型則是32位的通用寄存器,包括eax、ebx、ecx、edx、esp、ebp、edi和esi。這些寄存器都可以存放數(shù)據(jù),也可以當(dāng)32位的地址寄存器使用。
2 專用寄存器
專用寄存器:ip、sp、flags,3個(gè)16位寄存器。
ip:指令指針寄存器。存放代碼段中的偏移地址。80386及其后繼機(jī)型則是eip。
sp:堆棧指針寄存器,指示棧頂?shù)钠频刂贰?0386及其后繼機(jī)型則是esp。
flags:標(biāo)志寄存器,又稱為程序狀態(tài)字寄存器(program status word, psw)。由條件碼標(biāo)志(flag)、控制標(biāo)志和系統(tǒng)標(biāo)志構(gòu)成。80386及其后繼機(jī)型則是eflags。8086/8088的flags如下所示:
1514131211109876543210
of
df
if
tf
sf
zf
af
pf
cf
條件碼:用來記錄程序中運(yùn)行結(jié)果的狀態(tài)信息,它們是根據(jù)有關(guān)指令的運(yùn)行結(jié)果由cpu自動(dòng)設(shè)置的。由于這些狀態(tài)信息往往作為后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件,所以稱為條件碼。
of:溢出標(biāo)志(overflow flag)。結(jié)果溢出of=1,否則of=0。
sf:符號(hào)標(biāo)志(sign flag)。結(jié)果為負(fù)sf=1,否則sf=0。
zf:零標(biāo)志(zero flag)。結(jié)果為0時(shí)zf=1,否則zf=0。
cf:進(jìn)位標(biāo)志(carry flag)。最高有效位有進(jìn)位或借位cf=1,否則cf=0。
af:輔助進(jìn)位標(biāo)志或半進(jìn)位標(biāo)志(auxiliary carry flag)。半個(gè)字節(jié)產(chǎn)生的進(jìn)位或借位時(shí)af=1,否則af=0。
pf:奇偶標(biāo)志(parity flag)。結(jié)果低8位中所含的1的個(gè)數(shù)為偶數(shù)時(shí)pf=1,否則pf=0。
控制標(biāo)志位:為方向標(biāo)志(direction flag, df),在串處理指令中控制處理信息的方向用。
df=1:變址寄存器si和di減量,使串處理從高地址向低地址方向處理。
df=0:變址寄存器si和di增量,使串處理從低地址向高地址方向處理。
系統(tǒng)標(biāo)志位:可以用于i/o、可屏蔽中斷、程序調(diào)試、任務(wù)切換和系統(tǒng)工作方式等的控制。
tf:陷阱標(biāo)志(trap flag, tf),又稱單步標(biāo)志。用于調(diào)試時(shí)的單步方式操作。tf=1時(shí)每條指令執(zhí)行完后產(chǎn)生陷阱(中斷),tf=0時(shí)不產(chǎn)生陷阱。
if:中斷標(biāo)志(interrupt flag, if)。if=1時(shí)允許可屏蔽中斷請(qǐng)求,if=0時(shí)禁止可屏蔽中斷。
i/o 特權(quán)級(jí)(i/o privilege level, iopl),在保護(hù)模式下,用于控制對(duì)i/o地址空間的訪問。
標(biāo)志位的測(cè)試:用調(diào)試程序debug測(cè)試。測(cè)試含義見書24頁表2.2所示。
3 段寄存器
段寄存器是一種專用寄存器,它們專用于存儲(chǔ)器尋址,用來直接或間接地存放段地址。在80286以前的處理器中只有cs、ds、ss、es四個(gè)16位寄存器。從80386起增加了fs和gs兩個(gè)附加的數(shù)據(jù)段寄存器。
上一個(gè):6tb監(jiān)控硬盤多少錢一個(gè),監(jiān)控6tb硬盤能錄幾天4路
下一個(gè):做網(wǎng)站免費(fèi)的

RC-02K2372FT在線查庫存,今日?qǐng)?bào)價(jià)
化妝品包裝檢測(cè)項(xiàng)目與檢驗(yàn)方法
roemheld支撐元件特點(diǎn),德國roemheld輔助支撐產(chǎn)品特價(jià)供應(yīng)
十一北京七天旅游攻略
新一代機(jī)皇華為Nexus 6P
從一杯茶中 能夠清晰折射出今日的中國階層
家居風(fēng)水知識(shí) 告知你擺設(shè)6要點(diǎn)
電腦可不可以重新分盤,重置電腦可以重新分盤嗎
抗辯權(quán)行使程序中的限制
撫養(yǎng)和監(jiān)護(hù)的區(qū)別
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos