http://www.dbgPRo.com/archives/394.html
8086/8088CPU的寄存器有4類:數(shù)據(jù)寄存器:AX、BX、CX、DX (存放一般性的數(shù)據(jù),又稱通用寄存器)指針及變址寄存器:SP、BP、SI、DI段寄存器:CS、DS、SS和ES控制寄存器:ip和Flags
AX (Accumulator),用累加器進(jìn)行的操作可能需要更少時(shí)間。累加器可用于乘、除、輸入/輸出等操作;BX稱為基地址寄存器(Base Register),可作通用寄存器用,在計(jì)算存儲(chǔ)器地址時(shí),常用作基址存儲(chǔ)器;CX稱為計(jì)數(shù)寄存器(Count Register),常用作循環(huán)計(jì)數(shù)器;在位操作中,要用CL來(lái)指明移位的位數(shù);DX稱為數(shù)據(jù)寄存器(Data Register)。在進(jìn)行雙字的乘、除運(yùn)算時(shí),它可作為默認(rèn)的操作數(shù)參與運(yùn)算,也可用于存放I/O的端口地址。CS:代碼段寄存器DS:數(shù)據(jù)段寄存器SS:堆棧段寄存器ES:附加段寄存器IP:指令指針寄存器CS和IP就指示了CPU當(dāng)前要讀取指令的地址幾條匯編指令 在寫(xiě)一條匯編指令或一個(gè)寄存器的名稱時(shí)不區(qū)分大小寫(xiě).
物理地址 CPU通過(guò)地址總線送入存儲(chǔ)器的,必須是一個(gè)內(nèi)存單元的物理地址.
16位結(jié)構(gòu)的CPU 運(yùn)算器一次最多可以處理16位的數(shù)據(jù); 寄存器的最大寬度為16位; 寄存器和運(yùn)算器之間的通路為16位.
8086CPU給出物理地址的方法 地址加法器采用“物理地址 = 段地址 * 16 + 偏移地址”的方法合成物理地址
段的概念 一個(gè)段的最大長(zhǎng)度位64KB
CS和IP
8086CPU的工作過(guò)程可以簡(jiǎn)要描述如下:1) 從CS:IP指向的內(nèi)存單元處讀取指令,讀取的指令進(jìn)入指令緩沖器;2) IP=IP+所讀取指令的長(zhǎng)度,從而指向下一條指令;3) 執(zhí)行指令,轉(zhuǎn)到步驟1,重復(fù)這個(gè)過(guò)程.
修改CS、IP的指令“jmp 段地址 : 偏移地址”指令的功能為: 用指令中給出的段地址修改CS,偏移地址修改IP.“jmp 某一合法寄存器”: 用寄存器的值修改IP.
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注