



版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.微機(jī)原理與接口技術(shù)第一章概述二、計(jì)算機(jī)中的碼制 (重點(diǎn))P51、對(duì)于符號(hào)數(shù) ,機(jī)器數(shù)常用的表示方法有原碼、 反碼和補(bǔ)碼三種 。注意 :對(duì)正數(shù) ,三種表示法均相同。它們的差別在于對(duì)負(fù)數(shù)的表示。( 1)原碼定義 :符號(hào)位:0 表示正 ,1 表示負(fù) ;數(shù)值位 :真值的絕對(duì)值。注意 :數(shù) 0 的原碼不唯一(2)反碼定義 :若 X0 , 則X 反 = 對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反( 3)補(bǔ)碼定義:若 X0 , 則X補(bǔ)= X 反+12、 8 位二進(jìn)制的表示范圍:原碼 : -127+127反碼 : -127+127補(bǔ)碼 : -128+1273、特殊數(shù) 10000000該數(shù)在原碼中定義為: -0.
2、專(zhuān)業(yè)資料 .在反碼中定義為: -127在補(bǔ)碼中定義為: -128對(duì)無(wú)符號(hào)數(shù) : (10000000) = 128三、信息的編碼1、 字符的編碼P8計(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 )開(kāi)始順序遞增 ,字母 az 的 ASCII 碼從1100001 ( 61H )開(kāi)始順序遞增,這樣的排列對(duì)信息檢索十分有利。第二章微機(jī)組成原理第一節(jié)、微機(jī)的結(jié)構(gòu)1、計(jì)算機(jī)的經(jīng)典結(jié)構(gòu) 馮 .諾依
3、曼結(jié)構(gòu)P11(1 )微機(jī)由 CPU(運(yùn)算器和控制器)、存儲(chǔ)器和I/O 接口組成2、 系統(tǒng)總線(xiàn)的分類(lèi)(1 )數(shù)據(jù)總線(xiàn) ( Data Bus ), 它決定了處理器的字長(zhǎng)。.專(zhuān)業(yè)資料 .(2 )地址總線(xiàn) ( Address Bus ) ,它決定系統(tǒng)所能直接訪(fǎng)問(wèn)的存儲(chǔ)器空間的容量。(3 )控制總線(xiàn) ( Control Bus )第二節(jié)、8086 微處理器1、 8086 ,其內(nèi)部數(shù)據(jù)總線(xiàn)的寬度是16 位, 16 位 CPU。 外部數(shù)據(jù)總線(xiàn)寬度也是16 位8086 地址線(xiàn)位20 根,有 1MB ( 220 )尋址空間 。 P272、 8086CPU 從功能上分成兩部分:總線(xiàn)接口單元 ( BIU )、 執(zhí)行
4、單元 ( EU)BIU:負(fù)責(zé) 8086CPU 與存儲(chǔ)器之間的信息傳送。 EU:負(fù)責(zé)指令的執(zhí)行。 P284、寄存器結(jié)構(gòu) (重點(diǎn))1)數(shù)據(jù)寄存器特有的習(xí)慣用法P30AX : (Accumulator)累加器 。多用于存放中間運(yùn)算結(jié)果。所有 I/O 指令必須都通過(guò)AX 與接口傳送信息 ;BX: (Base)基址寄存器 。 在間接尋址中用于存放基地址;CX: (Counter) 計(jì)數(shù)寄存器 。 用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復(fù)次數(shù);DX : (Data) 數(shù)據(jù)寄存器 。 在 32 位乘除法運(yùn)算時(shí),存放高 16 位數(shù);在間接尋址的I/O 指令中存放I/O 端口地址 。2)、 指針和變址寄存器P
5、31SP: (Stack Pointer) 堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂罚籅P:(Base Pointer) 基址指針寄存器,常用于在訪(fǎng)問(wèn)內(nèi)存時(shí)存放內(nèi)存單元的偏移地址。SI: (Source Index) 源變址寄存器Index: 指針DI : (Destination Index)目標(biāo)變址寄存器變址寄存器常用于指令的間接尋址或變址尋址。.專(zhuān)業(yè)資料 .3)、 段寄存器P28CS: (Code Segment)代碼段寄存器 ,代碼段用于存放指令代碼DS:(Data Segment)數(shù)據(jù)段寄存器ES: (Extra Segment)附加段寄存器,數(shù)據(jù)段和附加段用來(lái)存放操作數(shù)SS:(Sta
6、ck Segment) 堆棧段寄存器,堆棧段用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)4)、 指令指針 ( IP) P2916 位指令指針寄存器,其內(nèi)容為下一條要執(zhí)行的指令的偏移地址。5)、 標(biāo)志寄存器( 1)狀態(tài)標(biāo)志 : P30進(jìn)位標(biāo)志位 ( CF): (CarryFlag) 運(yùn)算結(jié)果的最高位有進(jìn)位或有借位,則 CF=1。Carry:進(jìn)位Auxiliary : 輔助輔助進(jìn)位標(biāo)志位( AF): (AuxiliaryCarryFlag) 運(yùn)算結(jié)果的低四位有進(jìn)位或借位, 則AF=1溢出標(biāo)志位 ( OF): (Overflow Flag)運(yùn)算結(jié)果有溢出,則 OF=1零標(biāo)志位 ( ZF): (Zero
7、 Flag) 反映指令的執(zhí)行是否產(chǎn)生一個(gè)為零的結(jié)果符號(hào)標(biāo)志位 ( SF): (Sign Flag) 指出該指令的執(zhí)行是否產(chǎn)生一個(gè)負(fù)的結(jié)果奇偶標(biāo)志位 ( PF): (Parity Flag) 表示指令運(yùn)算結(jié)果的低8 位 “1個(gè)”數(shù)是否為偶數(shù)( 2 )控制標(biāo)志位中斷允許標(biāo)志位 (IF): (Interrupt Flag) 表示 CPU 是否能夠響應(yīng)外部可屏蔽中斷請(qǐng)求跟蹤標(biāo)志 ( TF): (Trap Flag)CPU 單步執(zhí)行5、 8086 的引腳及其功能(重點(diǎn)掌握以下引腳) P34.專(zhuān)業(yè)資料 .AD 15AD0 :雙向三態(tài)的地址總線(xiàn),輸入 / 輸出信號(hào)INTR :(InterruptReques
8、t) 可屏蔽中斷請(qǐng)求輸入信號(hào),高電平有效 。 可通過(guò)設(shè)置IF 的值來(lái)控制 。NMI : (Non_Maskable Interrupt)非屏蔽中斷輸入信號(hào)。不能用軟件進(jìn)行屏蔽。RESET: (Reset) 復(fù)位輸入信號(hào) ,高電平有效 。 復(fù)位的初始狀態(tài)見(jiàn)P21MN/MX: (Minimum/Maximum)最小最大模式輸入控制信號(hào)。第三章8086 指令系統(tǒng)第一節(jié) 8086 尋址方式一、數(shù)據(jù)尋址方式(重點(diǎn))1、立即尋址P46操作數(shù) (為一常數(shù) )直接由指令給出(此操作數(shù)稱(chēng)為立即數(shù))立即尋址只能用于源操作數(shù)指令操作例 : MOV AX , 3102H;執(zhí)行后 , (AH) = 31H,(AL) =
9、 02H2、寄存器尋址P47( 1 )操作數(shù)放在某個(gè)寄存器中( 2 )源操作數(shù)與目的操作數(shù)字長(zhǎng)要相同( 3 )寄存器尋址與段地址無(wú)關(guān).專(zhuān)業(yè)資料 .3、直接尋址P48(1 )指令中直接給出操作數(shù)的16 位偏移地址偏移地址也稱(chēng)為有效地址(EA, EffectiveAddress)( 2 )默認(rèn)的段寄存器為 DS,但也可以顯式地指定其他段寄存器 稱(chēng)為段超越前綴( 3 )偏移地址也可用符號(hào)地址來(lái)表示 ,如 ADDR 、 VAR例:MOVAX ,2A00H用表示數(shù)字存放的地址MOVDX ,ES:2A00HMOVSI,TABLE_PTR4、間接尋址P48操作數(shù)的偏移地址(有效地址 EA)放在寄存器中只有
10、SI、DI 、 BX 和 BP 可作間址寄存器SI、DI 、 BX 默認(rèn)段地址DSBP 默認(rèn)段地址SS例: MOVAX,BXMOVCL,CS:DI錯(cuò)誤例:MOVAX, DX5、寄存器相對(duì)尋址P49EA= 間址寄存器的內(nèi)容加上一個(gè)8/16 位的位移量例:MOVAX,BX+8MOVCX,TABLESIMOVAX,BP;BX.SI.DI 默認(rèn)段寄存器DS, BP 默認(rèn)段寄存器為SS.專(zhuān)業(yè)資料 .指令操作例 : MOVAX, DATABX若 (DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H則物理地址= 60000H + 100
11、0H + 2A00H = 63A00H指令執(zhí)行后 :( AX) =5566H6、基址變址尋址P51若操作數(shù)的偏移地址:EA= 基址寄存器 (BX 或 BP)+ 變址寄存器 (SI 或 DI)同一組內(nèi)的寄存器不能同時(shí)出現(xiàn)。錯(cuò)誤例 :MOVAX,BX BP7、相對(duì)基址變址尋址P51EA= 基址寄存器 (BX 或 BP)+ 變址寄存器 (SI 或 DI)+8 位或 16 位位移量 ;指令操作例 : MOV AX , DATADIBX若(DS)=8000H, (BX)=2000H, (DI)=1000H, DATA=200H則指令執(zhí)行后 (AH)=83021H,(AL)=83020H寄存器間接 、寄存
12、器相對(duì) 、基址變址 、相對(duì)基址變址四種尋址方式的比較:尋址方式指令操作數(shù)形式寄存器間接只有一個(gè)寄存器( BX/BP/SI/DI之一).專(zhuān)業(yè)資料 .寄存器相對(duì)一個(gè)寄存器加上位移量基址 變址兩個(gè)不同類(lèi)別的寄存器相對(duì)基址 - 變址兩個(gè)不同類(lèi)別的寄存器加上位移量第二節(jié)8086 指令系統(tǒng)一、數(shù)據(jù)傳送指令(重點(diǎn))1 、 數(shù)據(jù)傳送類(lèi)指令(特點(diǎn):除 SAHFPOPF 外均不影響 FR) P541. 通用MOVdst ,src堆棧: PUSHPOP交換: XCHG查表: XLAT2. 標(biāo)志LAHFSAHFPUSHFPOPF3.地址:LEALDSLES4.輸入 輸出: INOUT(1) MOV dest,src
13、; dest src傳送的是字節(jié)還是字取決于指令中涉及的寄存器是8 位還是 16 位。.專(zhuān)業(yè)資料 .具體來(lái)說(shuō)可實(shí)現(xiàn):MOVmem/reg1, mem/reg2指令中兩操作數(shù)中至少有一個(gè)為寄存器MOV 指令的使用規(guī)則IP 不能作目的寄存器不允許 mem mem不允許 segreg segreg立即數(shù)不允許作為目的操作數(shù)不允許 segreg 立即數(shù)源操作數(shù)與目的操作數(shù)類(lèi)型要一致 當(dāng)源操作數(shù)為單字節(jié)的立即數(shù),而目的操作數(shù)為間址、變址 、基址 + 變址的內(nèi)存數(shù)時(shí),必須用 PTR 說(shuō)明數(shù)據(jù)類(lèi)型 。 如: MOV BX , 12H是錯(cuò)誤的 。( 2 )、 堆棧指令 P54堆棧以 字為單位進(jìn)行壓入彈出操作
14、。.專(zhuān)業(yè)資料 .規(guī)定由 SS 指示堆棧段的段基址,堆棧指針SP 始終指向堆棧的頂部, SP 的初值規(guī)定了所用堆棧區(qū)的大小。堆棧的最高地址叫棧底。壓棧指令PUSHPUSHsrc; src 為 16 位操作數(shù)例: PUSHAX;將 AX 內(nèi)容壓棧執(zhí)行操作 :( SP) -1 高字節(jié) AH(SP) -2 低字節(jié) AL(SP)( SP) - 2注意進(jìn)棧方向是高地址向低地址發(fā)展。彈出指令POPPOPdest例: POPBX;將棧頂內(nèi)容彈至BX執(zhí)行操作 :( BL)( SP)( BH)( SP)+1( SP)( SP) +2堆棧指令在使用時(shí)需注意的幾點(diǎn):堆棧操作總是按字進(jìn)行.專(zhuān)業(yè)資料 .不能從棧頂彈出一個(gè)
15、字給CS堆棧指針為SS:SP, SP 永遠(yuǎn)指向棧頂SP 自動(dòng)進(jìn)行增減量( -2 , +2 )(3 )、 交換指令 XCHG P54格式 : XCHGreg , mem/reg功能 :交換兩操作數(shù)的內(nèi)容。要求 :兩操作數(shù)中必須有一個(gè)在寄存器中;操作數(shù)不能為段寄存器和立即數(shù);源和目地操作數(shù)類(lèi)型要一致。( 4 )查表指令 XLAT P57執(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 、輸入輸出指令P57只限于用累加器AL 或 AX 來(lái)傳送信息 。功能 : (累加器
16、 ) I/O 端口( 1 ) 輸入指令 IN格式 :IN acc,PORT ;PORT 端口號(hào) 0 255H.專(zhuān)業(yè)資料 .IN acc,DX;DX 表示的端口范圍達(dá)64K例 :IN AL , 80H ;(AL) (80H 端口 )IN AL , DX;(AL)(DX)(2) 輸出指令 OUT格式 : OUTport,accOUTDX,acc例: OUT 68H , AX;(69H ,68H) ( AX)OUT DX ,AL;(DX)(AL)在使用間接尋址的IN/OUT 指令時(shí) ,要事先用傳送指令把I/O 端口號(hào)設(shè)置到DX 寄存器如:MOVDX,220HINAL,DX; 將 220H 端口內(nèi)容讀
17、入AL3、目標(biāo)地址傳送指令P58(1) LEA傳送偏移地址格式 : LEA reg , mem; 將指定內(nèi)存單元的偏移地址送到指定寄存器要求 :1) 源操作數(shù) 必須是一個(gè) 存儲(chǔ)器操作數(shù) ;2) 目的操作數(shù)必須是一個(gè) 16 位的通用寄存器 。.專(zhuān)業(yè)資料 .例: LEABX, 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, BUFFE
18、RMOV BX, OFFSET BUFFER其中 OFFSET BUFFER 表示存儲(chǔ)器單元BUFFER 的偏移地址 。二者都可用于取存儲(chǔ)器單元的偏移地址,但 LEA 指令可以取動(dòng)態(tài)的地址, OFFSET只能取靜態(tài)的地址 。二、算術(shù)運(yùn)算類(lèi)指令(特點(diǎn):除 CBWCWD 外均影響 FR)P601. 加法: ADD ADC2. 減法: SUB SBB CMP3.加 1減 1:INCDEC.專(zhuān)業(yè)資料 .4. 求補(bǔ): NEC5.乘法:MUL(無(wú)符號(hào)數(shù) )IMUL(帶符號(hào)數(shù) )6.除法:DIV (無(wú)符號(hào)數(shù) )IDIV(帶符號(hào)數(shù) )7.擴(kuò)展:CBW(BW)CWD (W DW )8.十進(jìn)制調(diào)整 : 1)加法:
19、DAA (組合)AAA (未組合)2)減法:DAS (組合)AAS(未組合)3)乘法:AAM (未組合)4)除法:AAD乘、除法指令注意事項(xiàng) :1. 無(wú)符號(hào)與帶符號(hào)數(shù)所用指令不同 ;2. 八位乘法時(shí) ,必有一個(gè)乘數(shù)在 AL 中,積在 AX 中;十六位乘法時(shí) ,必有一個(gè)乘數(shù)在 AX 中,積在 DX( 高 16 位) 與 AX( 低 16 位)中;3. 八位除法時(shí) ,被除數(shù)在 AX 中(16 位 ),商在 AL,余數(shù)在 AH ;十六位除法時(shí) ,被除數(shù)在 DX(高 16 位)與 AX( 低 16 位)中,商在AX ,余數(shù)在 DX;4. 十進(jìn)制調(diào)整時(shí) ,乘、除法均只能使用未組合 BCD 碼,并且除法是
20、先調(diào)整后運(yùn)算 。1、 加法指令P61.專(zhuān)業(yè)資料 .(1) 不帶進(jìn)位的加法指令 ADD格式 :ADDacc,dataADDmem/reg,dataADDmem/reg1,mem/reg2?ADD 指令對(duì) 6 個(gè)狀態(tài)標(biāo)志均產(chǎn)生影響。判斷溢出與進(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 (Add with Carry) P62ADC 指令在形式上和功能上與ADD 類(lèi)似 ,只是相加時(shí)還要包括進(jìn)位標(biāo)志CF 的內(nèi)容,例如:ADCAL, 68H ;AL(AL)+68H+(CF)ADCA
21、X, CX;AX(AX)+(CX)+(CF)ADCBX,DI;BX(BX)+DI+1DI+(CF)( 3 )加 1 指令 INC (Increment)格式 : INCreg/mem功能 :類(lèi)似于 C 語(yǔ)言中的 + 操作:對(duì)指定的操作數(shù)加1注:本指令不影響 CF 標(biāo)志 。.專(zhuān)業(yè)資料 .2、 減法指令P63( 1 )不考慮借位的減法指令 SUB (Subtraction)格式 : SUBdest, src注: 1.源和目的操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)2.立即數(shù)不能作為目的操作數(shù)(2 )考慮借位的減法指令SBB(Subtraction with Carry)SBB 指令主要用于多字節(jié)的減法。格式
22、: SBBdest, src操作 : dest (dest)-(src)-(CF)(3 )減 1 指令 DEC(Decrement)格式 :DECopr操作 :opr (opr)-1( 4 )求補(bǔ)指令 NEG (Negate)格式 : NEG opr操作 : opr 0-(opr)對(duì)一個(gè)操作數(shù)取補(bǔ)碼相當(dāng)于用0 減去此操作數(shù) ,故利用 NEG 指令可得到負(fù)數(shù)的絕對(duì)值。例:若 (AL)=0FCH ,則執(zhí)行NEG AL 后,(AL)=04H , CF=1.專(zhuān)業(yè)資料 .(5 )比較指令CMP格式 : CMPdest, src操作 : (dest)-(src)CMP 也是執(zhí)行兩個(gè)操作數(shù)相減,但結(jié)果不送目
23、標(biāo)操作數(shù),其結(jié)果只反映在標(biāo)志位上。(4 )非壓縮 BCD 碼加法調(diào)整指令A(yù)AA P68AAA 指令的操作 :如果 AL 的低 4 位9 或 AF=1 ,則: AL (AL)+6,(AH) (AH)+1,AF 1 AL高4位清零 CFAF否則AL高4位清零(5 )壓縮 BCD 碼加法調(diào)整指令DAAP68兩個(gè)壓縮BCD 碼相加結(jié)果在AL 中,通過(guò) 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 ,CF1除 OF 外, DAA 指令影響所
24、有其它標(biāo)志 。DAA 指令應(yīng)緊跟在 ADD 或 ADC 指令之后 。.專(zhuān)業(yè)資料 .( 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位清零 CFAF否則: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(A
25、L)-60H ,且 CF 1DAS 對(duì) OF 無(wú)定義 ,但影響其余標(biāo)志位。DAS 指令要求跟在減法指令之后。3、 乘法指令P65進(jìn)行乘法時(shí) : 8 位 *8 位 16 位乘積16 位 *16 位 32 位乘積.專(zhuān)業(yè)資料 .(1) 無(wú)符號(hào)數(shù)的乘法指令MUL(MEM/REG)格式 : MULsrc操作 :字節(jié)操作數(shù)(AX) (AL) (src)字操作數(shù)(DX, AX) (AX) (src)指令例子 :MULBL; (AL) ( BL),乘積在 AX 中MULCX; (AX) (CX),乘積在 DX,AX 中( 2 )有符號(hào)數(shù)乘法指令 IMUL格式與 MUL 指令類(lèi)似 ,只是要求兩操作數(shù)均為 有符號(hào)
26、數(shù) 。指令例子 :IMULBL; (AX) (AL) (BL)IMULWORD PTRSI ;(DX,AX) (AX) (SI+1SI)注意 : MUL/IMUL指令中 AL(AX) 為隱含的乘數(shù)寄存器 ; AX(DX,AX) 為隱含的乘積寄存器 ; SRC 不能為立即數(shù) ; 除 CF 和 OF 外,對(duì)其它標(biāo)志位無(wú)定義。.專(zhuān)業(yè)資料 .4、除法指令P66進(jìn)行除法時(shí) :16 位/8 位8 位商32 位 /16 位16 位商對(duì)被除數(shù) 、商及余數(shù)存放有如下規(guī)定 :被除數(shù)商余數(shù)字節(jié)除法AXALAH字除法DX:AXAXDX( 1 )無(wú)符號(hào)數(shù)除法指令 DIV(Division)格式 : DIVsrc操作 :
27、字節(jié)操作(AL) (AX) / (SRC) 的商(AH) (AX) / (SRC) 的余數(shù)字操作(AX) (DX, AX) / (SRC)的商(DX) (DX, AX) / (SRC)的余數(shù)(2 )有符號(hào)數(shù)除法指令I(lǐng)DIV(Integer division)格式 : IDIVsrc操作與 DIV 類(lèi)似 。 商及余數(shù)均為有符號(hào)數(shù),且余數(shù)符號(hào)總是與被除數(shù)符號(hào)相同。注意 : 對(duì)于 DIV/IDIV指令A(yù)X(DX,AX) 為隱含的被除數(shù)寄存器。AL(AX) 為隱含的商寄存器。AH(DX) 為隱含的余數(shù)寄存器。.專(zhuān)業(yè)資料 .src 不能為立即數(shù)。對(duì)所有條件標(biāo)志位均無(wú)定關(guān)于除法操作中的字長(zhǎng)擴(kuò)展問(wèn)題?除法運(yùn)
28、算要求被除數(shù)字長(zhǎng)是除數(shù)字長(zhǎng)的兩倍,若不滿(mǎn)足則需對(duì)被除數(shù)進(jìn)行擴(kuò)展,否則產(chǎn)生錯(cuò)誤。?對(duì)于無(wú)符號(hào)數(shù)除法擴(kuò)展,只需將 AH 或 DX 清零即可 。?對(duì)有符號(hào)數(shù)而言,則是符號(hào)位的擴(kuò)展。可使用前面介紹過(guò)的符號(hào)擴(kuò)展指令CBW 和 CWD三、邏輯運(yùn)算類(lèi)指令(特點(diǎn):均影響 FR)P701. 與: AND2. 或: OR3. 異或:XOR4. 非: NOT5. 測(cè)試: TEST移位指令1.邏輯移位 : 左移SHL右移SHR2.算術(shù)移位 : 左移SAL右移SAR3. 循環(huán)移位 :1).不帶 CF: 左移ROL右移ROR2).帶 CF: 左移RCL右移RCR1、邏輯運(yùn)算指令( 1 )邏輯與 AND.專(zhuān)業(yè)資料 .對(duì)兩個(gè)
29、操作數(shù)進(jìn)行按位邏輯“與 ”操作 。格式 :ANDdest, src用途 :保留操作數(shù)的某幾位,清零其他位 。(2)邏輯或 OR對(duì)兩個(gè)操作數(shù)進(jìn)行按位邏輯”或 ”操作 。格式 : ORdest, src用途 :對(duì)操作數(shù)的某幾位置1;對(duì)兩操作數(shù)進(jìn)行組合。例 1:把 AL 中的非壓縮BCD 碼變成相應(yīng)十進(jìn)制數(shù)的ASCII 碼 。ORAL, 30H( 3 )邏輯非 NOT對(duì)操作數(shù)進(jìn)行按位邏輯”非 ”操作。 格式 :NOTmem/reg(4 )邏輯異或XOR對(duì)兩個(gè)操作數(shù)按位進(jìn)行”異或 ”操作。格式 : XORdest, src用途 :對(duì) reg 清零 (自身異或 )把 reg/mem 的某幾位變反 (與1
30、異或 )例 1:把 AX 寄存器清零 。.專(zhuān)業(yè)資料 . MOVAX,0 XORAX,AXANDAX,0 SUBAX,AX( 5 )測(cè)試指令 TEST操作與 AND 指令類(lèi)似 ,但不將 ”與 ”的結(jié)果送回 ,只影響標(biāo)志位 。TEST 指令常用于位測(cè)試,與條件轉(zhuǎn)移指令一起用。例:測(cè)試 AL 的內(nèi)容是否為負(fù)數(shù)。TESTAL,80H;檢查 AL 中 D7=1 ?JNZMINUS;是 1(負(fù)數(shù) ),轉(zhuǎn) MINUS ;否則為正數(shù)2、移位指令(1) 非循環(huán)移位指令 (重點(diǎn))P72算術(shù)左移指令SAL(Shift Arithmetic Left)算術(shù)右移指令SAR(Shift Arithmetic Right)
31、邏輯左移指令SHL(Shift Left)邏輯右移指令SHR(Shift Right)這 4 條指令的格式相同 ,以 SAL 為例 :CL;移位位數(shù)大于1 時(shí)SALmem/reg1 ;移位位數(shù)等于 1 時(shí)算術(shù)移位 把操作數(shù)看做有符號(hào)數(shù) ;邏輯移位 把操作數(shù)看做無(wú)符號(hào)數(shù)。.專(zhuān)業(yè)資料 .移位位數(shù)放在CL 寄存器中 ,如果只移1 位,也可以直接寫(xiě)在指令中。例如:MOVCL,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 乘 10因?yàn)?10=8+2=2 3+2 1,所以可用移
32、位實(shí)現(xiàn)乘10 操作 。 程序如下 :MOVCL,3SALAL,1; 2xMOVAH,ALSALAL,1; 4 xSALAL,1; 8 xADDAL,AH; 8 x+2 x = 10 x四、 控制轉(zhuǎn)移類(lèi)指令 :P80一 )、無(wú)條件轉(zhuǎn)移JMP1. 近轉(zhuǎn)移 ( 段內(nèi) ) (NEAR PTR).專(zhuān)業(yè)資料 .1). 直接 (相對(duì)尋址 ):短轉(zhuǎn)移 (SHORT)IP IP + disp (8位 )如:JMPn長(zhǎng)轉(zhuǎn)移IP IP + disp (16位)如:JMPnn2). 間接:IP reg (16位)IP mem (16位)如:JMPBX2. 遠(yuǎn)轉(zhuǎn)移 (段間 ) (FAR PTR)1). 直接:CS =
33、指令中給出的段地址IP =指令中給出的 EA如:JMP段:偏2). 間接:CS = mem+2(16 位)IP = mem(16 位 )如: JMPDWORDPTR BX二)、 條件轉(zhuǎn)移Jcc1. 單測(cè)試條件指令10CJC / JNAE / JBJNC / JAE / JNBZJZ/JEJNZ / JNESJSJNSPJP / JPEJNP / JPOOJOJNO.專(zhuān)業(yè)資料 .2. 復(fù)合測(cè)試條件指令即 AB無(wú)符號(hào)數(shù)帶符號(hào)數(shù)=JZJZJNZJNZJC / JB / JNAEJL / JNGEJA / JNBEJG / JNLEJBE / JNAJLE / JNGJNC / JAE / JNBJG
34、E / JNL三).循環(huán)控制指令1.循環(huán)轉(zhuǎn)移指令LOOP(相當(dāng)于:DECCXJNZn)2. 相等 (為零 ) 循環(huán)轉(zhuǎn)移指令 LOOPE/LOOPZ3. 不相等 (不為零 ) 循環(huán)轉(zhuǎn)移指令 LOOPNE/LOOPNZ四 ). 過(guò)程調(diào)用與返回指令1.調(diào)用指令CALL(與 JMP 一樣分:段內(nèi)直接 、段內(nèi)間接 、段間直接、段間間接調(diào)用四種,但需保護(hù)斷點(diǎn))2.返回指令1).RET(依段內(nèi)、段間不同分別恢復(fù)相應(yīng)斷點(diǎn))2). RET n(除象 RET恢復(fù)斷點(diǎn)外還應(yīng)根據(jù)n 值修設(shè) SP)五).中斷指令.專(zhuān)業(yè)資料 .1. INT n(響應(yīng)中斷時(shí) ,除象 CALL 保護(hù)斷點(diǎn)外 ,還應(yīng)保護(hù) FR)2. INTOI
35、RET(返回時(shí),除象 RET 恢復(fù)斷點(diǎn)外 ,還應(yīng)恢復(fù) F(1)LOOP格式 : LOOPlabel操作 : (CX)-1 CX;若 (CX)0,則轉(zhuǎn)至 label 處執(zhí)行 ;否則退出循環(huán) ,執(zhí)行 LOOP 后面的指令 。LOOP 指令與下面的指令段等價(jià):DECCXJNZlabel3、過(guò)程調(diào)用指令( 1 )調(diào)用指令 CALL一般格式 :CALLsub;sub 為子程序的入口4、中斷指令P85(1)INT n執(zhí)行類(lèi)型n 的中斷服務(wù)程序, N=0 255五、串操作指令一 ).串操作指令1.串傳送MOVS(字節(jié)串 MOVSB字串 MOVSW)2.串比較CMPS(字節(jié)串 CMPSB字串 CMPSW).專(zhuān)
36、業(yè)資料 .3.串搜索SCAS(字節(jié)串 SCASB字串 SCASW)4.取串LODS(字節(jié)串 LODSB字串 LODSW)5.存串STOS(字節(jié)串 STOSB字串 STOSW)二 ).重復(fù)前綴指令1.無(wú)條件重復(fù)REP2.相等 /為零重復(fù)REPE / REPZ3.不相等/ 不為零重復(fù)REPNE / REPNZ串操作指令特點(diǎn) :1. 可用前綴使其重復(fù)操作 ;2. 每操作一次自動(dòng)修改 SI 和 DI 內(nèi)容,當(dāng) DF=0 時(shí)為增量 , DF=1 為減量;3. 所有源操作數(shù)地址放在 SI 中,在 DS 段,串長(zhǎng) 64K ;所有目標(biāo)操作數(shù)地址放在 DI 中,在 ES 段,串長(zhǎng) 64K ;4. 用重復(fù)前綴時(shí)
37、,如果條件滿(mǎn)足且 CX 0 時(shí)重復(fù),每重復(fù)一次CX CX1 ,否則結(jié)束重復(fù) ;5. 重復(fù)操作時(shí) IP 不變,中斷返回后繼續(xù)操作 。重復(fù)前綴重復(fù)與結(jié)束重復(fù)的條件:重復(fù)前綴重復(fù)條件結(jié)束條件REPCX 0CX=0(無(wú)條件重復(fù) )REPE / REPZCX 0 且 ZF=1CX = 0或 ZF=0.專(zhuān)業(yè)資料 .(相等 / 為零重復(fù) )REPNE / REPNZCX 0 且 ZF=0CX = 0或 ZF=1(不相等 / 不為零重復(fù) )使用串操作指令時(shí)注意 :1. SI 源串首 (末)址DI 目標(biāo)串首 (末)址;2. CX 串長(zhǎng)度;3. 設(shè)DF 值;4. 選重復(fù)前綴 ;5. 使用條件重復(fù)前綴時(shí) ,判斷結(jié)束條件 ( 即 是 CX=0 還是 ZF=0/1 結(jié)束)六、處理器控制指令P881. 標(biāo)志位操作1). 清 CFCLC(CF=0)2). 置 CFSTC(CF=1)3). CF 取反 CMC4). 清 DFCLD(DF=0)5). 置 DFSTD(DF=1)6). 清 IFCLI(CF=0關(guān)中斷 )
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二手電商平臺(tái)信用評(píng)級(jí)與信用體系建設(shè)研究報(bào)告
- 大學(xué)信息素養(yǎng)題目及答案
- 大學(xué)地質(zhì)讀圖題目及答案
- 2025年動(dòng)漫產(chǎn)業(yè)鏈協(xié)同創(chuàng)新與產(chǎn)業(yè)品牌建設(shè)策略報(bào)告
- 黔南州安全員c證考試試題及答案
- 遼寧低壓電工證考試試題及答案
- 【成都】2025年上半年成都市城市管理委員會(huì)所屬事業(yè)單位招聘工作人員17人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 建筑上海安全員c證考試試題及答案
- 檢驗(yàn)科三基三嚴(yán)考試試題及答案
- 2016陜西中考數(shù)學(xué)試題及答案
- 云南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- JJF 1076-2020數(shù)字式溫濕度計(jì)校準(zhǔn)規(guī)范
- GB/T 18838.4-2008涂覆涂料前鋼材表面處理噴射清理用金屬磨料的技術(shù)要求第4部分:低碳鑄鋼丸
- 小學(xué)一年級(jí)《讀讀童謠和兒歌》閱讀考級(jí)測(cè)試題附答案
- 廣州市人力資源和社會(huì)保障局事業(yè)單位招聘工作人員【共500題含答案解析】模擬檢測(cè)試卷
- 露天礦礦建竣工驗(yàn)收資料
- 心電監(jiān)護(hù)操作評(píng)分標(biāo)準(zhǔn)
- 電子印鑒卡講解
- 生命體征PPT精品課件
- 異步電動(dòng)機(jī)轉(zhuǎn)差頻率間接矢量控制matlab仿真
- 深基坑工程安全檢查表范本
評(píng)論
0/150
提交評(píng)論