資源描述:
《微機(jī)原理與接口技術(shù)(樓順天)-第2章2》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、本教案內(nèi)容第2章8086CPU結(jié)構(gòu)與功能微處理器的外部結(jié)構(gòu)微處理器的內(nèi)部結(jié)構(gòu)微處理器的功能結(jié)構(gòu)微處理器的寄存器組織微處理器的存儲器和I/O組成18086/8088CPU內(nèi)部共有14個16位寄存器,用于提供運(yùn)算,控制指令執(zhí)行和對指令及操作數(shù)尋址。掌握每個寄存器的作用以及用法,是學(xué)好匯編語言程序設(shè)計的基礎(chǔ)。14個寄存器按其用途可分為三大類:通用寄存器(8個)段寄存器(4個)控制寄存器(2個)2.4微處理器的寄存器組織2一.通用寄存器(8個)8個16位通用寄存器分為兩組:地址指針和變址寄存器(4個)數(shù)據(jù)寄存器(4個)2.4微處理器的寄存器組織3存放數(shù)據(jù)16位8位DX
2、DLDHCXCLCHBXBLBHAXALAH累加器Accumulator基址寄存器(地址寄存器)BaseRegister計數(shù)器CountRegister數(shù)據(jù)寄存器DataRegister1.數(shù)據(jù)寄存器(4個)2.4微處理器的寄存器組織42.地址指針和變址寄存器(4個)均為16位,也能存放數(shù)據(jù)均為地址寄存器DISIBPSP堆棧指針寄存器StackPointer基址指針寄存器BasePointer源變址寄存器SourceIndex目的變址寄存器DestinationIndex2.4微處理器的寄存器組織5二.段寄存器堆棧信息數(shù)據(jù)(數(shù)值、字符等)代碼(指令碼)在微機(jī)系
3、統(tǒng)的內(nèi)存中通常存放著三類信息:指示CPU執(zhí)行何種操作。程序處理的對象或結(jié)果。被保存的返回地址和中間結(jié)果等。代碼段數(shù)據(jù)段堆棧段2.4微處理器的寄存器組織68086/8088CPU有4個段寄存器。分別是:代碼段寄存器。指向當(dāng)前的代碼段,指令由此段取出。CodeSegment數(shù)據(jù)段寄存器。指向當(dāng)前的數(shù)據(jù)段。DataSegment附加數(shù)據(jù)段寄存器。指向當(dāng)前的附加數(shù)據(jù)段。ExtraSegment堆棧段寄存器。指向當(dāng)前的堆棧段。StackSegmentSSESDSCS16位2.4微處理器的寄存器組織7指令指針寄存器相當(dāng)于一般微處理器中的程序計數(shù)器(PC:ProgramCo
4、unter)。它始終指向CPU下一條要取指令所在存貯器單元的偏移地址(段地址由CS提供)。用戶不能更改IP的值,只有CPU執(zhí)行轉(zhuǎn)移指令,子程序調(diào)用指令和子程序返回指令以及中斷處理時,IP才作相應(yīng)的改變。四.控制寄存器(2個)1.指令指針寄存器(IP:InstructionPointer)(16位)2.4微處理器的寄存器組織8標(biāo)志寄存器相當(dāng)于一般微處理器中的程序狀態(tài)字寄存器(PSW)。16位,但有用的只有9位,其中:2.標(biāo)志寄存器(FLAG)狀態(tài)標(biāo)志:CF,PF,AF,ZF,SF,OF,共6位控制標(biāo)志:TF,IF,DF,共3位如下圖所示:OFDFIFTFSFZF
5、AFPFCF15141312111098765432102.4微處理器的寄存器組織9CF(CarryFlag)進(jìn)位標(biāo)志。如果加法時最高位(對字節(jié)操作是D7位,對字操作是D15位)產(chǎn)生進(jìn)位或減法時最高位產(chǎn)生錯位,則CF=1,否則CF=0。狀態(tài)標(biāo)志反映的是ALU運(yùn)算后結(jié)果的狀態(tài)AF(AuxiliaryCarryFlag)輔助進(jìn)位標(biāo)志。如果在加法時D3位有進(jìn)位或減法時D3位有借位,則AF=1,否則AF=0。這個標(biāo)志位用于實(shí)現(xiàn)BCD碼算術(shù)運(yùn)算結(jié)果的調(diào)整。2.4微處理器的寄存器組織10ZF(ZeroFlag)零標(biāo)志位。如果運(yùn)算結(jié)果各位都為零,則ZF=1,否則ZF=0。S
6、F(SignFlag)符號標(biāo)志。它總是和結(jié)果的最高位(字節(jié)操作時是D7,字操作時是D15)相同,因?yàn)樵谘a(bǔ)碼運(yùn)算時最高位是符號位,所以運(yùn)算結(jié)果為負(fù)時,SF=1,否則SF=0.2.4微處理器的寄存器組織11OF(OverflowFlag)溢出標(biāo)志。在加或減運(yùn)算中結(jié)果超出8位或者16位有符號數(shù)所能表示的數(shù)值范圍(-128∽+127或-32768∽+32767)時,產(chǎn)生溢出,OF=1,否則OF=0。PF(ParityFlag)奇偶標(biāo)志。如果操作結(jié)果的低8位中含有偶數(shù)個1,PF=1,否則PF=0。2.4微處理器的寄存器組織12例1:若CPU執(zhí)行5439H+476AH加法
7、運(yùn)算指令:那么,指令執(zhí)行后有:SF=1,ZF=0,PF=1,AF=1,CF=0,OF=10101010000111001B0100011101101010B1001101110100011B+2.4微處理器的寄存器組織13例2:若CPU執(zhí)行543AH-FE00H減法運(yùn)算指令;那么,指令執(zhí)行后有:SF=0,ZF=0,PF=1,AF=0,CF=1,OF=00101010000111010B1111111000000000B0101011000111010B-2.4微處理器的寄存器組織142.4微處理器的寄存器組織溢出=進(jìn)位?01100100B01100100B11
8、001000B+10101011B11