![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)重點(diǎn)_第1頁](http://file4.renrendoc.com/view11/M03/29/3D/wKhkGWW7XUOAb94jAAGv9ThEj5g445.jpg)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)重點(diǎn)_第2頁](http://file4.renrendoc.com/view11/M03/29/3D/wKhkGWW7XUOAb94jAAGv9ThEj5g4452.jpg)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)重點(diǎn)_第3頁](http://file4.renrendoc.com/view11/M03/29/3D/wKhkGWW7XUOAb94jAAGv9ThEj5g4453.jpg)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)重點(diǎn)_第4頁](http://file4.renrendoc.com/view11/M03/29/3D/wKhkGWW7XUOAb94jAAGv9ThEj5g4454.jpg)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)重點(diǎn)_第5頁](http://file4.renrendoc.com/view11/M03/29/3D/wKhkGWW7XUOAb94jAAGv9ThEj5g4455.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《微機(jī)原理與接口技術(shù)》復(fù)習(xí)參考資料
教師:萬顯榮
復(fù)習(xí)資料說明:
1、標(biāo)有紅色星號(hào)3的內(nèi)容為重點(diǎn)內(nèi)容
3、本資料末尾附有“《微機(jī)原理與接口技術(shù)》綜合練習(xí)題與答案錯(cuò)誤修正”和“《微機(jī)原理
與接口技術(shù)》綜合練習(xí)題與答案中不作要求的部分”,請注意查看。
第一章概述
一、計(jì)算機(jī)中的數(shù)制
1、無符號(hào)數(shù)的表示方法:
(1)十進(jìn)制計(jì)數(shù)的表示法
特點(diǎn):以十為底,逢十進(jìn)一;
共有0-9十個(gè)數(shù)字符號(hào)。
(2)二進(jìn)制計(jì)數(shù)表示方法:
特點(diǎn):以2為底,逢2進(jìn)位;
只有0和1兩個(gè)符號(hào)。
(3)十六進(jìn)制數(shù)的表示法:
特點(diǎn):以16為底,逢16進(jìn)位;
有0-9及A—F(表示10~15)共16個(gè)數(shù)字符號(hào)。
2、各種數(shù)制之間的轉(zhuǎn)換
(1)非十進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換
按相應(yīng)進(jìn)位計(jì)數(shù)制的權(quán)表達(dá)式展開,再按十進(jìn)制求和。(見書本123,124)
(2)十進(jìn)制數(shù)制轉(zhuǎn)換為二進(jìn)制數(shù)制
?十進(jìn)制一二進(jìn)制的轉(zhuǎn)換:
整數(shù)部分:除2取余;
小數(shù)部分:乘2取整。
?十進(jìn)制一十六進(jìn)制的轉(zhuǎn)換:
整數(shù)部分:除16取余;
小數(shù)部分:乘16取整。
以小數(shù)點(diǎn)為起點(diǎn)求得整數(shù)和小數(shù)的各個(gè)位。
(3)二進(jìn)制與十六進(jìn)制數(shù)之間的轉(zhuǎn)換
用4位二進(jìn)制數(shù)表示1位十六進(jìn)制數(shù)
3、無符號(hào)數(shù)二進(jìn)制的運(yùn)算(見教材P5)
4、二進(jìn)制數(shù)的邏輯運(yùn)算
特點(diǎn):按位運(yùn)算,無進(jìn)借位
(1)與運(yùn)算
只有A、B變量皆為1時(shí),與運(yùn)算的結(jié)果就是1
(2)或運(yùn)算
A、B變量中,只要有一個(gè)為1,或運(yùn)算的結(jié)果就是1
(3)非運(yùn)算
(4)異或運(yùn)算
A、B兩個(gè)變量只要不同,異或運(yùn)算的結(jié)果就是1
二、計(jì)算機(jī)中的碼制(重點(diǎn)Q)
1、對于符號(hào)數(shù),機(jī)器數(shù)常用的表示方法有原碼、反碼和補(bǔ)碼三種。數(shù)X的原碼記作[X]原,
反碼記作[X]反,補(bǔ)碼記作[X]補(bǔ)。
注意:對正數(shù),三種表示法均相同。
它們的差別在于對負(fù)數(shù)的表示。
(1)原碼
定義:
符號(hào)位:0表示正,1表示負(fù);
數(shù)值位:真值的絕對值。
注意:數(shù)0的原碼不唯一
(2)反碼
定義:
若X>0,則[不反=[不原
若X<0,則區(qū)]反=對應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反
注意:數(shù)0的反碼也不唯一
⑶補(bǔ)碼
定義:
若X>0,則兇補(bǔ)=兇反=兇原
若X<0,則以]補(bǔ)=兇反X
注意:機(jī)器字長為8時(shí),數(shù)0的補(bǔ)碼唯一,同為00000000
2、8位二進(jìn)制的表示范圍:
原碼:-127~+127
反碼:-127~+127
補(bǔ)碼:-128~+127
3、特殊數(shù)10000000
?該數(shù)在原碼中定義為:-0
?在反碼中定義為:-127
?在補(bǔ)碼中定義為:-128
?對無符號(hào)數(shù):(10000000)2=128
三、信息的編碼
1、十進(jìn)制數(shù)的二進(jìn)制數(shù)編碼
用4位二進(jìn)制數(shù)表示一位卜進(jìn)制數(shù)。有兩種表示法:壓縮BCD碼和非壓縮BCD碼。
(1)壓縮BCD碼的每一位用4位二進(jìn)制表示,00007001表示0~9,一個(gè)字節(jié)表示兩位
十進(jìn)制數(shù)。
(2)非壓縮BCD碼用一個(gè)字節(jié)表示一位十進(jìn)制數(shù),高4位總是0000,低4位的0000~1001
表示0~9
2、字符的編碼
計(jì)算機(jī)采用7位二進(jìn)制代碼對字符進(jìn)行編碼
(1)數(shù)字0~9的編碼是0110000~0111001,它們的高3位均是011,后4位正好與其對應(yīng)
的二進(jìn)制代碼(BCD碼)相符。
(2)英文字母A~Z的ASCH碼從1000001(41H)開始順序遞增,字母a~z的ASCII碼
從1100001(61H)開始順序遞增,這樣的排列對信息檢索十分有利。
第二章微機(jī)組成原理
第一節(jié)、微機(jī)的結(jié)構(gòu)
1、計(jì)算機(jī)的經(jīng)典結(jié)構(gòu)一一馮.諾依曼結(jié)構(gòu)
(1)計(jì)算機(jī)由運(yùn)算器、控制器、輸入設(shè)備和輸出設(shè)備五大部分組成(運(yùn)算器和控制器又稱
為CPU)
(2)數(shù)據(jù)和程序以二進(jìn)制代碼形式不加區(qū)分地存放在存儲(chǔ)器總,存放位置由地址指定,數(shù)
制為二進(jìn)制。
(3)控制器是根據(jù)存放在存儲(chǔ)器中的指令序列來操作的,并由一個(gè)程序計(jì)數(shù)器控制指令的
執(zhí)行。
3、系統(tǒng)總線的分類
(1)數(shù)據(jù)總線(DataBus),它決定了處理器的字長。
(2)地址總線(AddressBus),它決定系統(tǒng)所能直接訪問的存儲(chǔ)器空間的容量。
(3)控制總線(ControlBus)
第二節(jié)、8086微處理器
1、8086是一種單片微處理芯片,其內(nèi)部數(shù)據(jù)總線的寬度是16位,外部數(shù)據(jù)總線寬度也是
16位,片內(nèi)包含有控制計(jì)算機(jī)所有功能的各種電路。
8086地址總線的寬度為20位,有1MB(22°)尋址空間。
2、8086CPU由總線接口部件BIU和執(zhí)行部件EU組成。BIU和EU的操作是異步的,為
8086取指令和執(zhí)行指令的并行操作體統(tǒng)硬件支持。
3、8086處理器的啟動(dòng)
4、寄存器結(jié)構(gòu)(重點(diǎn)
8086微處理器包含有13個(gè)16位的寄存器和9位標(biāo)志位。
4個(gè)通用寄存器(AX,BX,CX,DX)
4個(gè)段寄存器(CS,DS,SS,ES)
4個(gè)指針和變址寄存器(SP,BP,SLDI)
指令指針(IP)
1)、通用寄存器
(1)8086含4個(gè)16位數(shù)據(jù)寄存器,它們又可分為8個(gè)8位寄存器,即:
?AX-AH,AL
?BX3BH,BL
?CX9CH,CL
?DX3DH,DL
常用來存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果
(2)數(shù)據(jù)寄存器特有的習(xí)慣用法
?AX:累加器。多用于存放中間運(yùn)算結(jié)果。所有I/O指令必須都通過AX與接口傳送信息;
?BX:基址寄存器。在間接尋址中用于存放基地址;
?CX:計(jì)數(shù)寄存器。用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復(fù)次數(shù);
?DX:數(shù)據(jù)寄存器。在32位乘除法運(yùn)算時(shí),存放高16位數(shù);在間接尋址的I/O指令中存
放I/O端口地址。
2)、指針和變址寄存器
?SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂罚?/p>
?BP:基址指針寄存器,常用于在訪問內(nèi)存時(shí)存放內(nèi)存單元的偏移地址。
?SI:源變址寄存器
?DI:目標(biāo)變址寄存器
變址寄存器常用于指令的間接尋址或變址尋址。
3)、段寄存器
CS:代碼段寄存器,代碼段用于存放指令代碼
DS:數(shù)據(jù)段寄存器
ES:附加段寄存器,數(shù)據(jù)段和附加段用來存放操作數(shù)
SS:堆棧段寄存器,堆棧段用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)
4)、指令指針(IP)
16位指令指針寄存器,其內(nèi)容為下一條要執(zhí)行的指令的偏移地址。
5)、標(biāo)志寄存器
(1)狀態(tài)標(biāo)志:
?進(jìn)位標(biāo)志位(CF):運(yùn)算結(jié)果的最高位有進(jìn)位或有借位,則CF=1
?輔助進(jìn)位標(biāo)志位(AF):運(yùn)算結(jié)果的低四位有進(jìn)位或借位,則AF=1
?溢出標(biāo)志位(OF):運(yùn)算結(jié)果有溢出,則0F=1
?零標(biāo)志位(ZF):反映指令的執(zhí)行是否產(chǎn)生一個(gè)為零的結(jié)果
?符號(hào)標(biāo)志位(SF):指出該指令的執(zhí)行是否產(chǎn)生一個(gè)負(fù)的結(jié)果
?奇偶標(biāo)志位(PF):表示指令運(yùn)算結(jié)果的低8位“1”個(gè)數(shù)是否為偶數(shù)
(2)控制標(biāo)志位
?中斷允許標(biāo)志位(IF):表示CPU是否能夠響應(yīng)外部可屏蔽中斷請求
?跟蹤標(biāo)志(TF):CPU單步執(zhí)行
5、8086的引腳及其功能(重點(diǎn)掌握以下引腳)
?AD15~AD0:雙向三態(tài)的地址總線,輸入/輸出信號(hào)
?INTR:可屏蔽中斷請求輸入信號(hào),高電平有效??赏ㄟ^設(shè)置IF的值來控制。
?NMI:非屏蔽中斷輸入信號(hào)、不能用軟件進(jìn)行屏蔽。
?RESET:復(fù)位輸入信號(hào),高電平有效。復(fù)位的初始狀態(tài)見P21
?MN/MX:最小最大模式輸入控制信號(hào)。
第三章8086指令系統(tǒng)
說明:8086指令系統(tǒng)這章為重點(diǎn)章節(jié),對下面列出的指令都要求掌握。
第一節(jié)8086尋址方式
一、數(shù)據(jù)尋址方式(重點(diǎn)△)
1、立即尋址
操作數(shù)(為一常數(shù))直接由指令給出
(此操作數(shù)稱為立即數(shù))
立即尋址只能用于源操作數(shù)
例:
MOVAX,1C8FII
MOVBYTEPTR[2A00H],8FH
錯(cuò)誤例:
XMOV2A00H,AX;錯(cuò)誤!
指令操作例:MOVAX,3102H;AX93102H
執(zhí)行后,(AH)=31H,(AL)=02H
2、寄存器尋址
(1)操作數(shù)放在某個(gè)寄存器中
(2)源操作數(shù)與目的操作數(shù)字長要相同
(3)寄存器尋址與段地址無關(guān)
例:
MOVAX,BX
MOV[3F00H],AX
MOVCL,AL
錯(cuò)誤例:
XMOVAX,BL;字長不同
XMOVES:AX,DX;寄存器與段無關(guān)
3、直接尋址
(1)指令中直接給出操作數(shù)的16位偏移地址偏移地址也稱為有效地址(EA,Effective
Address)
(2)默認(rèn)的段寄存器為DS,但也可以顯式地指定其他段寄存器一一稱為段超越前綴
(3)偏移地址也可用符號(hào)地址來表示,如ADDR、VAR
例:
MOVAX,[2A00H]
MOVDX,ES:[2A00II]
MOVSI,TABLE_PTR
4、間接尋址
?操作數(shù)的偏移地址(有效地址EA)放在寄存器中
?只有SI、DLBX和BP可作間址寄存器
?例:MOVAXJBX]
MOVCL,CS:[DI]
錯(cuò)誤例:XMOVAX,[DX]
XMOVCL,[AX]
5、寄存器相對尋址
?EARli]址寄存器的內(nèi)容加上一個(gè)8/16位的位移量
?例:MOVAX,[BX+8]
MOVCX,TABLE[SI]
MOVAX,|BP|;默認(rèn)段寄存器為SS
?指令操作例:MOVAX,DATA[BX]
若(DS)=6000H,(BX)=1000H,DATA=2A00H,
(63A00H)=66H,(63A01H)=55H
則物理地址=60000H+1000H+2A00H=63A00H
指令執(zhí)行后:(AX)=5566H
6、基址變址尋址
?若操作數(shù)的偏移地址:
由基址寄存器(BX或BP)給出—基址尋址方式
由變址寄存器(SI或DI)給出—變址尋址方式
由一個(gè)基址寄存器的內(nèi)容和一個(gè)變址寄存器的內(nèi)容相加而形成操作數(shù)的偏移地址,稱為
基址-變址尋址。
EA=(BX)+(SI)或(DI);
EA=(BP)+(SI)或(DI)
同一組內(nèi)的寄存器不能同時(shí)出現(xiàn)。
注意:除了有段跨越前綴的情況外,當(dāng)基址寄存器為BX時(shí)、操作數(shù)應(yīng)該存放在數(shù)據(jù)段DS
中,當(dāng)基址寄存器為BP時(shí),操作數(shù)應(yīng)放在堆棧段SS中。例:
MOVAX,[BX][SI]
MOVAX,[BX+SI]
MOVAX,DS:[BP][DI]
錯(cuò)誤例:
XMOVAX,[BX][BP]
XMOVAX,[DI][SI]
指令操作例:MOVAX,[BX][SI]
假定:(DS)=8000H,(BX)=2000H,SI=1OOOH
貝ij物理地力上=80000H+2000H+1000H=83OOOH
指令執(zhí)行后:(AL)=[83OOOH]
(AH)=[83OO1HJ
7、相對基址變址尋址
?在基址-變址尋址的基礎(chǔ)上再加上一個(gè)相對位移量
EA=(BX)+(SI)或(DI)+8位或16位位移量;
EA=(BP)+(SI)或(DD+8位或16位位移量
指令操作例:MOVAX,DATA[DI][BX]
若(DS)=8000H,(BX)=2000H,(DI)=1000H,DATA=200H
則指令執(zhí)行后(AH)=[83021H],(AL)=[83020H]
寄存器間接、寄存器相對、基址變址、相對基址變址四種尋址方式的比較:
尋址方式指令操作數(shù)形式
■寄存器間接只有一個(gè)寄存器(BX/BP/SI/DI之一)
■寄存器相對一個(gè)寄存器加上位移量
■基址一變址兩個(gè)不同類別的寄存器
■相對基址-變址兩個(gè)不同類別的寄存器加上位移量
二、地址尋址方式(了解有4類,能判斷)
簡要判斷依據(jù)(指令中間的單詞):
段內(nèi)直接short,near
段內(nèi)間接word
段間直接far
段間間接dword
第二節(jié)8086指令系統(tǒng)
一、數(shù)據(jù)傳送指令(重點(diǎn)△)
1、通用傳送指令
(1)MOVdest,src;dest-src
傳送的是字節(jié)還是字取決于指令中涉及的寄存器是8位還是16位。
具體來說可實(shí)現(xiàn):
①M(fèi)OVmem/regl,mem/reg2
指令中兩操作數(shù)中至少有一個(gè)為寄存器
②MOVreg,data;立即數(shù)送寄存器
③MOVmem,data;立即數(shù)送存儲(chǔ)單元
④MOVacc,mem;存儲(chǔ)單元送累加器
⑤MOVmem,acc;累加器送存儲(chǔ)單元
(6)MOVsegreg,mem/reg;存儲(chǔ)單元/寄存器送段寄存器
⑦M(jìn)OVmem/reg,segreg;段寄存器送存儲(chǔ)單元/寄存器
MOV指令的使用規(guī)則
①IP不能作目的寄存器
②不允許mem-mem
③不允許segreg*-segreg
④立即數(shù)不允許作為目的操作數(shù)
⑤不允許segreg-立即數(shù)
⑥源操作數(shù)與目的操作數(shù)類型要一致
⑦當(dāng)源操作數(shù)為單字節(jié)的立即數(shù),而目的操作數(shù)為間址、變址、基址+變址的內(nèi)存數(shù)時(shí),必
須用PTR說明數(shù)據(jù)類型。如:MOV[BX],12H是錯(cuò)誤的。
(2)、堆棧指令
什么是堆棧?
按“后進(jìn)先出(LIFO)”方式工作的存儲(chǔ)區(qū)域。堆棧以字為單位進(jìn)行壓入彈出操作。
規(guī)定由SS指示堆棧段的段基址,堆棧指針SP始終指向堆棧的頂部,SP的初值規(guī)定了所
用堆棧區(qū)的大小。堆棧的最高地址叫棧底。
①壓棧指令PUSH
PUSHsrc;src為16位操作數(shù)
例:PUSHAX;將AX內(nèi)容壓棧
執(zhí)行操作:(SP)-1一高字節(jié)AH
(SP)-2一低字節(jié)AL
(SP)-(SP)-2
注意進(jìn)棧方向是高地址向低地址發(fā)展。'
②彈出指令POP
POPdest
例:POPBX;將棧頂內(nèi)容彈至BX
執(zhí)行操作:(BL)一(SP)
(BH)-(SP)+1
(SP)-(SP)+2
堆棧指令在使用時(shí)需注意的幾點(diǎn):
①堆棧操作總是按字進(jìn)行
②不能從棧頂彈出一個(gè)字給CS
③堆棧指針為SSSP,SP永遠(yuǎn)指向棧頂
④SP自動(dòng)進(jìn)行增減量(-2,+2)
(3)、交換指令XCHG
格式:XCHGreg,mem/reg
功能:交換兩操作數(shù)的內(nèi)容。
要求:兩操作數(shù)中必須有一個(gè)在寄存器中;
操作數(shù)不能為段寄存器和立即數(shù);
源和目地操作數(shù)類型要一致。
舉例:XCHGAX,BX
XCHG[2000],CL
(4)查表指令XLAT
執(zhí)行的操作:AL-[(BX)+(AL)]
又叫查表轉(zhuǎn)換指令,它可根據(jù)表項(xiàng)序號(hào)查出表中對應(yīng)代碼的內(nèi)容。執(zhí)行時(shí)先將表的首地址
(偏移地址)送到BX中,表項(xiàng)序號(hào)存于AL中。
2、輸入輸出指令
只限于用累加器AL或AX來傳送信息。
功能:(累加器)*-I/O端口
(1)輸入指令I(lǐng)N
格式:
INacc,PORT;PORT端口號(hào)0?255H
INacc,DX;DX表示的端口范圍達(dá)64K
例:INAL,80H;(AL)一(80H端口)
INAL,DX;(AL)一((DX))
(2)輸出指令OUT
格式:OUTport,acc
OUTDX,acc
例:OUT68H,AX;(69H,68H)-(AX)
OUTDX,AL;((DX))—(AL)
在使用間接尋址的IN/OUT指令時(shí),要事先用傳送指令把I/O端口號(hào)設(shè)置到DX寄存器
如:
MOVDX,220H
INAL,DX;將220H端口內(nèi)容讀入AL
3、目標(biāo)地址傳送指令
(1)LEA
傳送偏移地址
格式:LEAreg,mem;將指定內(nèi)存單元的偏移地址送到指定寄存器
要求:
1)源操作數(shù)必須是一個(gè)存儲(chǔ)器操作數(shù);
2)目的操作數(shù)必須是一個(gè)16位的通用寄存器。
例:LEABX,[SI+10H]
設(shè):(SI)=1000H
則執(zhí)行該指令后,(BX)=1010H
?注意以下二條指令差別:
LEABX,BUFFER
MOVBX,BUFFER
前者表示將符號(hào)地址為BUFFER的存儲(chǔ)單元的偏移地址取到BX中;后者表示將BUFFER存
儲(chǔ)單元中的內(nèi)容取到BX中。
下面兩條指令等效:
LEABX,BUFFER
MOVBX,OFFSETBUFFER
其中OFFSETBUFFER表示存儲(chǔ)器單元BUFFER的偏移地址。
二者都可用于取存儲(chǔ)器單元的偏移地址,但LEA指令可以取動(dòng)態(tài)的地址,OFFSET只能取
靜態(tài)的地址。
二、算術(shù)運(yùn)算指令
1、加法指令
(1)不帶進(jìn)位的加法指令A(yù)DD
格式:ADDacc,data
ADDmem/reg,data
ADDimem/reg1,mem/r毀
實(shí)例
ADDAL,30H
ADDSI,[BX+20H]
ADDCX,SI
ADD[DI],200H
?ADD指令對6個(gè)狀態(tài)標(biāo)志均產(chǎn)生影響。
例:已知(BX)=D75FH
指令A(yù)DDBX.8046H執(zhí)行后,狀態(tài)標(biāo)志各是多少?
D75FH=1110011101011111
8046H=1000000001000110
1111II
0110011110100101
結(jié)果:C=1,Z=0,P=0,A=1,0=1,S=0
判斷溢出與進(jìn)位(重點(diǎn)△)
從硬件的角度:默認(rèn)參與運(yùn)算的操作數(shù)都是有符號(hào)數(shù),當(dāng)兩數(shù)的符號(hào)位相同,而和的結(jié)果相
異時(shí)有溢出,則OF=1,否則OF=0
(2)帶進(jìn)位的加法ADC
ADC指令在形式上和功能上與ADD類似,只是相加時(shí)還要包括進(jìn)位標(biāo)志CF的內(nèi)容,例如:
ADCAL,68H;AL-(AL)+68H+(CF)
ADCAX,CX;AX-(AX)+(CX)+(CF)
ADCBX,[DI];BX-(BX)+[DI+1][DI]+(CF)
(3)加1指令I(lǐng)NC
格式:INCreg/mem
功能:類似于C語言中的++操作:對指定的操作數(shù)加1
例:INCAL
INCSI
INCBYTEPTR[BX+4]
注:本指令不影響CF標(biāo)志。
(4)非壓縮BCD碼加法調(diào)整指令A(yù)AA
AAA指令的操作:
如果AL的低4位>9或AF=1,則:
①AL=(AL)+6,(AH)=(AH)+1,AF-1
②AL高4位清零
(3)CF-AF
否則AL高4位清零
(5)壓縮BCD碼加法調(diào)整指令DAA
?兩個(gè)壓縮BCD碼相加結(jié)果在AL中,通過DAA調(diào)整得到一個(gè)正確的壓縮BCD碼.
?指令操作(調(diào)整方法):
若AL的低4位>9或AF=1
貝i」(AL)-(AL)+6,AF-1
若AL的高4位>9或CF=1
貝l」(AL)-(AL)+60H,CF-1
?除OF外,DAA指令影響所有其它標(biāo)志。
?DAA指令應(yīng)緊跟在ADD或AOC指令之后。
2、減法指令
(1)不考慮借位的減法指令SUB
格式:SUBdest,src
操作:dest*-(dest)-(src)
注:1.源和目的操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)
2.立即數(shù)不能作為目的操作數(shù)
指令例子:
SUBAL,60H
SUB[BX+20I1],DX
SUBAX,CX
(2)考慮借位的減法指令SBB
SBB指令主要用于多字節(jié)的減法。
格式:SBBdest,src
操作:dest*-(dest)-(src)-(CF)
指令例子:
SBBAX,CX
SBBWORDPTR[SI],2080H
SBB[SI],DX
(3)減1指令DEC
作用類似于C語言中的“一一”操作符。
格式:DECopr
操作:opr*-(opr)-l
指令例子:
DECCL
DECBYTEPTR[DI+2]
DECSI
(4)求補(bǔ)指令NEG
格式:NEGopr
操作:opr-O-(opr)
對一個(gè)操作數(shù)取補(bǔ)碼相當(dāng)于用0減去此操作數(shù),故利用NEG指令可得到負(fù)數(shù)的絕對值。
例:若(AL)=0FCH,則執(zhí)行NEGAL后,
(AL)=04H,CF=1
(5)比較指令CMP
格式:CMPdest,src
操作:(dest)-(src)
CMP也是執(zhí)行兩個(gè)操作數(shù)相減,但結(jié)果不送目標(biāo)操作數(shù),其結(jié)果只反映在標(biāo)志位上。
指令例子:
CMPAL,0AH
CMPCX,SI
CMPDI,IBX+031
(6)非壓縮BCD碼減法調(diào)整指令A(yù)AS
對AL中由兩個(gè)非壓縮的BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為:
若AL的低4位>9或AF=1,則:
①AL-(AL)-6,AH-(AH)T,AFT
②AL的高4位清零
③CF-AF
否則:AL的高4位清零
(7)壓縮BCD碼減法調(diào)整指令DAS
對AL中由兩個(gè)壓縮BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為:
若AL的低4位>9或AF=1,則:
AL+(AL)-6,且AF+1
若AL的高4位>9或CF=1,則:
AL+(AL)-60H,且CF-1
DAS對OF無定義,但影響其余標(biāo)志位。
DAS指令要求跟在減法指令之后。
3、乘法指令
進(jìn)行乘法時(shí):8位*8位一16位乘積
16位*16位一32位乘積
(1)無符號(hào)數(shù)的乘法指令MUL(MEM/REG)
格式:MULsrc
操作:字節(jié)操作數(shù)(AX)=(AL)X(src)
字操作數(shù)(DX,AX)-(AX)X(src)
指令例子:
MULBL;(AL)X(BL),乘積在AX中
MULCX;(AX)X(CX),乘積在DX,AX中
MULBYTEPTR[BX]
(2)有符號(hào)數(shù)乘法指令I(lǐng)MUL
格式與MUL指令類似,只是要求兩操作數(shù)均為有符號(hào)數(shù)。
指令例子:
IMULBL;(AX)—(AL)x(BL)
IMULWORDPTR[SI];
(DX,AX)^(AX)x([SI+l][SI])
注意:MUL/IMUL指令中
?AL(AX)為隱含的乘數(shù)寄存器;
?AX(DX,AX)為隱含的乘積寄存器;
?SRC不能為立即數(shù);
?除CF和OF外,對其它標(biāo)志位無定義。
4、除法指令
進(jìn)行除法時(shí):16位/8位-8位商
32位/16位-*16位商
對被除數(shù)、商及余數(shù)存放有如下規(guī)定:
被除數(shù)商余數(shù)
字節(jié)除法AXALAH
字除法DX:AXAXDX
(1)無符號(hào)數(shù)除法指令DIV
格式:DIVsre
操作:字節(jié)操作(AL)-(AX)/(SRC)的商
(AH)-(AX)/(SRC)的余數(shù)
字操作(AX)一(DX,AX)/(SRC)的商
(DX)一(DX,AX)/(SRC)的余數(shù)
指令例子:
DIVCL
DIVWORDPTR[BX]
(2)有符號(hào)數(shù)除法指令I(lǐng)DIV
格式:IDIVsre
操作與DIV類似。商及余數(shù)均為有符號(hào)數(shù),且余數(shù)符號(hào)總是與被除數(shù)符號(hào)相同。
注意:對于DIV/IDIV指令
AX(DX,AX)為隱含的被除數(shù)寄存器。
AL(AX)為隱含的商寄存器。
AH(DX)為隱含的余數(shù)寄存器。
src不能為立即數(shù)。
對所有條件標(biāo)志位均無定
關(guān)于除法操作中的字長擴(kuò)展問題
?除法運(yùn)算要求被除數(shù)字長是除數(shù)字長的兩倍,若不滿足則需對被除數(shù)進(jìn)行擴(kuò)展,否則產(chǎn)生錯(cuò)
誤。
?對于無符號(hào)數(shù)除法擴(kuò)展,只需將AH或DX清零即可。
?對有符號(hào)數(shù)而言,則是符號(hào)位的擴(kuò)展??墒褂们懊娼榻B過的符號(hào)擴(kuò)展指令CBW和CWD
三、邏輯運(yùn)算和移位指令
1、邏輯運(yùn)算指令
(1)邏輯與AND
對兩個(gè)操作數(shù)進(jìn)行按位邏輯“與”操作。
格式:ANDdest,src
用途:保留操作數(shù)的某幾位,清零其他位。
例1:保留AL中低4位,高4位清0。
ANDAL,OFH
(2)邏輯或OR
對兩個(gè)操作數(shù)進(jìn)行按位邏輯”或“操作。
格式:ORdest,src
用途:對操作數(shù)的某幾位置1;對兩操作數(shù)進(jìn)行組合。
例1:把AL中的非壓縮BCD碼變成相應(yīng)十進(jìn)制數(shù)的ASCII碼。
ORAL,30H
(3)邏輯非NOT
對操作數(shù)進(jìn)行按位邏輯''非"操作。格式:NOTmem/reg
例:NOTCX
NOTBYTEPTR[DI]
(4)邏輯異或XOR
對兩個(gè)操作數(shù)按位進(jìn)行“異或"操作。
格式:XORdest,src
用途:對reg清零(自身異或)
把reg/mem的某幾位變反(與'1'異或)
例1:把AX寄存器清零。
①M(fèi)OVAX,0
②XORAX,AX
③ANDAX,0
④SUBAX,AX
(5)測試指令TEST
操作與AND指令類似,但不將“與“的結(jié)果送回,只影響標(biāo)志位。
TEST指令常用于位測試,與條件轉(zhuǎn)移指令一起用。
例:測試AL的內(nèi)容是否為負(fù)數(shù)。
TESTAL,80H;檢查AL中D7=l?
JNZMINUS;是1(負(fù)數(shù)),轉(zhuǎn)MINUS
……;否則為正數(shù)
2、移位指令
(1)非循環(huán)移位指令(重點(diǎn)層)
算術(shù)左移指令SAL(ShiftArithmeticLeft)
算術(shù)右移指令SAR(ShiftArithmeticRight)
邏輯左移指令SHL(ShiftLeft)
邏輯右移指令SHR(ShiftRight)
這4條指令的格式相同,以SAL為例:
CL;移位位數(shù)大于1時(shí)
SALmem/reg
1;移位位數(shù)等于1時(shí)
A算術(shù)移位——把操作數(shù)看做有符號(hào)數(shù);
邏輯移位——把操作數(shù)看做無符號(hào)數(shù)。
A移位位數(shù)放在CL寄存器中,如果只移1位,也
可以直接寫在指令中。例如:
MOVCL,4
SHRAL,CL;AL中的內(nèi)容右移4位
A影響C,P,S,Z,0標(biāo)志。
A結(jié)果未溢出時(shí):
左移1位三操作數(shù)*2
右移1位三操作數(shù)/2
例:把AL中的數(shù)x乘10
因?yàn)?0=8+2=23+2】,所以可用移位實(shí)現(xiàn)乘10操作。程序如下:
MOVCL,3
SALAL,1;2x
MOVAH,AL
SALAL,1;4x
SALAL,1;Sx
ADDAL,AH;8x+2x=1Ox
四、控制轉(zhuǎn)移指令
1、轉(zhuǎn)移指令
(1)無條件轉(zhuǎn)移指令JMP
格式:JMPlabel
本指令無條件轉(zhuǎn)移到指定的目標(biāo)地址,以執(zhí)行從該地址開始的程序段。
(2)條件轉(zhuǎn)移指令(補(bǔ)充內(nèi)容)(重點(diǎn)層)
①根據(jù)單個(gè)標(biāo)志位設(shè)置的條件轉(zhuǎn)移指令
JB/JC;低于,或CF=1,則轉(zhuǎn)移
JNB/JNC/JAE;高于或等于,或CF=O,則轉(zhuǎn)移
JP/JPE;奇偶標(biāo)志PF=1(偶),則轉(zhuǎn)移
JNP/JPO;奇偶標(biāo)志PF=O(奇),則轉(zhuǎn)移
JZ/JE;結(jié)果為零億F=l),則轉(zhuǎn)移
JNZ/JNE;結(jié)果不為零(ZF=O),則轉(zhuǎn)移
JS;SF=1,則轉(zhuǎn)移
JNS;SF=O,則轉(zhuǎn)移
JO;OF=1,則轉(zhuǎn)移
JNO;OF=0,則轉(zhuǎn)移
②根據(jù)組合條件設(shè)置的條件轉(zhuǎn)移指令
這類指令主要用來判斷兩個(gè)數(shù)的大小。
口判斷無符號(hào)數(shù)的大小
?JA高于則轉(zhuǎn)移
條件為:CF=OAZF=O,即A>B
?JNA/JBE低于或等于則轉(zhuǎn)移
條件為:CF=1VZF=1,即AWB
?JBA<B則轉(zhuǎn)移
?JNBA》B則轉(zhuǎn)移
★判斷有符號(hào)數(shù)的大小
?JG;大于則轉(zhuǎn)移(A>B)
條件為:(SF十OF=0)/\ZF=0
?JGE;大于或等于則轉(zhuǎn)移(ANB)
條件為:(SF十OF=0)VZF=1,JLE;小于或等于則轉(zhuǎn)移(AWB)
條件為:(SF十OF=1)VZF=1
?JL;小于則轉(zhuǎn)移(AVB=
條件為:(SF?OF=1)AZF=0
2、循環(huán)控制指令
?用在循環(huán)程序中以確定是否要繼續(xù)循環(huán)。
?循環(huán)次數(shù)通常置于CX中。
?轉(zhuǎn)移的目標(biāo)應(yīng)在距離本指令-128?+127的范圍之內(nèi)。
?循環(huán)控制指令不影響標(biāo)志位。
(l)LOOP
格式:LOOPlabel
操作:(CX)-1-*CX;
若(CX)#O,則轉(zhuǎn)至label處執(zhí)行;
否則退出循環(huán),執(zhí)行LOOP后面的指令。
LOOP指令與下面的指令段等價(jià):
DECCX
JNZlabel
3、過程調(diào)用指令
(1)調(diào)用指令CALL
一般格式:CALLsub;s處為子程序的入口
4、中斷指令
(l)INTn執(zhí)行類型n的中斷服務(wù)程序,N=0?255
五、處理器控制指令
1、標(biāo)志位操作
(1)CF設(shè)置指令
CLCOfCFSTC1-CFCMCCF變反
(2)DF設(shè)置指令
CLDOfDF(串操作的指針移動(dòng)方向從低到高)
STD1-DF(串操作的指針移動(dòng)方向從高到低)
(3)IF設(shè)置指令
CLI0-IF(禁止INTR中斷)STI1-IF(開放INTR中斷)
2、HLT(halt)
執(zhí)行HLT指令后,CPU進(jìn)入暫停狀態(tài)。
第四章8086匯編語言程序設(shè)計(jì)
第一節(jié)偽指令(重點(diǎn)
CPU指令與偽指令之間的區(qū)別:
(l)CPU指令是給CPU的命令,在運(yùn)行時(shí)由CPU執(zhí)行,每條指令對應(yīng)CPU的一種特定的
操作。而偽指令是給匯編程序的命令,在匯編過程中由匯編程序進(jìn)行處理。
(2)匯編以后,每條CPU指令產(chǎn)生一一對應(yīng)的目標(biāo)代碼;而偽指令則不產(chǎn)生與之相應(yīng)的目標(biāo)
代碼。
1、數(shù)據(jù)定義偽指令
(1)數(shù)據(jù)定義偽指令的一般格式為:
?[變量名]偽指令操作數(shù)[,操作數(shù)…]
DB用來定義字節(jié)(BYTE)
DW用來定義字(WORD)
DD用來定義雙字(DWORD)
(2)操作數(shù)的類型可以是:
①常數(shù)或常數(shù)表達(dá)式
?例如:DATA_BYTEDB10,5,1OH
DATA_WORDDW1OOH,100,-4
DATA_DWDD2*30,0FFFBH
。可以為字符串(定義字符串最好使用DB)
?例如:charlDB'AB'
&可以為變量
也可以為?號(hào)操作符
例如:XDB5,?,6
?號(hào)只是為了給變量保留相應(yīng)的存儲(chǔ)單元,而不賦予變量某個(gè)確定的初值。
◎重復(fù)次數(shù):NDUP(初值[,初值…])
?例如:ZERODB2DUP(3,5)
XYZDB2DUP(0,2DUP(1,3),5)
我在偽操作的操作數(shù)字段中若使用$,則表示的是地址計(jì)數(shù)器的當(dāng)前值。
2、補(bǔ)充內(nèi)容:
(1)類型PTR地址表達(dá)式例如:MOVBYTEPTR[BX],12H
INCBYTEPTR[BX]
注意:單操作數(shù)指令,當(dāng)操作數(shù)為基址、變址、基+變的時(shí)候必須定義
3、符號(hào)定義偽指令
(DEQU
格式:名字EQU表達(dá)式
EQU偽指令將表達(dá)式的值賦予一個(gè)名字,以后可用這個(gè)名字來代替上述表達(dá)式。
例:CONSTANTEQU100
NEW_PORTEQUPORT_VAL+1
⑵=(等號(hào))
與EQU類似,但允許重新定義
例:
I
I
EMP=7;值為7
I
I
EMP=EMP+1;值為8
⑶LABEL
LABEL偽指令的用途是定義標(biāo)號(hào)或變量的類型
格式:名字LABEL類型
變量的類型可以是BYTE,WORD,DWORD。標(biāo)號(hào)的類型可以是NEAR或FAR
4、段定義偽指令
與段有關(guān)的偽指令有:
SEGMENT、ENDS、ASSUME、ORG
(1)段定義偽指令的格式如下:
段名SEGMENT[定位類型][組合類型]「類別」
■
I
I
段名ENDS
SEGMENT和ENDS
這兩個(gè)偽指令總是成對出現(xiàn),二者前面的段名一致。二者之間的刪節(jié)部分,對數(shù)據(jù)段、
附加段及堆棧段,一般是符號(hào)、變量定義等偽指令。對于代碼段則是指令及偽指令。此外,
還必須明確段和段寄存器的關(guān)系,這可由ASSUME語句來實(shí)現(xiàn)。
(2)ASSUME
格式:
ASSUME段寄存器名:段名[,段寄存器名:段名
ASSUME偽指令告訴匯編程序,將某一個(gè)段寄存器設(shè)置為某一個(gè)邏輯段址,即明確指出
源程序中邏輯段與物理段之間的關(guān)系。
(3)ORG
偽指令ORG規(guī)定了段內(nèi)的起始地址或偏移地址,其格式為:
ORG〈表達(dá)式〉
表達(dá)式的值即為段內(nèi)的起始地址或偏移地址,從此地址起連續(xù)存放程序或數(shù)據(jù)。
5、匯編程序的一般結(jié)構(gòu)(重點(diǎn)(記住)
DATASEGMENT
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
BGN:MOVAX,DATA
MOVDS,AX
MOVAH,4CH
INT21H
CODEENDS
ENDBGN
第三節(jié)程序設(shè)計(jì)
1、順序程序的設(shè)計(jì)(略)
2、分支程序的設(shè)計(jì)
典型例題:
1X>0
0x=o
-1X<0
?程序?yàn)椋?/p>
MOVAL,X
CMPAL,0
JGEBIG
MOVY,-1
JMPEXIT
BIG:JEEQUL
MOVY,1
JMPEXIT
EQUL:MOVY,0
EXIT:....
3、循環(huán)程序見講義。
?用計(jì)數(shù)控制循環(huán)
第一章計(jì)算機(jī)基礎(chǔ)知識(shí)
本章的主要內(nèi)容為不同進(jìn)位計(jì)數(shù)制計(jì)數(shù)方法、不同進(jìn)位制數(shù)之間相互轉(zhuǎn)換的
方法、數(shù)和字符在計(jì)算機(jī)中的表示方法、簡單的算術(shù)運(yùn)算以及計(jì)算機(jī)系統(tǒng)的組成。
下邊將本章的知識(shí)點(diǎn)作了歸類,圖1為本章的知識(shí)要點(diǎn)圖,圖1.2為計(jì)算機(jī)系統(tǒng)
組成的示意圖。
第二章8086微處理器
本章要從應(yīng)用角度上理解8086CPU的內(nèi)部組成、編程結(jié)構(gòu)、引腳信號(hào)功
能、最小工作模式的系統(tǒng)配置、8086的存儲(chǔ)器組織、基本時(shí)序等概念。下面這
一章知識(shí)的結(jié)構(gòu)圖。
第三章8086的指令系統(tǒng)
本章重點(diǎn)是8086CPU指令的尋址方式,每條指令的格式、功能及標(biāo)志的影
響;同時(shí)還涉及到存儲(chǔ)器單元的物理地址計(jì)算、標(biāo)志位填寫和堆棧操作。下圖
為本章知識(shí)結(jié)構(gòu)圖。
第四章匯編語言程序設(shè)計(jì)
本章主要內(nèi)容是匯編語言類別、偽指令語句格式和作用、基本程序結(jié)構(gòu)、調(diào)
用程序和被調(diào)用程序之間數(shù)據(jù)傳遞途徑以及匯編源程序上機(jī)調(diào)試過程。
本章重點(diǎn)是閱讀程序和編寫程序。下邊是本章的知識(shí)結(jié)構(gòu)圖。
第五章半導(dǎo)體存儲(chǔ)器
半導(dǎo)體存儲(chǔ)器是用半導(dǎo)體器件作為存儲(chǔ)介質(zhì)的存儲(chǔ)器。本章討論半導(dǎo)體存儲(chǔ)
器芯片的類型、存儲(chǔ)原理、引腳功能、如何與CPU(或系統(tǒng)總線)連接等問題。
本章知識(shí)結(jié)構(gòu)圖如下。
第六章輸入輸出接口
本章討論輸入/輸出接口的基本概念,包括輸入/輸出接口的作用、內(nèi)部結(jié)構(gòu)、傳送信息的分
析、10端口編址以及主機(jī)通過接口與外設(shè)之間數(shù)據(jù)傳送的方式。下邊是本章的知識(shí)結(jié)構(gòu)圖。
第七章中斷與中斷控制器
本章主要內(nèi)容:中斷的基本概念、CPU響應(yīng)中斷的條件、中斷響應(yīng)過程、中斷服務(wù)程序的
執(zhí)行;8086/8088中斷系統(tǒng);可編程中斷控制器8259A的引腳功能、編程結(jié)構(gòu)以及工作工程。
第八章定時(shí)器/計(jì)數(shù)器8253及應(yīng)用
本章主要內(nèi)容是定時(shí)器/計(jì)算器的應(yīng)用場合;如何實(shí)現(xiàn)定時(shí)/計(jì)數(shù);可編程計(jì)數(shù)器/定時(shí)器8253
芯片的內(nèi)部結(jié)構(gòu)、引腳功能、計(jì)數(shù)原理、6種工作方式下的工作條件和輸出波形特征。下邊
是知識(shí)要點(diǎn)圖。
第九章A/D和D/A轉(zhuǎn)換
本章重點(diǎn)是A/D轉(zhuǎn)換的任務(wù)和轉(zhuǎn)換原理,D/A轉(zhuǎn)換的任務(wù)和轉(zhuǎn)換原理,常用A/D轉(zhuǎn)換器(ADC)
集成芯片和D/A轉(zhuǎn)換器(DAC)集成芯片的外部引腳功能、內(nèi)部結(jié)構(gòu)、工作過程、性能指標(biāo)以
及實(shí)際應(yīng)用。
如下圖所示,以8088微處理器為核心的IBMPC/XT機(jī)與DAC0832連接,實(shí)現(xiàn)波形發(fā)生器。
IBMPC/XT機(jī)使用10根地址線A0~A9尋址I/O端口,AEN為地址允許信號(hào),低電平時(shí)選
中端口。DAC0832的參考電壓VREF=-5V,VREF的范圍為0~5V,計(jì)算式為
VREF,其中,N是由DAC0832轉(zhuǎn)換的數(shù)字量對應(yīng)的十進(jìn)制值。V。a的輸出
范圍是-5V~5V。
(1)根據(jù)下圖一所示的DAC0832的硬件連接,說明其工作方式。
⑵假如DAC0832端口地址為140H,請?jiān)谙聢D一中畫出相應(yīng)的譯碼電路。
(3)現(xiàn)有1ms的延時(shí)子程序DELAY,請編寫程序片段實(shí)現(xiàn)輸出右圖二的所示波形。
第一章計(jì)算機(jī)基礎(chǔ)知識(shí)
本章的主要內(nèi)容為不同進(jìn)位計(jì)數(shù)制計(jì)數(shù)方法、不同進(jìn)位制數(shù)之間相互轉(zhuǎn)換的
方法、數(shù)和字符在計(jì)算機(jī)中的表示方法、簡單的算術(shù)運(yùn)算以及計(jì)算機(jī)系統(tǒng)的組成。
下邊將本章的知識(shí)點(diǎn)作了歸類,圖1為本章的知識(shí)要點(diǎn)圖,圖1.2為計(jì)算機(jī)系統(tǒng)
組成的示意圖。
第二章8086微處理器
本章要從應(yīng)用角度上理解8086CPU的內(nèi)部組成、編程結(jié)構(gòu)、引腳信號(hào)功
能、最小工作模式的系統(tǒng)配置、8086的存儲(chǔ)器組織、基本時(shí)序等概念。下面這
一章知識(shí)的結(jié)構(gòu)圖。
第三章8086的指令系統(tǒng)
本章重點(diǎn)是8086CPU指令的尋址方式,每條指令的格式、功能及標(biāo)志的影
響;同時(shí)還涉及到存儲(chǔ)器單元的物理地址計(jì)算、標(biāo)志位填寫和堆棧操作。下圖
為本章知識(shí)結(jié)構(gòu)圖。
第四章匯編語言程序設(shè)計(jì)
本章主要內(nèi)容是匯編語言類別、偽指令語句格式和作用、基本程序結(jié)構(gòu)、調(diào)
用程序和被調(diào)用程序之間數(shù)據(jù)傳遞途徑以及匯編源程序上機(jī)調(diào)試過程。
本章重點(diǎn)是閱讀程序和編寫程序。下邊是本章的知識(shí)結(jié)構(gòu)圖。
第五章半導(dǎo)體存儲(chǔ)器
半導(dǎo)體存儲(chǔ)器是用半導(dǎo)體器件作為存儲(chǔ)介質(zhì)的存儲(chǔ)器。本章討論半導(dǎo)體存儲(chǔ)
器芯片的類型、存儲(chǔ)原理、引腳功能、如何與CPU(或系統(tǒng)總線)連接等問題。
本章知識(shí)結(jié)構(gòu)圖如下。
第六章輸入輸出接口
本章討論輸入/輸出接口的基本概念,包括輸入/輸出接口的作用、內(nèi)部結(jié)構(gòu)、傳送信息的分
析、IO端口編址以及主機(jī)通過接口與外設(shè)之間數(shù)據(jù)傳送的方式。下邊是本章的知識(shí)結(jié)構(gòu)圖。
第七章中斷與中斷控制器
本章主要內(nèi)容:中斷的基本概念、CPU響應(yīng)中斷的條件、中斷響應(yīng)過程、中斷服務(wù)程序的
執(zhí)行;8086/8088中斷系統(tǒng);可編程中斷控制器8259A的引腳功能、編程結(jié)構(gòu)以及工作工程。
第八章定時(shí)器/計(jì)數(shù)器8253及應(yīng)用
本章主要內(nèi)容是定時(shí)器/計(jì)算器的應(yīng)用場合;如何實(shí)現(xiàn)定時(shí)/計(jì)數(shù);可編程計(jì)數(shù)器/定時(shí)器8253
芯片的內(nèi)部結(jié)構(gòu)、引腳功能、計(jì)數(shù)原理、6種工作方式下的工作條件和輸出波形特征。下邊
是知識(shí)要點(diǎn)圖。
第九章A/D和D/A轉(zhuǎn)換
本章重點(diǎn)是A/D轉(zhuǎn)換的任務(wù)和轉(zhuǎn)換原理,D/A轉(zhuǎn)換的任務(wù)和轉(zhuǎn)換原理,常用A/D轉(zhuǎn)換器(ADC)
集成芯片和D/A轉(zhuǎn)換器(DAC)集成芯片的外部引腳功能、內(nèi)部結(jié)構(gòu)、工作過程、性能指標(biāo)以
及實(shí)際應(yīng)用。
如下圖所示,以8088微處理器為核心的IBMPC/XT機(jī)與DAC0832連接,實(shí)現(xiàn)波形發(fā)生器。
IBMPC/XT機(jī)使用10根地址線A0~A9尋址I/O端口,AEN為地址允許信號(hào),低電平時(shí)選
中端口。DAC0832的參考電壓VREF=-5V,VREF的范圍為0~5V,計(jì)算式為
(N
K?,i=-L—、VREF,其中,N是由DAC0832轉(zhuǎn)換的數(shù)字量對應(yīng)的十進(jìn)制值。丫皿的輸出
\255J
范圍是-5V~5V。
(1)根據(jù)下圖一所示的DAC0832的硬件連接,說明其工作方式。
(2)假如DAC0832端口地址為140H,請?jiān)谙聢D一中畫出相應(yīng)的譯碼電路。
(3)現(xiàn)有1ms的延時(shí)子程序DELAY,請編寫程序片段實(shí)現(xiàn)輸出右圖二的所示波形。
1.什么是中斷?什么是中斷向量?中斷向量表的地址范圍?
答:中斷就是CPU在執(zhí)行當(dāng)前程序時(shí)由于內(nèi)外部事件引起CPU暫時(shí)停止當(dāng)前
正在執(zhí)行的程序而轉(zhuǎn)向執(zhí)行請求CPU暫時(shí)停止的內(nèi)外部事件的服務(wù)程序,該程
序處理完后又返回繼續(xù)執(zhí)行被停止的程序;中斷向量是中斷處理子程序的入口
地址;地址范圍是00000H-003FFH。
3.微機(jī)系統(tǒng)的硬件由哪幾部分組成?
答:微型計(jì)算機(jī)(微處理器,存儲(chǔ)器,I/O接口,系統(tǒng)總線),外圍設(shè)備,電源。
4.什么是微機(jī)的總線,分為哪三組?
答:是傳遞信息的一組公用導(dǎo)線。分三組:地址總線,數(shù)據(jù)總線,控制總線。
5.8086/8088CPU的內(nèi)部結(jié)構(gòu)分為哪兩大模塊,各自的主要功能是什么?
答:總線接口部件(BIU)功能:根據(jù)執(zhí)行單元EU的請求完成CPU與存儲(chǔ)器
或10設(shè)備之間的數(shù)據(jù)傳送。執(zhí)行部件(EU),作用:從指令對列中取出指令,
對指令進(jìn)行譯碼,發(fā)出相應(yīng)的傳送數(shù)據(jù)或算術(shù)的控制信號(hào)接受由總線接口部件
傳送來的數(shù)據(jù)或把數(shù)據(jù)傳送到總線接口部件進(jìn)行算術(shù)運(yùn)算。
6.8086指令隊(duì)列的作用是什么?
答:作用是:在執(zhí)行指令的同時(shí)從內(nèi)存中取了一條指令或下幾條指令,取來的
指令放在指令隊(duì)列中這樣它就不需要象以往的計(jì)算機(jī)那樣讓CPU輪番進(jìn)行取指
和執(zhí)行的工作,從而提高CPU的利用率。
7.8086的存儲(chǔ)器空間最大可以為多少?怎樣用16位寄存器實(shí)現(xiàn)對20位地址
的尋址?完成邏輯地址到物理地址轉(zhuǎn)換的部件是什么?
答:8086的存儲(chǔ)器空間最大可以為2A20(1MB);8086計(jì)算機(jī)引入了分段管理
機(jī)制,當(dāng)CPU尋址某個(gè)存儲(chǔ)單元時(shí),先將段寄存器內(nèi)的內(nèi)容左移4位,然后加
上指令中提供的16位偏移地址形成20位物理地址。
8.段寄存器CS=1200H,指令指針寄存器IP=FF00H,此時(shí),指令的物理地址
為多少?指向這一物理地址的CS值和IP值是唯一的嗎?
答:指令的物理地址為21F00H;CS值和IP值不是唯一的,例如:CS=2100H,
IP=0F00Ho
9.設(shè)存儲(chǔ)器的段地址是4ABFH,物理地址為50000H,其偏移地址為多少?
答:偏移地址為54100Ho(物理地址=段地址*16+偏移地址)
10.8086/8088CPU有哪幾個(gè)狀態(tài)標(biāo)志位,有哪幾個(gè)控制標(biāo)志位?其意義各是什
么?
答:狀態(tài)標(biāo)志位有6個(gè):ZF,SF,CF,OF,AF,PF。其意思是用來反映指
令執(zhí)行的特征,通常是由CPU根據(jù)指令執(zhí)行結(jié)果自動(dòng)設(shè)置的;控制標(biāo)志位有3
個(gè):DF,IF,TFo它是由程序通過執(zhí)行特定的指令來設(shè)置的,以控制指令的操
作方式。
11.8086CPU的AD0-AD15是什么引腳?
答:數(shù)據(jù)與地址引腳
12.INTRsINTA、NMI、ALE、HOLD、HLDA引腳的名稱各是什么?
答:INTR是可屏蔽請求信號(hào),INTA中斷響應(yīng)信號(hào),NMI是不可屏蔽中斷請求
信號(hào),ALE是地址鎖存允許信號(hào),HOLD總線請求信號(hào),HLDA總線請求響應(yīng)
信號(hào)。
13.虛擬存儲(chǔ)器有哪兩部分組成?
答:有主存儲(chǔ)器和輔助存儲(chǔ)器。
14.在80x86中,什么是邏輯地址、線性地址、物理地址?
答:線性地址是連續(xù)的不分段的地址;邏輯地址是由程序提供的地址;物理地
址是內(nèi)存單元的實(shí)際地址。
15.段描述符分為哪幾種?
答:分為三大類,程序段描述符,系統(tǒng)段描述符,門描述符。
16.RAM有幾種,各有什么特點(diǎn)?ROM有幾種,各有什么特點(diǎn)?
答:RAM有兩種,SRAM(靜態(tài)RAM),它采用觸發(fā)器電路構(gòu)成一個(gè)二進(jìn)制位信
息的存儲(chǔ)單元,這種觸發(fā)器一般由6個(gè)晶體管組成,它讀出采用單邊讀出的原
理,寫入采用雙邊寫入原理;DRAM(動(dòng)態(tài)RAM),它集成度高,內(nèi)部存儲(chǔ)單
元按矩陣形式排列成存儲(chǔ)體,通常采用行,列地址復(fù)合選擇尋址法。ROM有5
種,固定掩摸編程ROM,可編程PROM,紫外光榛除可編程EPROM,電可榛
除的可編程EPROM,閃遞存儲(chǔ)器。
17.若用4K*1位的RAM芯片組成8K*8為的存儲(chǔ)器,需要多少芯片?
A19—A0地址線中哪些參與片內(nèi)尋址,哪些用做芯片組的片選信號(hào)?
答:需要16片芯片;其中A1LA0參與片內(nèi)尋址;A12做芯片組的片選信號(hào)。
18.若系統(tǒng)分別使用512K*8、1K*4、16K*8、64K*1的RAM,各需
要多少條地址線進(jìn)行尋址,各需要多少條數(shù)據(jù)線?
答:512K*8需要19條地址線,8條數(shù)據(jù)線。1K*4需要10條地址線,4條
數(shù)據(jù)線。16K*8需要14條地址線,8條數(shù)據(jù)線。64K*1需要14條地址線,
1條數(shù)據(jù)線。
19.某微機(jī)系統(tǒng)的RAM容量為8K*8,若首地址為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度辦公室裝修合同樣本:辦公空間綠化與景觀設(shè)計(jì)
- 電纜橋架購銷合同
- 數(shù)據(jù)分析技術(shù)在商業(yè)決策中的應(yīng)用研究
- 招投標(biāo)與合同管理第六章
- 三農(nóng)網(wǎng)信息化實(shí)施與管理手冊
- 外架工程勞務(wù)分包合同
- 農(nóng)業(yè)現(xiàn)代化生產(chǎn)作業(yè)指導(dǎo)書
- 公司個(gè)人租車合同
- 員工培訓(xùn)保密協(xié)議合同書
- 資料外包協(xié)議書
- 2025版茅臺(tái)酒出口業(yè)務(wù)代理及銷售合同模板4篇
- 2025年N1叉車司機(jī)考試試題(附答案)
- 2025年人教版數(shù)學(xué)五年級(jí)下冊教學(xué)計(jì)劃(含進(jìn)度表)
- 《醫(yī)院財(cái)務(wù)分析報(bào)告》課件
- 北師大版七年級(jí)上冊數(shù)學(xué)期末考試試題及答案
- 初中信息技術(shù)課堂中的項(xiàng)目式學(xué)習(xí)實(shí)踐研究結(jié)題報(bào)告
- 2024安全事故案例
- 2024年考研政治試題及答案
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊 期末綜合卷(含答案)
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 2024年考研管理類綜合能力(199)真題及解析完整版
評(píng)論
0/150
提交評(píng)論