![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/14/d05ec0e1-33fa-46a6-a8e2-b777b6e61f71/d05ec0e1-33fa-46a6-a8e2-b777b6e61f711.gif)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/14/d05ec0e1-33fa-46a6-a8e2-b777b6e61f71/d05ec0e1-33fa-46a6-a8e2-b777b6e61f712.gif)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/14/d05ec0e1-33fa-46a6-a8e2-b777b6e61f71/d05ec0e1-33fa-46a6-a8e2-b777b6e61f713.gif)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/14/d05ec0e1-33fa-46a6-a8e2-b777b6e61f71/d05ec0e1-33fa-46a6-a8e2-b777b6e61f714.gif)
![微機(jī)原理與接口技術(shù)知識(shí)點(diǎn)總結(jié)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/14/d05ec0e1-33fa-46a6-a8e2-b777b6e61f71/d05ec0e1-33fa-46a6-a8e2-b777b6e61f715.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理1.2.4 )微機(jī)原理與接口技術(shù)復(fù)習(xí)參考資料復(fù)習(xí)資料說明:1、標(biāo)有紅色星號(hào)“”的內(nèi)容為重點(diǎn)內(nèi)容3、本資料末尾附有“ 微機(jī)原理與接口技術(shù)綜合練習(xí)題與答案錯(cuò)誤修正”和“ 與接口技術(shù)綜合練習(xí)題與答案中不作要求的部分” ,請(qǐng)注意查看。第一章 概 述一、計(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 (表示1015 )共16個(gè)數(shù)字符號(hào)。2、各種數(shù)制
2、之間的轉(zhuǎn)換( 1 )非十進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換 按相應(yīng)進(jìn)位計(jì)數(shù)制的權(quán)表達(dá)式展開,再按十進(jìn)制求和。(見書本 1.2.3 ,( 2)十進(jìn)制數(shù)制轉(zhuǎn)換為二進(jìn)制數(shù)制十進(jìn)制 t二進(jìn)制的轉(zhuǎn)換:整數(shù)部分:除 2 取余;小數(shù)部分:乘 2 取整。十進(jìn)制 t 十六進(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
3、 變量中,只要有一個(gè)為 1 ,或運(yùn)算的結(jié)果就是 1( 3 )非運(yùn)算( 4 )異或運(yùn)算A、B 兩個(gè)變量只要不同,異或運(yùn)算的結(jié)果就是1、計(jì)算機(jī)中的碼制 (重點(diǎn) )X 的原碼記作 X 原,1、對(duì)于符號(hào)數(shù),機(jī)器數(shù)常用的表示方法有原碼、反碼和補(bǔ)碼三種。數(shù) 反碼記作 X 反,補(bǔ)碼記作 X 補(bǔ)。注意:對(duì)正數(shù),三種表示法均相同。 它們的差別在于對(duì)負(fù)數(shù)的表示。(1)原碼定義: 符號(hào)位: 0 表示正, 1 表示負(fù); 數(shù)值位:真值的絕對(duì)值。 注意:數(shù) 0 的原碼不唯一(2)反碼 定義:若X>0,則兇反=X原若X<0 ,則X反=對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反注意:數(shù) 0 的反碼也不唯一(3)補(bǔ)碼
4、定義:若X>0 ,則X補(bǔ)=兇反=兇原若X<0 ,則X補(bǔ)=兇反+1注意:機(jī)器字長(zhǎng)為 8時(shí),數(shù) 0的補(bǔ)碼唯一,同為 000000002、 8 位二 原碼:反碼:補(bǔ)碼:進(jìn)制的表示范圍:-127+127-127+127-128+1273、特殊數(shù) 10000000該數(shù)在原碼中定義為: -0 在反碼中定義為: -127 在補(bǔ)碼中定義為: -128對(duì)無符號(hào)數(shù):(10000000) 2 = 128三、信息的編碼1 、 十進(jìn)制數(shù)的二進(jìn)制數(shù)編碼BCD 碼和非壓縮 BCD 碼。用 4 位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)。有兩種表示法:壓縮1)壓縮 BCD 碼的每一位用 4位二進(jìn)制表示, 00001001 表示
5、09 ,一個(gè)字節(jié)表示兩位十進(jìn)制數(shù)。(2)非壓縮 BCD 碼用一個(gè)字節(jié)表示一位十進(jìn)制數(shù), 高4位總是 0000,低4位的 00001001 表示 092、字符的編碼計(jì)算機(jī)采用 7 位二進(jìn)制代碼對(duì)字符進(jìn)行編碼(1)數(shù)字 09 的編碼是 01100000111001 ,它們的高 3位均是 011 ,后4 位正好與其對(duì)應(yīng)的二進(jìn)制代碼( BCD 碼)相符。(2 )英文字母 AZ 的 ASCII 碼從 1000001 (41H )開始順序遞增,字母 az 的 ASCII 碼 從 1100001 (61H )開始順序遞增,這樣的排列對(duì)信息檢索十分有利。第二章 微機(jī)組成原理第一節(jié)、微機(jī)的結(jié)構(gòu)1、計(jì)算機(jī)的經(jīng)典結(jié)
6、構(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ù)總線( Data Bus ),它決定了處理器的字長(zhǎng)。(2)地址總線( Address Bus ) , 它決定系統(tǒng)所能直接訪問的存儲(chǔ)器空間的容量。 ( 3)控制總線( Control Bus )第二節(jié)、 8086 微處理器1、 8086 是一種單片微處理芯片,其內(nèi)部數(shù)據(jù)總線的
7、寬度是16 位,外部數(shù)據(jù)總線寬度也是16 位,片內(nèi)包含有控制計(jì)算機(jī)所有功能的各種電路。8086 地址總線的寬度為 20 位,有 1MB (220 )尋址空間。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 ,SI,DI)指令指針( IP)
8、1)、通用寄存器(1) 8086 含 4 個(gè) 16 位數(shù)據(jù)寄存器,它們又可分為 8 個(gè) 8 位寄存器,即:AX AH ,ALBX BH ,BLCX CH ,CLDX DH ,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)、指針和變址寄存器S
9、P :堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂?;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)志位( A
10、F ):運(yùn)算結(jié)果的低四位有進(jìn)位或借位,則 AF=1 溢出標(biāo)志位( OF ):運(yùn)算結(jié)果有溢出,則 OF=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位“個(gè)數(shù)是否為偶數(shù)( 2 )控制標(biāo)志位中斷允許標(biāo)志位(IF):表示CPU是否能夠響應(yīng)外部可屏蔽中斷請(qǐng)求 跟蹤標(biāo)志( TF ): CPU 單步執(zhí)行5、8086 的引腳及其功能(重點(diǎn)掌握以下引腳)AD15AD0 :雙向三態(tài)的地址總線,輸入 /輸出信號(hào)INTR :可屏蔽中斷請(qǐng)求輸入信號(hào),高電平有效??赏ㄟ^設(shè)置 IF 的值來控制。NMI
11、 :非屏蔽中斷輸入信號(hào)。不能用軟件進(jìn)行屏蔽。RESET :復(fù)位輸入信號(hào),高電平有效。復(fù)位的初始狀態(tài)見 P21MN/MX :最小最大模式輸入控制信號(hào)。第三章 8086 指令系統(tǒng)說明: 8086 指令系統(tǒng)這章為重點(diǎn)章節(jié),對(duì)下面列出的指令都要求掌握。第一節(jié) 8086 尋址方式一、數(shù)據(jù)尋址方式 (重點(diǎn) )1、立即尋址操作數(shù) ( 為一常數(shù) )直接由指令給出( 此操作數(shù)稱為立即數(shù) ) 立即尋址只能用于源操作數(shù) 例:MOV AX, 1C8FHMOV BYTE PTR2A00H, 8FH錯(cuò)誤例:X MOV 2A00H,AX ;錯(cuò)誤!指令操作例: MOV AX ,3102H; AX 3102H 執(zhí)行后, (AH
12、) = 31H ,(AL) = 02H2、寄存器尋址(1)操作數(shù)放在某個(gè)寄存器中(2)源操作數(shù)與目的操作數(shù)字長(zhǎng)要相同(3)寄存器尋址與段地址無關(guān)例:MOVAX, BXMOV3F00H, AXMOVCL, AL錯(cuò)誤例:X MOV AX,BL ; 字長(zhǎng)不同X MOV ES:AX,DX ; 寄存器與段無關(guān)3、直接尋址( 1)指令中直接給出操作數(shù)的 16 位偏移地址 偏移地址也稱為有效地址 (EA, Effective Address)(2)默認(rèn)的段寄存器為 DS但也可以顯式地指定其他段寄存器一一稱為段超越前綴( 3)偏移地址也可用符號(hào)地址來表示,如ADDR、 VAR例:MOV AX ,2A00HMO
13、V DX ,ES:2A00HMOV SI,TABLE_PTR4、間接尋址操作數(shù)的偏移地址(有效地址EA)放在寄存器中只有SI、DI、BX和BP可作間址寄存器例: MOV AX,BXMOV CL,CS:DI錯(cuò)誤例:x MOVAX, DXX MOVCL, AX5、寄存器相對(duì)尋址EA= 間址寄存器的內(nèi)容加上一個(gè) 8/16 位的位移量例:MOVAX,BX+8MOVCX,TABLESIMOVAX,BP; 默認(rèn)段寄存器為 SS指令操作例:MOVAX , DATABX若 (DS)=6000H, (BX)=1000H, DA TA=2A00H,(63A00H)=66H,(63A01H)=55H則物理地址 =
14、60000H + 1000H + 2A00H = 63A00H指令執(zhí)行后:(AX ) =5566H稱為DS6、基址變址尋址 若操作數(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ù)段 中,當(dāng)基址寄存器為 BP時(shí),操作數(shù)應(yīng)放在堆棧段 SS中。例:MO
15、V AX, BX SIMOV AX, BX+SIMOV AX, DS: BP DI錯(cuò)誤例:X MOV AX, BX BPX MOV AX, DI SI 指令操作例: MOV AX , BXSI假定: (DS)=8000H, (BX)=2000H,SI=1000H則物理地址 = 80000H + 2000H + 1000H = 83000H 指令執(zhí)行后 : (AL)=83000H(AH)=83001H7、相對(duì)基址變址尋址在基址 -變址尋址的基礎(chǔ)上再加上一個(gè)相對(duì)位移量EA= ( BX ) + ( SI)或(DI ) +8位或16位位移量;EA= ( BP) + ( SI)或(DI) +8位或16位
16、位移量 指令操作例 : MOV AX, DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H則指令執(zhí)行后 (AH)=83021H,(AL)=83020H 寄存器間接、寄存器相對(duì)、基址變址、相對(duì)基址變址四種尋址方式的比較:尋址方式 指令操作數(shù)形式寄存器間接只有一個(gè)寄存器( BX/BP/SI/DI 之一)寄存器相對(duì)一個(gè)寄存器加上位移量基址 變址 相對(duì)基址 -變址兩個(gè)不同類別的寄存器 兩個(gè)不同類別的寄存器加上位移量二、地址尋址方式(了解有 4 類,能判斷) 簡(jiǎn)要判斷依據(jù)(指令中間的單詞) : 段內(nèi)直接 short,near 段內(nèi)間接 word
17、段間直接 far 段間間接 dword第二節(jié)8086 指令系統(tǒng)一、數(shù)據(jù)傳送指令 (重點(diǎn) )1 、通用傳送指令(1)MOV dest , src; dest src傳送的是字節(jié)還是字取決于指令中涉及的寄存器是 8 位還是 16 位。 具體來說可實(shí)現(xiàn):MOVmem/reg1 ,mem/reg2指令中兩操作數(shù)中至少有一個(gè)為寄存器MOVreg, data;立即數(shù)送寄存器MOVmem, data;立即數(shù)送存儲(chǔ)單元MOVacc, mem;存儲(chǔ)單元送累加器MOVmem, acc;累加器送存儲(chǔ)單元MOVsegreg, mem/reg ; 存儲(chǔ)單元 /寄存器送段寄存器MOVmem/reg, segreg ;段寄
18、存器送存儲(chǔ)單元 /寄存器MOV 指令的使用規(guī)則 IP不能作目的寄存器 不允許 mem mem 不允許 segreg segreg 立即數(shù)不允許作為目的操作數(shù) 不允許segreg立即數(shù) 源操作數(shù)與目的操作數(shù)類型要一致+變址的內(nèi)存數(shù)時(shí),必 當(dāng)源操作數(shù)為單字節(jié)的立即數(shù),而目的操作數(shù)為間址、變址、基址 須用 PTR 說明數(shù)據(jù)類型。如: MOV BX , 12H 是錯(cuò)誤的。(2 )、堆棧指令什么是堆棧?按 后進(jìn)先出(LIFO) ”方式工作的存儲(chǔ)區(qū)域。堆棧以字為單位進(jìn)行壓入彈出操作。規(guī)定由SS指示堆棧段的段基址,堆棧指針SP始終指向堆棧的頂部,SP的初值規(guī)定了所用堆棧區(qū)的大小。堆棧的最高地址叫棧底。 壓棧
19、指令PUSHPUSH src ; src為16位操作數(shù)例:PUSH AX ;將AX內(nèi)容壓棧執(zhí)行操作:(SP) -1 -高字節(jié) AH(SP) -2-低字節(jié)AL(SP)-( SP) - 2注意進(jìn)棧方向是高地址向低地址發(fā)展。' 彈出指令POPPOP dest例:POP BX ;將棧頂內(nèi)容彈至 BX 執(zhí)行操作:(BL )-( SP)(BH )-( SP) +1(SP)-( SP) +2堆棧指令在使用時(shí)需注意的幾點(diǎn): 堆棧操作總是按字進(jìn)行 不能從棧頂彈出一個(gè)字給 CS 堆棧指針為SS:SP, SP永遠(yuǎn)指向棧頂 SP自動(dòng)進(jìn)行增減量(-2, +2)(3 )、交換指令XCHG格式:XCHG reg,
20、mem/reg功能:交換兩操作數(shù)的內(nèi)容。要求:兩操作數(shù)中必須有一個(gè)在寄存器中; 操作數(shù)不能為段寄存器和立即數(shù);源和目地操作數(shù)類型要一致。舉例: XCHG AX, BXXCHG 2000 , CL(4 )查表指令XLAT執(zhí)行的操作:AL - (BX)+(AL)又叫查表轉(zhuǎn)換指令, 它可根據(jù)表項(xiàng)序號(hào)查出表中對(duì)應(yīng)代碼的內(nèi)容。執(zhí)行時(shí)先將表的首地址(偏移地址)送到 BX中,表項(xiàng)序號(hào)存于 AL中。2、輸入輸出指令 只限于用累加器 AL 或 AX 來傳送信息。功能:(累加器)I/O端口(1) 輸入指令 IN格式 :IN acc,PORT ;PORT 端口號(hào) 0255HIN acc,DX ;DX 表示的端口范圍
21、達(dá) 64K例:IN AL , 80H;(AL) (80H 端口)IN AL , DX ;(AL) (DX)(2) 輸出指令 OUT格式: OUT port,accOUT DX,acc例:OUT 68H , AX ;(69H , 68H) ( AX )OUT DX , AL ;(DX) (AL)在使用間接尋址的 IN/OUT 指令時(shí),要事先用傳送指令把 I/O 端口號(hào)設(shè)置到 DX 寄存器 如:MOV DX, 220HIN AL , DX; 將 220H 端口內(nèi)容讀入 AL3、目標(biāo)地址傳送指令( 1) LEA傳送偏移地址格式: LEA reg , mem ; 將指定內(nèi)存單元的偏移地址送到指定寄存器
22、 要求:1) 源操作數(shù) 必須是一個(gè) 存儲(chǔ)器操作數(shù);2) 目的操作數(shù)必須是一個(gè) 16 位的通用寄存器。例: LEA BX, SI+10H 設(shè):( SI) =1000H則執(zhí)行該指令后, (BX) =1010H注意以下二條指令差別:LEA BX , BUFFERMOV BX , BUFFER前者表示將符號(hào)地址為 BUFFER 的存儲(chǔ)單元的偏移地址取到BX 中;后者表示將 BUFFER 存儲(chǔ)單元中的內(nèi)容取到 BX 中。下面兩條指令等效:LEA BX , BUFFERMOV BX, OFFSET BUFFER 其中 OFFSET BUFFER 表示存儲(chǔ)器單元 BUFFER 的偏移地址。 二者都可用于取存
23、儲(chǔ)器單元的偏移地址,但 LEA 指令可以取動(dòng)態(tài)的地址, OFFSET 只能取靜態(tài)的地址。、算術(shù)運(yùn)算指令 1、加法指令(1)不帶進(jìn)位的加法指令 ADD 格式: ADD acc,dataADD mem/reg,dataADD mem/reg1,mem/reg2實(shí)例:ADDAL,30HADDSI,BX+20HADDCX,SIADDDI,200H?ADD指令對(duì)6個(gè)狀態(tài)標(biāo)志均產(chǎn)生影響。例:已知(BX)=D75FH指令 ADD BX,8046H 執(zhí)行后,狀態(tài)標(biāo)志各是多少?D75FH = 1110 0111 0101 1111 8046H = 1000 0000 0100 01101 1 11 110110
24、 0111 1010 0101結(jié)果:C=1, Z=0, P=0, A=1, O=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)位的加法 ADCCF的內(nèi)容,例如:ADC指令在形式上和功能上與ADD類似,只是相加時(shí)還要包括進(jìn)位標(biāo)志ADC AL , 68H ; AL (AL)+68H+(CF)ADC AX , CX ;AX (AX)+(CX)+(CF)ADC BX , DI;BX (BX)+DI+1DI+(CF)(3)加1指令I(lǐng)NC格式:INCreg/mem功能:類似于C語言中的
25、+操作:對(duì)指定的操作數(shù)加1例:INCALINCSIINCBYTE PTRBX+4注:本指令不影響CF標(biāo)志。(4)非壓縮BCD碼加法調(diào)整指令 AAAAAA指令的操作:如果AL的低4位9或AF=1,則: AL (AL)+6,(AH) (AH)+1,AF 1 AL 高 4 位清零 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則(AL) (AL)+6 , AF 1若AL的高4位9或CF=1則(AL) (AL)+60H , CF
26、 1除 OF 外, DAA 指令影響所有其它標(biāo)志。DAA 指令應(yīng)緊跟在 ADD 或 ADC 指令之后。2、減法指令( 1 )不考慮借位的減法指令 SUB格式: SUB dest, src操作: dest (dest)-(src)注:1. 源和目的操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)2. 立即數(shù)不能作為目的操作數(shù) 指令例子:SUB AL, 60HSUB BX+20H , DXSUB AX, CX2)考慮借位的減法指令SBBSBB指令主要用于多字節(jié)的減法。 格式: SBB dest, src 操作: dest (dest)-(src)-(CF) 指令例子:SBB AX, CXSBB WORD PTRSI,
27、 2080HSBB SI,DX(3) 減 1 指令 DEC作用類似于C語言中的”一一”操作符。格式: DEC opr操作: opr (opr)-1 指令例子:DEC CLDEC BYTE PTRDI+2DEC SI4)求補(bǔ)指令 NEG格式: NEG opr操作: opk O-(opr)對(duì)一個(gè)操作數(shù)取補(bǔ)碼相當(dāng)于用 0 減去此操作數(shù),故利用 NEG 指令可得到負(fù)數(shù)的絕對(duì)值。 例:若 (AL)=0FCH ,則執(zhí)行 NEG AL 后,(AL)=04H , CF=15)比較指令 CMP格式: CMP dest, src操作: (dest)-(src)CMP 也是執(zhí)行兩個(gè)操作數(shù)相減 ,但結(jié)果不送目標(biāo)操作數(shù)
28、 ,其結(jié)果只反映在標(biāo)志位上。指令例子:CMPAL ,0AHCMPCX,SICMPDI,BX+03(6)非壓縮 BCD 碼減法調(diào)整指令 AAS對(duì)AL中由兩個(gè)非壓縮的 BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為:若AL的低4位9或AF=1,則: AL (AL)-6,AH (AH)-1,AF 1 AL 的高 4 位清零 CF AF否則:AL的高4位清零(7)壓縮BCD碼減法調(diào)整指令DAS對(duì)AL中由兩個(gè)壓縮BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為:若AL的低4位9或AF=1,則:AL(AL)-6, 且 AF1若AL的高4位9或CF=1,則:AL(AL)-60H ,且 CF1DAS對(duì)OF無定義,但影響其余標(biāo)志
29、位。DAS指令要求跟在減法指令之后。3、乘法指令進(jìn)行乘法時(shí):8位*8位t 16位乘積16位*16位t 32位乘積(1) 無符號(hào)數(shù)的乘法指令 MUL(MEM/REG) 格式: MUL src操作:字節(jié)操作數(shù)(AX)(AL) x (src)字操作數(shù)(DX, AX) (AX) x (src)指令例子:MUL BL; (AL) X ( BL),乘積在 AX中MUL CX ; (AX) X (CX),乘積在 DX,AX中MUL BYTE PTRBX(2)有符號(hào)數(shù)乘法指令I(lǐng)MUL格式與MUL指令類似,只是要求兩操作數(shù)均為有符號(hào)數(shù)。指令例子:IMUL BL ; (AX) (AL) XBL)IMUL WORD
30、 PTRSI;(DX,AX) (AX) XSI+1SI)注意:MUL/IMUL指令中 AL(AX)為隱含的乘數(shù)寄存器; AX(DX,AX)為隱含的乘積寄存器; SRC不能為立即數(shù);除CF和OF外,對(duì)其它標(biāo)志位無定義。4、除法指令進(jìn)行除法時(shí):16位/8位t 8位商32位/16位t 16位商對(duì)被除數(shù)、商及余數(shù)存放有如下規(guī)定:被除數(shù)商余數(shù)字節(jié)除法AXALAH字除法DX:AXAXDX(1) 無符號(hào)數(shù)除法指令 DIV格式:DIV src操作:字節(jié)操作(AL) (AX) / (SRC) 的商(AH) (AX) / (SRC) 的余數(shù)字操作 (AX) (DX, AX) / (SRC) 的商(DX) (DX,
31、 AX) / (SRC) 的余數(shù)指令例子:DIV CLDIV WORD PTRBX(2) 有符號(hào)數(shù)除法指令I(lǐng)DIV格式:IDIV src操作與DIV類似。商及余數(shù)均為有符號(hào)數(shù),且余數(shù)符號(hào)總是與被除數(shù)符號(hào)相同。注意:對(duì)于DIV/IDIV 指令A(yù)X(DX,AX)為隱含的被除數(shù)寄存器。AL(AX)為隱含的商寄存器。AH(DX)為隱含的余數(shù)寄存器。src不能為立即數(shù)。對(duì)所有條件標(biāo)志位均無定關(guān)于除法操作中的字長(zhǎng)擴(kuò)展問題?除法運(yùn)算要求被除數(shù)字長(zhǎng)是除數(shù)字長(zhǎng)的兩倍,若不滿足則需 對(duì)被除數(shù)進(jìn)行擴(kuò)展 ,否則產(chǎn)生錯(cuò)誤。?對(duì)于無符號(hào)數(shù)除法擴(kuò)展,只需將 AH 或 DX 清零即可。?對(duì)有符號(hào)數(shù)而言 ,則是符號(hào)位的擴(kuò)展。可
32、使用前面介紹過的符號(hào)擴(kuò)展指令CBW 和 CWD三、邏輯運(yùn)算和移位指令1、邏輯運(yùn)算指令(1)邏輯與 AND 對(duì)兩個(gè)操作數(shù)進(jìn)行按位邏輯“與”操作。格式: AND dest, src 用途:保留操作數(shù)的某幾位,清零其他位。例 1:保留 AL 中低 4 位,高 4 位清 0 。AND AL,0FH(2)邏輯或 OR 對(duì)兩個(gè)操作數(shù)進(jìn)行按位邏輯 ”或 ”操作。格式: OR dest, src 用途:對(duì)操作數(shù)的某幾位置 1;對(duì)兩操作數(shù)進(jìn)行組合。例 1:把 AL 中的非壓縮 BCD 碼變成相應(yīng)十進(jìn)制數(shù)的 ASCII 碼。OR AL, 30H(3)邏輯非 NOT對(duì)操作數(shù)進(jìn)行按位邏輯 ”非 ”操作。格式: NOT
33、 mem/reg例: NOT CXNOT BYTE PTRDI(4)邏輯異或 XOR 對(duì)兩個(gè)操作數(shù)按位進(jìn)行”異或”操作。格式: XOR dest, src用途:對(duì) reg 清零 ( 自身異或 )把 reg/mem 的某幾位變反 ( 與' 1'異或 )例 1:把 AX 寄存器清零。 MOV AX,0 XOR AX,AX AND AX,0 SUB AX,AX(5)測(cè)試指令 TEST操作與AND指令類似,但不將”與”的結(jié)果送回,只影響標(biāo)志位。 TEST指令常用于位測(cè)試,與條件轉(zhuǎn)移指令一起用。例:測(cè)試AL的內(nèi)容是否為負(fù)數(shù)。TEST AL,80H ;檢查 AL 中 D7=1 ?JNZ M
34、INUS ;是 1(負(fù)數(shù)),轉(zhuǎn) MINUS;否則為正數(shù)2、移位指令(1)非循環(huán)移位指令(重點(diǎn) )算術(shù)左移指令 SAL(Shift Arithmetic Left) 算術(shù)右移指令 SAR(Shift Arithmetic Right) 邏輯左移指令 SHL(Shift Left) 邏輯右移指令 SHR(Shift Right)這4條指令的格式相同,以SAL為例:I CL ;移位位數(shù)大于1時(shí)SAL mem/reg' 1;移位位數(shù)等于1時(shí)?算術(shù)移位一一把操作數(shù)看做有符號(hào)數(shù);邏輯移位一一把操作數(shù)看做無符號(hào)數(shù)。?移位位數(shù)放在 CL寄存器中,如果只移 1位,也 可以直接寫在指令中。例如:MOV C
35、L,4SHR AL,CL ; AL中的內(nèi)容右移 4位?影響C,P,S,Z,O標(biāo)志。?結(jié)果未溢出時(shí):左移1位三操作數(shù)*2 右移1位三操作數(shù)/2例:把AL中的數(shù)x乘1010操作。程序如下:因?yàn)?0=8+2=2 3+21,所以可用移位實(shí)現(xiàn)乘MOVCL,3SALAL,1MOVAH,ALSALAL,1SALAL,1ADDAL,AH;2x;4x;8x;8x+2x = 10x四、控制轉(zhuǎn)移指令1、轉(zhuǎn)移指令(1 )無條件轉(zhuǎn)移指令 JMP格式:JMP label本指令無條件轉(zhuǎn)移到指定的目標(biāo)地址,以執(zhí)行從該地址開始的程序段(2) 條件轉(zhuǎn)移指令(補(bǔ)充內(nèi)容)(重點(diǎn) ) 根據(jù)單個(gè)標(biāo)志位設(shè)置的條件轉(zhuǎn)移指令 JB/JC;低于
36、 ,或 CF=1, 則轉(zhuǎn)移JNB/JNC/JAE ;高于或等于 ,或 CF=0, 則轉(zhuǎn)移JP/JPE;奇偶標(biāo)志PF=1(偶),則轉(zhuǎn)移JNP/JPO;奇偶標(biāo)志PF=0(奇),則轉(zhuǎn)移JZ/JE;結(jié)果為零(ZF=1),則轉(zhuǎn)移JNZ/JNE;結(jié)果不為零 (ZF=0), 則轉(zhuǎn)移JS; SF=1,則轉(zhuǎn)移JNS; SF=0,則轉(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=0 A ZF=0,即 A > BJNA/JBE 低于或等于則轉(zhuǎn)移條件為:CF=1 V ZF=1,即 A W BJ
37、BA<B 則轉(zhuǎn)移JNBA > B則轉(zhuǎn)移判斷有符號(hào)數(shù)的大小JG ;大于則轉(zhuǎn)移 (A>B)條件為:(SF ® OF=0) A ZF=0JGE;大于或等于則轉(zhuǎn)移(A > B)(A W B)條件為:(SF ® OF=0) V ZF=1 JLE ;小于或等于則轉(zhuǎn)移 條件為:(SF® OF=1) V ZF=1JL;小于則轉(zhuǎn)移(A V B =條件為 : (SF® OF=1)A ZF=02、循環(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)志位
38、。(1)LOOP格式: LOOP label操作:(CX)-1 t CX ;若(CX)豐0,則轉(zhuǎn)至label處執(zhí)行;否則退出循環(huán) ,執(zhí)行 LOOP 后面的指令。LOOP 指令與下面的指令段等價(jià):DEC CXJNZ label3、過程調(diào)用指令 (1)調(diào)用指令 CALL一般格式: CALL sub ;sub 為子程序的入口 4、中斷指令(1)INT n 執(zhí)行類型n的中斷服務(wù)程序,N=0255 五、處理器控制指令 1 、標(biāo)志位操作(1 ) CF 設(shè)置指令STC1 t CFCMC CF 變反CLCCF2)DF 設(shè)置指令CLD0tDF (串操作的指針移動(dòng)方向從低到高 )STD1tDF (串操作的指針移動(dòng)
39、方向從高到低 )3)IF 設(shè)置指令CLI0tIF (禁止 INTR 中斷) STI 1tIF (開放 INTR 中斷)2、 HLT(halt)執(zhí)行 HLT 指令后, CPU 進(jìn)入暫停狀態(tài)。第四章 8086 匯編語言程序設(shè)計(jì)第一節(jié) 偽指令 (重點(diǎn) )CPU 指令與偽指令之間的區(qū)別:(1)CPU 指令是給 CPU 的命令,在運(yùn)行時(shí)由 CPU 執(zhí)行,每條指令對(duì)應(yīng) CPU 的一種特定的 操作。而偽指令是給匯編程序的命令,在匯編過程中由匯編程序進(jìn)行處理。(2 )匯編以后, 每條 CPU 指令產(chǎn)生一一對(duì)應(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á)式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微型太陽能電池板項(xiàng)目可行性研究報(bào)告申請(qǐng)報(bào)告
- 如何做好物資采購(gòu)物資管理工作保證生產(chǎn)有序進(jìn)行
- 供貨協(xié)議蔬菜合同范本
- 個(gè)人雇傭保姆合同范本
- 養(yǎng)殖區(qū)租賃合同范本
- 出租簡(jiǎn)約家具合同范本
- 2025年度光伏組件生產(chǎn)質(zhì)量及售后服務(wù)合同
- 2020-2025年中國(guó)大氣鉛污染治理行業(yè)發(fā)展趨勢(shì)及投資前景預(yù)測(cè)報(bào)告
- 醫(yī)療整形合同范本
- 體外試劑購(gòu)銷合同范本
- 2024年福建漳州人才發(fā)展集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- JTGT F20-2015 公路路面基層施工技術(shù)細(xì)則
- 《智慧農(nóng)業(yè)》的ppt完整版
- GB∕T 33047.1-2016 塑料 聚合物熱重法(TG) 第1部分:通則
- 經(jīng)濟(jì)學(xué)市場(chǎng)失靈與政府失靈課件
- 電力業(yè)務(wù)許可證豁免證明
- 建筑工程資料歸檔立卷分類表(全)
- 六年級(jí)上第二單元知識(shí)結(jié)構(gòu)圖
- 溢流堰穩(wěn)定計(jì)算
- 馬曉宏_《法語》_第一冊(cè)復(fù)習(xí)(課堂PPT)
- 道路環(huán)衛(wèi)清掃保潔項(xiàng)目應(yīng)急處置預(yù)案
評(píng)論
0/150
提交評(píng)論