微機(jī)原理和接口技術(shù)復(fù)習(xí)重點(diǎn)很有用哦市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第1頁(yè)
微機(jī)原理和接口技術(shù)復(fù)習(xí)重點(diǎn)很有用哦市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第2頁(yè)
微機(jī)原理和接口技術(shù)復(fù)習(xí)重點(diǎn)很有用哦市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第3頁(yè)
微機(jī)原理和接口技術(shù)復(fù)習(xí)重點(diǎn)很有用哦市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第4頁(yè)
微機(jī)原理和接口技術(shù)復(fù)習(xí)重點(diǎn)很有用哦市公開課金獎(jiǎng)市賽課一等獎(jiǎng)?wù)n件_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、綜合練習(xí)題一、填空題二、分析簡(jiǎn)答題三、程序分析題四、編程題五、存放器擴(kuò)展題六、輸入輸出接口題第1頁(yè)一、填空題在計(jì)算機(jī)中:1Byte= 8 bit,1Word = 16 bit。 對(duì)于十六進(jìn)制數(shù)碼64.8H,轉(zhuǎn)換為十進(jìn)制數(shù)時(shí)為 100.5 ;該數(shù)碼看作8421BCD碼時(shí)表示數(shù)據(jù)為 64.8 。對(duì)于十進(jìn)制數(shù)18.5,用十六進(jìn)制數(shù)表示時(shí)為 12.8 H;用壓縮8421BCD碼表示時(shí)為 18.5H 或(00011000.0101) 。第2頁(yè)設(shè)機(jī)器字長(zhǎng)為8位,最高位是符號(hào)位。則十進(jìn)制數(shù)127所對(duì)應(yīng)原碼為 11111111B ,補(bǔ)碼為 10000001B 。8086CPU內(nèi)部結(jié)構(gòu)可分為 EU 和 BIU

2、兩部分。8086CPU 能夠訪問(wèn) 8 位和 16 位存放器。8086CPU是 16 位CPU。設(shè)SP為H,則執(zhí)行PUSH AX 后,SP= 1FFE H。第3頁(yè)邏輯地址是由 段基址 和 偏移地址 組成。其中,段存放器中存放是 段基址。將邏輯地址轉(zhuǎn)換為物理地址公式是 段基址16偏移地址。設(shè)有邏輯地址1234H:1234H,試寫出其對(duì)應(yīng)物理地址 13574 H 。一個(gè)含有16個(gè)字節(jié)數(shù)據(jù)變量,它邏輯地址為1000H:0100H,那么該變量最終一個(gè)字節(jié)數(shù)據(jù)物理地址是 1010F H。第4頁(yè)8086CPU對(duì)外數(shù)據(jù)線是 16 條,地址線是 20 條,它尋址能力為 1M 字節(jié)。數(shù)據(jù)線和地址線是以 分時(shí)復(fù)用

3、方式輪番使用。若有以下定義: ORG 0100H TAB DW 9876H 當(dāng)執(zhí)行:MOV AX,TAB后,(AX)= 9876H ; 而執(zhí)行:LEA AX,TAB后,(AX)= 0100H 。第5頁(yè)若定義 A DB abcd,則(A+2)單元存放字節(jié)數(shù)據(jù)是 c 或 63H 。8086 CPU在I/O單獨(dú)編址時(shí),對(duì)I/O編址最多使用 16 條地址線,若要從地址為80H端口讀入字節(jié)數(shù)據(jù),則應(yīng)該使用指令 IN AL,80H 。在8086系統(tǒng)(XT機(jī))中使用可編程中止控制器型號(hào)是 8259A ,該芯片最少占用 2 個(gè)端口地址。 第6頁(yè)可編程定時(shí)/計(jì)數(shù)器8253含有 3 個(gè) 16 位定時(shí)/計(jì)數(shù)器。每個(gè)

4、定時(shí)/計(jì)數(shù)器能夠經(jīng)過(guò)編程方式來(lái)設(shè)定工作方式有 6 種。若用4K1存放器芯片組成12K字節(jié)內(nèi)存容量,則共需 24 個(gè)這么芯片。普通情況下,容量為256KB存放器含有 8 條數(shù)據(jù)線, 18 條地址線。第7頁(yè)在微型計(jì)算機(jī)系統(tǒng)中,可采取輸入輸出方式主要有 程序控制、 中止方式 、 DMA 三種類型??删幊探涌谛酒?255A含有 3 個(gè) 8 位I/O口。A口工作方式有 3 種,B口工作方式有 2 種。8086 CPU上電復(fù)位后,執(zhí)行第一條指令物理地址是 FFFF0 H。第8頁(yè)8086/8088 CPU 中止系統(tǒng)能處理 256 種不一樣類型中止。在8086系統(tǒng)中使用8259A芯片,最多能管理 64 級(jí)中止

5、優(yōu)先級(jí)。計(jì)算機(jī)對(duì)I/O端口編址方法有 存放器映象尋址(也稱統(tǒng)一編址) 、 I/O單獨(dú)編址 兩種。內(nèi)存按存放器性質(zhì)分類通常分為RAM和 ROM 兩類。第9頁(yè)二、分析簡(jiǎn)答題1、寫出-23原碼、反碼、補(bǔ)碼,并將補(bǔ)碼轉(zhuǎn)換成十六進(jìn)制數(shù)(設(shè)字長(zhǎng)為8位)。答:X=-23=-10111BX原碼:10010111BX反碼:11101000BX補(bǔ)碼:11101001B = E9H第10頁(yè)2、已知邏輯地址3010H:1234H,寫出段地址、偏移地址、物理地址。答:段地址為:3010H; 偏移地址為:1234H 物理地址:3010H*10H+1234H=31334H3、簡(jiǎn)述BIU、EU單元作用。答:BIU:地址形成、

6、取指令、指令排隊(duì)、讀/寫操作數(shù)、總線控制 EU:指令譯碼、指令執(zhí)行第11頁(yè)4、8086 CPU中四個(gè)段存放器名稱是什么,分別用什么符號(hào)表示?答:代碼段:CS 數(shù)據(jù)段:DS 堆棧段:SS 擴(kuò)展段:ES第12頁(yè)5、列舉最少5種程序狀態(tài)字中標(biāo)志位,并簡(jiǎn)明說(shuō)明其功效答:ZF:全零標(biāo)志 CF:進(jìn)位標(biāo)志 SF:符號(hào)位 AF:輔助進(jìn)位 PF:奇偶校驗(yàn)位 OF:溢出標(biāo)志第13頁(yè)6、設(shè)字長(zhǎng)為8位,用二進(jìn)制計(jì)算15+20結(jié)果,并說(shuō)明對(duì)狀態(tài)標(biāo)志C、A、S、Z影響。答: 00001111 + 00010100 00100011 CF=0 AF=1 SF=0 ZF=0第14頁(yè)7、8086CPU對(duì)1M存放空間是怎樣組織?

7、答: 8086 CPU對(duì)存放器是采取分段方式管理(段地址:偏移量),分為奇地址庫(kù)和偶地址庫(kù)。8、8086CPU系統(tǒng)中存放器為何分奇地址庫(kù)和偶地址庫(kù)。答:為確保和以前CPU兼容,確保8086既能進(jìn)行字節(jié)操作,有能夠進(jìn)行字操作。第15頁(yè)9、8086對(duì)存放器管理為何采取分段方法?20位物理地址是怎樣形成? 答:8086數(shù)據(jù)線和內(nèi)部存放器都是16位,而其地址線是20位,無(wú)法直接進(jìn)行管理;為擴(kuò)大尋址范圍,采取分段管理方式,把真正物理地址用段地址和偏移量表示,每一部分都不超出64K,可保留在內(nèi)部存放器中。 當(dāng)CPU訪問(wèn)內(nèi)存時(shí),在地址加法器中將段存放器內(nèi)容(段基址)自動(dòng)左移4位(二進(jìn)制),再16位偏移地址相

8、加,形成20位物理地址。 第16頁(yè)10、設(shè)SS=1050H,SP=0008H,AX=1234H,當(dāng)執(zhí)行指令:PUSH AX后,存放器SS、SP、AX內(nèi)容分別是什么?畫圖說(shuō)明1234H在內(nèi)存中存放情況。答: SS=1050H SP=0006H AX=1234H (10506H)=34H (10507H)=12H第17頁(yè)11、分別指出以下指令中源操作數(shù)尋址方式。 (1)MOV CX,300H (2)MOV BPDI,300H (3)MOV AX,BX(4)MOV AX,BP+DI(5)MOV AX,10BXDI (6)MOV AX,10SI (7)MOV AX,DI (8)JMP BX(9)IN

9、AL,23H(10)IN AL,DX(1)直接尋址 (2)馬上尋址 (3)存放器尋址 (4)基址加變址 (5)相對(duì)基址加變址尋址 (6)存放器相對(duì)尋址 (7)存放器間接尋址 (8)段內(nèi)間接尋址(9)直接端口尋址 (10)間接端口尋址 第18頁(yè)12、指出以下指令錯(cuò)誤 (1)MOV AH,BX 答:源、目標(biāo)操作數(shù)長(zhǎng)度不匹配 (2)ADD 15H,BX 答:馬上數(shù)不能做目標(biāo)操作數(shù) (3)MOV CS,AX答: CS不能做目標(biāo)操作數(shù)(4)MOV AX,SIDI 答: SI、DI不能同時(shí)出現(xiàn)在 中 (或源操作數(shù)尋址方式有誤)(5)MOV BYTE PTRBX,1000答:源、目標(biāo)操作數(shù)長(zhǎng)度不匹配 第19

10、頁(yè)(6)MOV SI,BX答:源、目標(biāo)操作數(shù)不能均為存放器操作數(shù) (7)MOV DS,0200H答:馬上數(shù)不能直接送至段存放器(8)IN BL,05H答: IN指令中目標(biāo)操作數(shù)不能用BL(只能用AL或AX) (9)MOV AX,IP答: IP不能作操作數(shù) (10)MOV SI,DX答: DX不能間接尋址,可改為 MOV SI,BX (11)PUSH AL 答: PUSH指令操作數(shù)必須為16位(即:按字操作) 第20頁(yè)13、試寫一指令序列,完成將AX存放器最低4位置1,最高3位清零,D7D9位反相,其它位不變。答:OR AX,000FH AND AX,1FFFH XOR AX,0380H第21頁(yè)

11、14、用單條指令或程序片段,實(shí)現(xiàn)下述功效。 (1)將AX高8位取反,低四位置1,其余位不變。 (2)將AL高四位與低四位交換。 (3)將BX、AX內(nèi)容交換。答:(1)XOR AX,0FF00H OR AX,000FH (2)MOV CL,4 ROR AL,CL(或ROL AL,CL) (3)XCHG AX,BX 第22頁(yè)15、寫出最少3種指令,使AX存放器清零 答: MOV AX,00 SUB AX,AX XOR AX,AX AND AX,00H第23頁(yè)16、設(shè)計(jì)I/O接口電路時(shí)普通遵照什么標(biāo)準(zhǔn),為何? 答:遵照基本標(biāo)準(zhǔn):輸出要鎖存,輸入要緩沖。 原因:CPU運(yùn)行速度較快,外設(shè)速度相對(duì)較慢,經(jīng)

12、過(guò)鎖存器保持CPU輸出信號(hào);CPU數(shù)據(jù)線是公用,任何外設(shè)都不能單獨(dú)占用數(shù)據(jù)線,經(jīng)過(guò)緩沖器能夠?qū)⑼庠O(shè)和數(shù)據(jù)線在不需要時(shí)候隔離。第24頁(yè)17、計(jì)算機(jī)使用中止有什么好處?答: (1)處理快速CPU與慢速外設(shè)之間矛盾,使CPU能夠與外設(shè)同時(shí)工作,甚至能夠與幾個(gè)外設(shè)同時(shí)工作。(2)計(jì)算機(jī)實(shí)現(xiàn)對(duì)控制對(duì)象實(shí)時(shí)處理。(3)計(jì)算機(jī)能夠?qū)收献孕刑幚怼?8、8086可屏蔽中止請(qǐng)求輸入信號(hào)線是什么?“可屏蔽”涵義是什么? 答:可屏蔽中止請(qǐng)求輸入線為INTR; “可屏蔽”是指該中止請(qǐng)求可經(jīng)軟件去除標(biāo)志存放器中IF位而被禁止。第25頁(yè)19、簡(jiǎn)述CPU響應(yīng)外部可屏蔽中止前提條件是什么?答:有中止源申請(qǐng)、 無(wú)內(nèi)部中止、中止

13、系統(tǒng)是開放20、什么是中止向量,中止向量表在內(nèi)存中地址范圍是什么?答:中止向量是指中止處理程序入口地址; 中止向量表地址范圍:00000H003FFH第26頁(yè)21、什么叫中止向量表,在8086系統(tǒng)中,中止向量表存放在內(nèi)存什么位置,容量有多大?答:把不一樣中止類型號(hào)對(duì)應(yīng)中止服務(wù)程序入口地址排列起來(lái),形成表稱為中止向量表;存放在存放器最開始一段空間內(nèi);容量為1KB。第27頁(yè)22、8086CPU主要能處理哪些類型中止,這些中止優(yōu)先級(jí)是怎樣排列。答:內(nèi)部中止和外部中止,內(nèi)部中止包含內(nèi)部硬中止和內(nèi)部軟中止,外部中止包含可屏蔽和不可屏蔽中止。 中止優(yōu)先級(jí)為: 內(nèi)部中止不可屏蔽中止可屏蔽中止單步中止第28頁(yè)

14、23、編寫中止類型號(hào)為10中止向量設(shè)置程序(假設(shè)中止服務(wù)程序名為INT_10)方法一:MOV AX,0 MOV ES,AXMOV DI,40MOV AX,OFFSET INT_10CLD STOSWMOV AX,SEG INT_10STOSW方法二:MOV AX,0 MOV DS,AXMOV BX,40MOV AX,OFFSET INT_10MOV BX,AXMOV AX,SEG INT_10MOV BX+2,AX第29頁(yè)三、程序分析題1、MOV AL,85H MOV X1,0 MOV X2,0 MOV CX,8L0:SHL AL,1 JC L1 INC X1 JMP L2L1:INC X2L

15、2:LOOP L0程序中X1和X2是字節(jié)變量,(1) 分析程序?qū)崿F(xiàn)功效。(2) 程序執(zhí)行后,X1和X2值分別是多少?答:(1) 統(tǒng)計(jì)AL中0和1個(gè)數(shù),分別放在X1和X2中。(2) X1=5; X2=3第30頁(yè)2、IN AL,5FH ;TEST AL,80H ; JZ L1 ; MOV AH,0 JMP STOPL1:MOV AH,0FHSTOP:HALT從地址為5F端口讀入1個(gè)字節(jié)送ALAL與80H相與,但不回送結(jié)果,只影響標(biāo)志位值若狀態(tài)標(biāo)志Z為1,跳轉(zhuǎn)至L1運(yùn)行 (1) 在橫線處寫明語(yǔ)句實(shí)現(xiàn)功效。(2) 分析程序?qū)崿F(xiàn)功效。功效:若從地址為5F端口外圍設(shè)備讀入字節(jié)最高位為0則AH=0FH,不然

16、AH=0第31頁(yè)3、MOV AX,0 MOV BX,1 MOV CX,100L1:ADD AX,BXINC BXDEC CXJNZ L1(1) 分析程序?qū)崿F(xiàn)功效。(2) 程序執(zhí)行后,AX、BX、CX值分別是多少?答: (1) 計(jì)算1+2+3+100值,最終保留在AX中 ;(2) AX=5050 BX=101 CX=0 第32頁(yè)4、STR DB COMPUTER MOV CX,8 MOV AL,1 LEA BX,STR ;(a)L1:CMP BYTE PTR BX,U ;(b) JZ L2 INC BX INC AL LOOP L1L2: HALT第33頁(yè)(1)在橫線處寫明語(yǔ)句實(shí)現(xiàn)功效。答:(a

17、) 將STR變量首地址送BX (b)比較BX間接尋址字節(jié)是否等于U (2) 分析程序?qū)崿F(xiàn)功效,并說(shuō)明執(zhí)行完后,AL存放器值。答:計(jì)算字母U在字符串中出現(xiàn)位置,AL=5 第34頁(yè)5、分析填空MOV AX,00H ;PUSH AX;POP BX;MOV AX,3F5FH ;MOV CX,4ROR AL,CL;AND AL,0FH;答:執(zhí)行后 AX= 00H 執(zhí)行后 AX= 00H 執(zhí)行后 BX= 00H 執(zhí)行后 AL= 5FH 執(zhí)行后 AL= 0F5H 執(zhí)行后 AL= 05H 第35頁(yè)6、若STR是字符串首地址,指出以下程序功效,并將語(yǔ)句加上注解。 LEA BX,STR ;取STR 偏移量放到BX

18、中 MOV CX,20 ;_設(shè)置循環(huán)次數(shù)_LP:CMP BX,*JNZ NEXT ;BX所指單元內(nèi)容不為*,則轉(zhuǎn)移至NEXTMOV BX,$ ;將BX所指單元用$替換NEXT:INC BX ;BX加1,指向下一個(gè)單元LOOP LP ;CX-1不等于0則轉(zhuǎn)移至LP處,繼續(xù)循環(huán)HLT 程序功效:將STR開始前20個(gè)字符中*用$替換第36頁(yè)四、編程題1、 從BLOCK開始有一個(gè)字節(jié)型數(shù)組,共有15個(gè)元素,編寫完整匯編源程序,計(jì)算這個(gè)數(shù)組中奇數(shù)個(gè)數(shù),并將結(jié)果存入內(nèi)存SUM單元。2、從BUF開始有一個(gè)字節(jié)型數(shù)組,共有100個(gè)元素,編寫完整匯編源程序,計(jì)算這個(gè)數(shù)組中負(fù)數(shù)個(gè)數(shù),并將結(jié)果存入內(nèi)存COUNT單元

19、。3、從BUF開始,存放10個(gè)帶符號(hào)字節(jié)數(shù)據(jù),編寫完整匯編源程序,找出該數(shù)據(jù)區(qū)中最大數(shù),并將其存放至內(nèi)存單元MAX中。(答案略)第37頁(yè)第38頁(yè)1.右圖為8088 CPU和某存放器電路連接圖,請(qǐng)回答以下問(wèn)題: (1) 將CPU信號(hào)線與存放器相連。 (2) 存放器是什么類型(RAM、ROM)?總?cè)萘繛槎嗌??各存放芯片地址范圍分別是多少?五、存放器擴(kuò)展題第39頁(yè)答:1)CPU與存放器連接如右圖所表示。 2) 存放器類型為:RAM ; 總?cè)萘繛?4K8 ; 地址范圍: 0# H-27FFH 1# 2800H-2FFFH 第40頁(yè)1、INTEL 8255A接口芯片 (1) 現(xiàn)給出INTEL 8255A

20、 應(yīng)用電路以下,系統(tǒng)分配給8255地址為60H63H。試分析該電路中8255A、B口分別是作為輸入口,還是輸出口? (2) 現(xiàn)給出8255A 工作方式控制字格式以下,請(qǐng)編寫程序片段對(duì)8255進(jìn)行初始化,并讀取電路中開關(guān)量,用LED發(fā)光二極管顯示其對(duì)應(yīng)開關(guān)狀態(tài)(注:LED顯示器“亮”,表示開關(guān)“斷開”)。 六、輸入輸出接口題第41頁(yè)第42頁(yè)解答:(1)A口作為輸入口,B口作為輸出口 (2)初始化: A口作為輸入口,B口作為輸出口,均工作于方式0,則控制字為:90H(不唯一)參考程序片段: MOV AL,90H OUT 63H,AL IN AL,60H OUT 61H,AL 第43頁(yè)2、依據(jù)下面接

21、口電路圖,回答以下問(wèn)題:第44頁(yè)(1)這是一個(gè)什么接口電路圖? 答:查詢式輸入接口電路圖 (2)寫出以下芯片名稱或功效(鎖存、緩沖):U1:鎖存器U2:三態(tài)緩沖器(或三態(tài)門) (3) 電路圖中1、2、3、4、應(yīng)接到何處?寫出符號(hào)。 答:1. 2.M / 3.地址線A15A0 4. The end!第45頁(yè)溫馨提醒: 考試時(shí)請(qǐng)帶學(xué)生證和重修證!謝 謝 !第46頁(yè)指令系統(tǒng)程序設(shè)計(jì)舉例 例1:從存放器中取數(shù)基本方法執(zhí)行以下指令后, AX存放器中內(nèi)容是什么? TABLEDW10,20,30,40,50 ENTRY DW3 .MOV BX,OFFSET TABLE ;取數(shù)據(jù)串偏移地址ADD BX,ENT

22、RY ;BX=BX+3MOV AX,BX ;物理地址=DS16+(BX)答案: (AX)=400AH14H1EH28H32H03HDS:TABLEDS:ENTRY此例中要注意: 1)TABLE 和ENTRY標(biāo)號(hào)意義,這里為數(shù)據(jù)串偏移地址首地址。2)從存放器中取數(shù)據(jù)必須要知道數(shù)據(jù)在那個(gè)段和它偏移地址。3)得到偏移地址有兩條指令4)假如數(shù)據(jù)在ES或SS段時(shí),指令中段前綴使用方法第47頁(yè) 假如數(shù)據(jù)串定義在ES段中 TABLEDW10,20,30,40,50 ENTRY DW3 .MOV BX,OFFSET TABLE ;取數(shù)據(jù)串偏移地址ADD BX, ES ENTRY ;BX=BX+3MOV AX,

23、 BX ;物理地址=ES16+(BX)答案: (AX)=400AH14H1EH28H32H03HES:TABLEES:ENTRY此例中要注意: 1)TABLE 和ENTRY標(biāo)號(hào)在程序中只能出現(xiàn)一次,在段定義中已經(jīng)指明在ES段中。第48頁(yè)例2:在使用中輕易犯錯(cuò)指令使用方法指出以下指令錯(cuò)誤:MOV AH,BX ; 源、目標(biāo)字長(zhǎng)不一致(2)MOV SI,BX ;源、目標(biāo)不能同時(shí)為存貯器尋址方式(3)MOV AX,SIDI ;基址變址方式不能有 SI和DI組合(4)MOV AX,BXBP ;基址變址方式不能有 BX和BP組合(5)MOVBX,ES:AX ;AX不能作為基址存放器使用,而且源、目標(biāo)不能同

24、時(shí)為存貯器尋址方式(6)MOV BYTE PTRBX,1000 ;1000超出一個(gè)字節(jié)表數(shù)范圍(7)MOV AX,OFFSET SI ; OFFSET只用于標(biāo)號(hào)(8)MOV CS,AX;CS不能作為目標(biāo)存放器(9)MOV DS,BP ;段地址不能直接送入數(shù)據(jù)段存放器第49頁(yè)例3: 推斷指令執(zhí)行結(jié)果 DATA SEGMENTTABADW1234HDATAENDS . MOV BX, TABALEABX, TABA請(qǐng)寫出上述兩條指令執(zhí)行后, BX存放器中內(nèi)容。答案:MOVBX,TABA ; 執(zhí)行后(BX)=1234H ,內(nèi)存中數(shù)據(jù)LEABX,TABA ; 執(zhí)行后(BX)=OFFSET TABA,偏

25、移地址34H12HXXXXXXXXDS:TABA第50頁(yè)例4 多字節(jié)加法程序設(shè)計(jì)變量DATAX和DATAY定義以下: DATAX DW 0148H DW 2316H DATAY DW 0237H DW 4052H按下述要求寫出指令序列: DATAX和DATAY中兩個(gè)字?jǐn)?shù)據(jù)相加, 和存放在DATAY和DATAY+2中。實(shí)現(xiàn)運(yùn)算為:2316 0148H+4052 0237H=?MOVAX, DATAX ;取第一個(gè)要加數(shù)低字ADDAX, DATAY ;與第二個(gè)數(shù)低字相加,結(jié)果在AX中MOVBX, DATAX+2 ;取第一個(gè)數(shù)要加數(shù)高字ADCBX, DATAY+2 ;與第二個(gè)數(shù)高字相加,結(jié)果在BX中M

26、OVDATAY, AXMOVDATAY+2, BX ;保留和,注意地址為2個(gè)字節(jié)在編程時(shí)要考慮到低字相加后產(chǎn)生進(jìn)位第51頁(yè)例5:乘法指令應(yīng)用(無(wú)符號(hào))兩個(gè)16變量DATAY和DATAX定義以下: DATAY DW 0148H ;A DW 2316H ;B DATAX DW 0237H ;C DW 4052H ;D RESULT DW 12DUP(0)按下述要求寫出指令序列:DATAY和DATAX兩個(gè)字相乘(用MUL)。第52頁(yè) A B C D E F G H H G F E D C B A N N N N N N N N N M M M M M M M M M A A A A A A A A

27、A B B B B B B B B B C C C C C C C C C D D D D D D D D D E E E E E E E E E F F F F F F F F FX X X X X X X X X X X X X X X X X第53頁(yè) A B C D E F G H H G F E D C B A N N N N N M M M M M A A A A A B B B B B DX(0) AX(0) A B C D E F G H H G F E D C B A C C C C C D D D D D E E E E E F F F F F DX(1) AX(1)第54頁(yè)

28、 A B C D E F G H H G F E D C B A N N N N N M M M M M A A A A A B B B B B DX(2) AX(2) A B C D E F G H H G F E D C B A C C C C C D D D D D E E E E E F F F F F DX(3) AX(3)第55頁(yè) DX(0) AX(0) DX(1) AX(1) DX(2) +AX(2) DX(3) AX(3) C1 字1 字0 + C2 + C1 字3 C2 字2字相乘后位相加要求第56頁(yè)MOVAX,WORD PTR DATAX ;取乘數(shù)第一個(gè)字MOVBX,WOR

29、D PTR DATAY ;取被乘數(shù)第一個(gè)字MULBX;(AC)MOVRESULT,AX;結(jié)果低字 AX(0)MOVRESULT+2,DX ;結(jié)果高字 DX(0) MOVAX,WORD PTR DATAX ;取乘數(shù)第一個(gè)字MOVAX,WORD PTR DATAY+2 ;取被乘數(shù)第二個(gè)字MULBX ;(AD) MOVRESULT+4,AX;結(jié)果低字 AX(1)MOVRESULT+6,DX ;結(jié)果高字 DX(1) 第57頁(yè)MOVAX,WORD PTR DATAX+2 ;取乘數(shù)第二個(gè)字MOVBX,WORD PTR DATAY ;取被乘數(shù)第一個(gè)字MULBX ;(BC)MOVRESULT+8,AX;結(jié)果低

30、字 AX(2)MOVRESULT+10,DX ;結(jié)果高字 DX(2) MOVAX,WORD PTR DATAX+2 ;取乘數(shù)第二個(gè)字MOVBX,WORD PTR DATAY+2 ;取被乘數(shù)第一個(gè)字MULBX ;(BD)MOVRESULT+12,AX;結(jié)果低字 AX(3)MOVRESULT+14,DX ;結(jié)果高字 DX(3)第58頁(yè)MOV AX,RESULT+2MOV BX,RESULT+4MOV DX,RESULT+8ADDAX,BXADCAX,DX ;DX(0)+AX(1)+AX(2)MOV RESULT+2, AXMOV AX,RESULT+6MOV BX,RESULT+10MOV DX,

31、RESULT+12ADCAX,BXADCAX,DX ;DX(1)+DX(2)+AX(3)MOV RESULT+4, AX MOVAX,RESULT14ADCAX,0000H ; DX(3)+CMOVRESULT6, AX第59頁(yè)例6:移位指令應(yīng)用試分析下面程序段完成什么操作?MOVCL,04SHLDX,CL ;DX左移4位。左移次數(shù)CL中數(shù)MOVBL,AH SHLAX,CL ; AX左移4位SHRBL,CL ; BL右移4位答案: 將DX、AX中字左移4位, BL右移4位第60頁(yè)例7:變量N1和N2均為2字節(jié)非壓縮BCD數(shù)碼,請(qǐng)寫出計(jì)算N1與N2之差指令序列。非壓縮BCD碼格式:0000XXX

32、XHMOVAX, 0 ;(MOV AH,00H)AX高8位清0 MOVAL, N1 ;取個(gè)位數(shù)SUBAL, N2 ;個(gè)位減AAS ;非壓縮BCD數(shù)減法結(jié)果進(jìn)行調(diào)整MOVDL, AL ;將正確結(jié)果保留在DL中MOVAL, N1+1 ;取十位數(shù)SBCAL, N2+2 ;十位減,考慮個(gè)位有借位AAS ;非壓縮BCD數(shù)減法結(jié)果進(jìn)行調(diào)整MOVDH, AL ;將正確結(jié)果保留在DH中第61頁(yè) 例8:假設(shè)(CS)=3000H, (DS)=4000H, (ES)=H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=300

33、0H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H,(25060)=00B0H,(SP)=0FFFEH, (CF)=1, (DF)=1, 請(qǐng)寫出以下各條指令單獨(dú)執(zhí)行完后, 相關(guān)存放器及存放單元內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、OF、CF值。SBBAX,BX ;2060H-3000H(AX)=F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1第62頁(yè) 假設(shè)(CS)=3000H, (DS)=4000H, (ES)=H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (

34、DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 請(qǐng)寫出以下各條指令單獨(dú)執(zhí)行完后, 相關(guān)存放器及存放單元內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、OF、CF值。(2) CMPAX,WORD PTRSI+0FA0H;2060H-A006H目標(biāo)操作數(shù)地址:DS16+SI+0FA0H =40000H+2060+0FA0=43000H執(zhí)行此指令后AX中內(nèi)容不變!只影響標(biāo)志位!第63頁(yè)2060H-A00

35、6H 0010 0000 0110 0000 -1010 0000 0000 0110 0010 0000 0110 0000 +0101 1111 1111 1010 1000 0000 0101 1010結(jié)果:(SF)=1, (ZF)=0, (OF)=1, (CF)=1OF=1 兩數(shù)符號(hào)相反(正數(shù)-負(fù)數(shù)、或負(fù)數(shù)-正數(shù)),而結(jié)果符號(hào)與減數(shù)相同。OF=0 同符號(hào)數(shù)相減時(shí)或不一樣符號(hào)數(shù)相減,而結(jié)果符號(hào)與減數(shù)不相同。第64頁(yè) 假設(shè)(CS)=3000H, (DS)=4000H, (ES)=H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (

36、SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 請(qǐng)寫出以下各條指令單獨(dú)執(zhí)行完后, 相關(guān)存放器及存放單元內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、OF、CF值。(3) MULBYTE PTRBX ;字或字節(jié)由源決定 (AX)=0260H, (OF)=1, (CF)=1第65頁(yè)MULBYTE PTRBX目標(biāo)操作數(shù)地址:DS16+(BX) =40000H+3000=43000H (43000H)=A006H此操作

37、為:60H06H=0240H (AX)=0240H, (OF)=1, (CF)=1乘法指令運(yùn)算結(jié)果影響狀態(tài)標(biāo)志,但對(duì)CF、OF有特殊定義。 當(dāng)乘積高半部分為0(AH=0或DX(高位)=0)時(shí),CF=0、OF=0,表示高半部分無(wú)有效數(shù),不然CF=1、OF=1,用于指出字節(jié)運(yùn)算結(jié)果是8位或16位,字運(yùn)算結(jié)果是16位或32位。(不存在有進(jìn)位可能)第66頁(yè) 假設(shè)(CS)=3000H, (DS)=4000H, (ES)=H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006

38、H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 請(qǐng)寫出以下各條指令單獨(dú)執(zhí)行完后, 相關(guān)存放器及存放單元內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、OF、CF值。(4) DIVBH;AX/BL(2060H30H) (AX)=2060H第67頁(yè)(4) DIVBH;AX/BL(2060H30H) (AX)=2060H AL=商,AH=余數(shù)2060H=40962+96=8288 828848=172 余數(shù)=32除法不影響標(biāo)志位第68頁(yè) 假設(shè)(CS)=3000H, (DS)=4000H, (ES)=H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論