下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、綜合練習(xí)題,一、填空題 二、分析簡答題 三、程序分析題 四、編程題 五、存儲(chǔ)器擴(kuò)展題 六、輸入輸出接口題,一、填空題,在計(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) 。,設(shè)機(jī)器字長為8位,最高位是符號(hào)位。則十進(jìn)制數(shù)127所對(duì)應(yīng)的原碼為 11111111B ,補(bǔ)碼為 10000001B 。 8086CPU內(nèi)部結(jié)構(gòu)可分為 EU
2、和 BIU 兩部分。 8086CPU 可以訪問 8 位和 16 位的寄存器。 8086CPU是 16 位的CPU。 設(shè)SP為2000H,則執(zhí)行PUSH AX 后,SP= 1FFE H。,邏輯地址是由 段基址 和 偏移地址 組成。其中,段寄存器中存放的是 段基址。 將邏輯地址轉(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。,8086CPU對(duì)外的數(shù)據(jù)線是 16 條,地址線是 20 條,它的尋址能力
3、為 1M 字節(jié)。 數(shù)據(jù)線和地址線是以 分時(shí)復(fù)用 方式輪流使用的。 若有如下定義: ORG 0100H TAB DW 9876H 當(dāng)執(zhí)行:MOV AX,TAB后,(AX)= 9876H ; 而執(zhí)行:LEA AX,TAB后,(AX)= 0100H 。,若定義 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è)端口地址。,可編程定時(shí)/計(jì)
4、數(shù)器8253含有 3 個(gè) 16 位的定時(shí)/計(jì)數(shù)器。每個(gè)定時(shí)/計(jì)數(shù)器可以通過編程方式來設(shè)定的工作方式有 6 種。 若用4K1的存儲(chǔ)器芯片組成12K字節(jié)的內(nèi)存容量,則共需 24 個(gè)這樣的芯片。 一般情況下,容量為256KB的存儲(chǔ)器具有 8 條數(shù)據(jù)線, 18 條地址線。,在微型計(jì)算機(jī)系統(tǒng)中,可采用的輸入輸出方式主要有 程序控制、 中斷方式 、 DMA 三種類型。 可編程接口芯片8255A含有 3 個(gè) 8 位的I/O口。A口工作方式有 3 種,B口工作方式有 2 種。 8086 CPU上電復(fù)位后,執(zhí)行第一條指令的物理地址是 FFFF0 H。,8086/8088 CPU 的中斷系統(tǒng)能處理 256 種不同
5、類型的中斷。 在8086系統(tǒng)中使用8259A芯片,最多能管理 64 級(jí)中斷優(yōu)先級(jí)。 計(jì)算機(jī)對(duì)I/O端口的編址方法有 存儲(chǔ)器映象尋址(也稱統(tǒng)一編址) 、 I/O單獨(dú)編址 兩種。 內(nèi)存按存儲(chǔ)器性質(zhì)分類通常分為RAM和 ROM 兩類。,二、分析簡答題,1、寫出-23的原碼、反碼、補(bǔ)碼,并將補(bǔ)碼轉(zhuǎn)換成十六進(jìn)制數(shù)(設(shè)字長為8位)。 答: X=-23=-10111B X原碼:10010111B X反碼:11101000B X補(bǔ)碼:11101001B = E9H,2、已知邏輯地址3010H:1234H,寫出段地址、偏移地址、物理地址。 答:段地址為:3010H; 偏移地址為:1234H 物理地址:3010H
6、*10H+1234H=31334H 3、簡述BIU、EU單元作用。 答:BIU:地址形成、取指令、指令排隊(duì)、讀/寫操作數(shù)、總線控制 EU:指令譯碼、指令執(zhí)行,4、8086 CPU中四個(gè)段寄存器的名稱是什么,分別用什么符號(hào)表示? 答:代碼段:CS 數(shù)據(jù)段:DS 堆棧段:SS 擴(kuò)展段:ES,5、列舉至少5種程序狀態(tài)字中的標(biāo)志位,并簡要說明其功能 答:ZF:全零標(biāo)志 CF:進(jìn)位標(biāo)志 SF:符號(hào)位 AF:輔助進(jìn)位 PF:奇偶校驗(yàn)位 OF:溢出標(biāo)志,6、設(shè)字長為8位,用二進(jìn)制計(jì)算15+20的結(jié)果,并說明對(duì)狀態(tài)標(biāo)志C、A、S、Z的影響。 答: 00001111 + 00010100 00100011 CF
7、=0 AF=1 SF=0 ZF=0,7、8086CPU對(duì)1M存儲(chǔ)空間是如何組織的? 答: 8086 CPU對(duì)存儲(chǔ)器是采用分段方式管理的(段地址:偏移量),分為奇地址庫和偶地址庫。 8、8086CPU系統(tǒng)中存儲(chǔ)器為什么分奇地址庫和偶地址庫。 答:為保證和以前的CPU兼容,保證8086既能進(jìn)行字節(jié)操作,有可以進(jìn)行字操作。,9、8086對(duì)存儲(chǔ)器的管理為什么采用分段的辦法?20位的物理地址是如何形成的? 答:8086的數(shù)據(jù)線和內(nèi)部的寄存器都是16位的,而其地址線是20位的,無法直接進(jìn)行管理;為擴(kuò)大尋址范圍,采用分段的管理方式,把真正的物理地址用段地址和偏移量表示,每一部分都不超過64K,可保存在內(nèi)部寄
8、存器中。 當(dāng)CPU訪問內(nèi)存時(shí),在地址加法器中將段寄存器的內(nèi)容(段基址)自動(dòng)左移4位(二進(jìn)制),再16位偏移地址相加,形成20位的物理地址。,10、設(shè)SS=1050H,SP=0008H,AX=1234H,當(dāng)執(zhí)行指令:PUSH AX后,寄存器SS、SP、AX內(nèi)容分別是什么?畫圖說明1234H在內(nèi)存中的存放情況。 答: SS=1050H SP=0006H AX=1234H (10506H)=34H (10507H)=12H,11、分別指出下列指令中的源操作數(shù)的尋址方式。 (1)MOV CX,300H (2)MOV BPDI,300H (3)MOV AX,BX (4)MOV AX,BP+DI (5)M
9、OV AX,10BXDI (6)MOV AX,10SI (7)MOV AX,DI (8)JMP BX (9)IN AL,23H (10)IN AL,DX,(1)直接尋址 (2)立即尋址 (3)寄存器尋址 (4)基址加變址 (5)相對(duì)基址加變址尋址 (6)寄存器相對(duì)尋址 (7)寄存器間接尋址 (8)段內(nèi)間接尋址 (9)直接端口尋址 (10)間接端口尋址,12、指出下列指令的錯(cuò)誤 (1)MOV AH,BX 答:源、目的操作數(shù)長度不匹配 (2)ADD 15H,BX 答:立即數(shù)不能做目的操作數(shù) (3)MOV CS,AX 答: CS不能做目的操作數(shù) (4)MOV AX,SIDI 答: SI、DI不能同時(shí)
10、出現(xiàn)在 中 (或源操作數(shù)尋址方式有誤) (5)MOV BYTE PTRBX,1000 答:源、目的操作數(shù)長度不匹配,(6)MOV SI,BX 答:源、目的操作數(shù)不能均為存儲(chǔ)器操作數(shù) (7)MOV DS,0200H 答:立即數(shù)不能直接送至段寄存器 (8)IN BL,05H 答: IN指令中目的操作數(shù)不能用BL(只能用AL或AX) (9)MOV AX,IP 答: IP不能作操作數(shù) (10)MOV SI,DX 答: DX不能間接尋址,可改為 MOV SI,BX (11)PUSH AL 答: PUSH指令的操作數(shù)必須為16位(即:按字操作),13、試寫一指令序列,完成將AX寄存器的最低4位置1,最高3
11、位清零,D7D9位反相,其它位不變。 答:OR AX,000FH AND AX,1FFFH XOR AX,0380H,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,15、寫出至少3種指令,使AX寄存器清零 答: MOV AX,00 SUB AX,AX XOR AX,AX AND AX,00H,16、設(shè)計(jì)I/O接口電路時(shí)一般遵循
12、什么原則,為什么? 答:遵循的基本原則:輸出要鎖存,輸入要緩沖。 原因:CPU運(yùn)行速度較快,外設(shè)速度相對(duì)較慢,通過鎖存器保持CPU的輸出信號(hào);CPU的數(shù)據(jù)線是公用的,任何外設(shè)都不能單獨(dú)占用數(shù)據(jù)線,通過緩沖器可以將外設(shè)和數(shù)據(jù)線在不需要的時(shí)候隔離。,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ī)可以對(duì)故障自行處理。 18、8086可屏蔽中斷請(qǐng)求輸入信號(hào)線是什么?“可屏蔽”的涵義是什么? 答:可屏蔽中斷請(qǐng)求輸入線為INTR; “可屏蔽”是指該中斷請(qǐng)求可經(jīng)軟件清
13、除標(biāo)志寄存器中IF位而被禁止。,19、簡述CPU響應(yīng)外部可屏蔽中斷的前提條件是什么? 答:有中斷源申請(qǐng)、 無內(nèi)部中斷、中斷系統(tǒng)是開放的 20、什么是中斷向量,中斷向量表在內(nèi)存中的地址范圍是什么? 答:中斷向量是指中斷處理程序的入口地址; 中斷向量表的地址范圍:00000H003FFH,21、什么叫中斷向量表,在8086系統(tǒng)中,中斷向量表存放在內(nèi)存的什么位置,容量有多大? 答:把不同中斷類型號(hào)對(duì)應(yīng)的中斷服務(wù)程序入口地址排列起來,形成的表稱為中斷向量表;存放在存儲(chǔ)器最開始的一段空間內(nèi);容量為1KB。,22、8086CPU主要能處理哪些類型的中斷,這些中斷的優(yōu)先級(jí)是如何排列的。 答:內(nèi)部中斷和外部中
14、斷,內(nèi)部中斷包括內(nèi)部硬中斷和內(nèi)部軟中斷,外部中斷包括可屏蔽和不可屏蔽中斷。 中斷優(yōu)先級(jí)為: 內(nèi)部中斷不可屏蔽中斷可屏蔽中斷單步中斷,23、編寫中斷類型號(hào)為10的中斷向量設(shè)置程序(假設(shè)中斷服務(wù)程序名為INT_10),方法一: MOV AX,0 MOV ES,AX MOV DI,40 MOV AX,OFFSET INT_10 CLD STOSW MOV AX,SEG INT_10 STOSW,方法二: MOV AX,0 MOV DS,AX MOV BX,40 MOV AX,OFFSET INT_10 MOV BX,AX MOV AX,SEG INT_10 MOV BX+2,AX,三、程序分析題,1
15、、MOV AL,85H MOV X1,0 MOV X2,0 MOV CX,8 L0:SHL AL,1 JC L1 INC X1 JMP L2 L1:INC X2 L2: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,2、IN AL,5FH ;TEST AL,80H ; JZ L1 ; MOV AH,0 JMP STOP L1:MOV AH,0FH STOP:HALT,從地址為5F的端口讀入1個(gè)字節(jié)送AL AL與80H相與,但不回
16、送結(jié)果, 只影響標(biāo)志位的值 若狀態(tài)標(biāo)志Z為1,跳轉(zhuǎn)至L1運(yùn)行 (1) 在橫線處寫明語句實(shí)現(xiàn)的功能。 (2) 分析程序?qū)崿F(xiàn)的功能。 功能:若從地址為5F的端口外圍設(shè)備讀入的字節(jié)最高位為0則AH=0FH,否則AH=0,3、MOV AX,0 MOV BX,1 MOV CX,100 L1:ADD AX,BX INC BX DEC CX JNZ 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,4、STR DB COMPUTER MOV CX,8 MOV
17、 AL,1 LEA BX,STR ;(a) L1:CMP BYTE PTR BX,U ;(b) JZ L2 INC BX INC AL LOOP L1 L2: HALT,(1)在橫線處寫明語句實(shí)現(xiàn)的功能。 答:(a) 將STR變量的首地址送BX (b)比較BX間接尋址的字節(jié)是否等于U (2) 分析程序?qū)崿F(xiàn)的功能,并說明執(zhí)行完后,AL寄存器的值。 答:計(jì)算字母U在字符串中出現(xiàn)的位置,AL=5,5、分析填空 MOV AX,00H ; PUSH AX; POP BX; MOV AX,3F5FH ; MOV CX,4 ROR AL,CL; AND AL,0FH;,答: 執(zhí)行后 AX= 00H 執(zhí)行后
18、AX= 00H 執(zhí)行后 BX= 00H 執(zhí)行后 AL= 5FH 執(zhí)行后 AL= 0F5H 執(zhí)行后 AL= 05H,6、若STR是字符串的首地址,指出下列程序的功能,并將語句加上注解。 LEA BX,STR ;取STR 的偏移量放到BX中 MOV CX,20 ;_設(shè)置循環(huán)次數(shù)_ LP:CMP BX,* JNZ NEXT ;BX所指單元內(nèi)容不為*,則轉(zhuǎn)移至NEXT MOV BX,$ ;將BX所指單元用$替代 NEXT:INC BX ;BX加1,指向下一個(gè)單元 LOOP LP ;CX-1不等于0則轉(zhuǎn)移至LP處,繼續(xù)循環(huán) HLT 程序的功能:將STR開始的前20個(gè)字符中的*用$替代,四、編程題,1、
19、從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單元。 3、從BUF開始,存放10個(gè)帶符號(hào)的字節(jié)數(shù)據(jù),編寫完整匯編源程序,找出該數(shù)據(jù)區(qū)中的最大數(shù),并將其存放至內(nèi)存單元MAX中。,(答案略),1.右圖為8088 CPU和某存儲(chǔ)器電路連接圖,請(qǐng)回答以下問題: (1) 將CPU的信號(hào)線與存儲(chǔ)器相連。 (2) 存儲(chǔ)器是什么類型(RAM、ROM)?總?cè)萘繛槎嗌伲扛鞔鎯?chǔ)芯片的地址范圍分別是多少?,五、存儲(chǔ)器
20、擴(kuò)展題,答:1)CPU與存儲(chǔ)器的連接如右圖所示。,2) 存儲(chǔ)器類型為:RAM ; 總?cè)萘繛?4K8 ; 地址范圍: 0# 2000H-27FFH 1# 2800H-2FFFH,1、INTEL 8255A接口芯片 (1) 現(xiàn)給出INTEL 8255A 的應(yīng)用電路如下,系統(tǒng)分配給8255的地址為60H63H。試分析該電路中8255的A、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)“斷開”)。,六、輸入輸出接口題,解答: (1)A
21、口作為輸入口,B口作為輸出口 (2)初始化: A口作為輸入口,B口作為輸出口,均工作于方式0,則控制字為:90H(不唯一) 參考程序片段: MOV AL,90H OUT 63H,AL IN AL,60H OUT 61H,AL ,2、根據(jù)下面的接口電路圖,回答下列問題:,(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!,溫馨提示: 考試時(shí)請(qǐng)帶學(xué)生證和重修證!,謝 謝 !,指
22、令系統(tǒng)程序設(shè)計(jì)舉例,例1:從存儲(chǔ)器中取數(shù)的基本方法 執(zhí)行下列指令后, AX寄存器中的內(nèi)容是什么? TABLEDW10,20,30,40,50 ENTRY DW3 . MOV BX,OFFSET TABLE ;取數(shù)據(jù)串偏移地址 ADD BX,ENTRY ;BX=BX+3 MOV AX,BX ;物理地址=DS16+(BX) 答案: (AX)=40,此例中要注意: 1)TABLE 和ENTRY的標(biāo)號(hào)意義,這里為數(shù)據(jù)串的偏移地址的首地址。 2)從存儲(chǔ)器中取數(shù)據(jù)必須要知道數(shù)據(jù)在那個(gè)段和它的偏移地址。 3)得到偏移地址有兩條指令 4)如果數(shù)據(jù)在ES或SS段時(shí),指令中段前綴的用法,如果數(shù)據(jù)串定義在ES段中
23、TABLEDW10,20,30,40,50 ENTRY DW3 . MOV BX,OFFSET TABLE ;取數(shù)據(jù)串偏移地址 ADD BX, ES ENTRY ;BX=BX+3 MOV AX, BX ;物理地址=ES16+(BX) 答案: (AX)=40,此例中要注意: 1)TABLE 和ENTRY的標(biāo)號(hào)在程序中只能出現(xiàn)一次,在段定義中已經(jīng)指明在ES段中。,例2:在使用中容易出錯(cuò)的指令用法 指出下列指令的錯(cuò)誤: MOV AH,BX ; 源、目的字長不一致 (2)MOV SI,BX ;源、目的不能同時(shí)為存貯器尋址方式 (3)MOV AX,SIDI ;基址變址方式不能有 SI和DI的組合 (4)
24、MOV AX,BXBP ;基址變址方式不能有 BX和BP的組合 (5)MOVBX,ES:AX ;AX不能作為基址寄存器使用,而且源、目的不能同時(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不能作為目的寄存器 (9)MOV DS,BP ;段地址不能直接送入數(shù)據(jù)段寄存器,例3: 推斷指令的執(zhí)行結(jié)果 DATA SEGMENT TABADW1234H DATAENDS . MOV BX, TABA LEABX, TABA 請(qǐng)寫出上述兩條指令執(zhí)行后, B
25、X寄存器中的內(nèi)容。 答案: MOVBX,TABA ; 執(zhí)行后(BX)=1234H ,內(nèi)存中的數(shù)據(jù) LEABX,TABA ; 執(zhí)行后(BX)=OFFSET TABA,偏移地址,例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ù)低字
26、相加,結(jié)果在AX中 MOVBX, DATAX+2 ;取第一個(gè)數(shù)要加的數(shù)的高字 ADCBX, DATAY+2 ;與第二個(gè)數(shù)高字相加,結(jié)果在BX中 MOVDATAY, AX MOVDATAY+2, BX ;保存和,注意地址為2個(gè)字節(jié) 在編程時(shí)要考慮到低字相加后產(chǎn)生的進(jìn)位,例5:乘法指令應(yīng)用(無符號(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)。,A B C D E F G
27、 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 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 F X X X X X X X X X X X X X X X X X,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
28、 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),字相乘后位相加的要求,MOVAX,WORD PTR DATAX ;取乘數(shù)第一個(gè)字 MOVBX,WORD 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)
29、MOVRESULT+6,DX ;結(jié)果高字 DX(1),MOVAX,WORD PTR DATAX+2 ;取乘數(shù)第二個(gè)字 MOVBX,WORD PTR DATAY ;取被乘數(shù)第一個(gè)字 MULBX ;(BC) MOVRESULT+8,AX;結(jié)果低字 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),MOV AX,RESUL
30、T+2 MOV BX,RESULT+4 MOV DX,RESULT+8 ADDAX,BX ADCAX,DX ;DX(0)+AX(1)+AX(2) MOV RESULT+2, AX MOV AX,RESULT+6 MOV BX,RESULT+10 MOV DX,RESULT+12 ADCAX,BX ADCAX,DX ;DX(1)+DX(2)+AX(3) MOV RESULT+4, AX MOVAX,RESULT14 ADCAX,0000H ; DX(3)+C MOVRESULT6, AX,例6:移位指令應(yīng)用 試分析下面的程序段完成什么操作? MOVCL,04 SHLDX,CL ;DX左移4位。左
31、移次數(shù)CL中的數(shù) MOVBL,AH SHLAX,CL ; AX左移4位 SHRBL,CL ; BL右移4位 答案: 將DX、AX中的字左移4位, BL右移4位,例7:變量N1和N2均為2字節(jié)的非壓縮BCD數(shù)碼,請(qǐng)寫出計(jì)算N1與N2之差的指令序列。非壓縮BCD碼格式:0000XXXXH MOVAX, 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 ;非壓
32、縮的BCD數(shù)的減法結(jié)果進(jìn)行調(diào)整 MOVDH, AL ;將正確結(jié)果保存在DH中,例8:假設(shè)(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (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)寄存器及存儲(chǔ)單元的內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、
33、OF、CF的值。 SBBAX,BX ;2060H-3000H (AX)=F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1,假設(shè)(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 請(qǐng)寫出下列各條指令單獨(dú)執(zhí)行完后,
34、有關(guān)寄存器及存儲(chǔ)單元的內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、OF、CF的值。 (2) CMPAX,WORD PTRSI+0FA0H;2060H-A006H 目的操作數(shù)的地址:DS16+SI+0FA0H =40000H+2060+0FA0=43000H 執(zhí)行此指令后AX中的內(nèi)容不變!只影響標(biāo)志位!,2060H-A006H 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)=1
35、OF=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ù)不相同。,假設(shè)(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (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)
36、寄存器及存儲(chǔ)單元的內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF、OF、CF的值。 (3) MULBYTE PTRBX ;字或字節(jié)由源決定 (AX)=0260H, (OF)=1, (CF)=1,MULBYTE PTRBX 目的操作數(shù)的地址:DS16+(BX) =40000H+3000=43000H (43000H)=A006H 此操作為: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,表示高半部分無有效數(shù),否則CF=1、OF=1,用于
37、指出字節(jié)運(yùn)算結(jié)果是8位或16位,字運(yùn)算結(jié)果是16位或32位。(不存在有進(jìn)位的可能),假設(shè)(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (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)寄存器及存儲(chǔ)單元的內(nèi)容, 若影響條件碼請(qǐng)給出條件碼SF、ZF
38、、OF、CF的值。 (4) DIVBH;AX/BL(2060H30H) (AX)=2060H,(4) DIVBH;AX/BL(2060H30H) (AX)=2060H AL=商,AH=余數(shù) 2060H=40962+96=8288 828848=172 余數(shù)=32 除法不影響標(biāo)志位,假設(shè)(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來五年飼料添加劑及原料企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略分析研究報(bào)告
- 未來五年工業(yè)大麻企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 未來五年紡織衣物干洗服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略分析研究報(bào)告
- 電廠員工安全培訓(xùn)心得課件
- 電廠十不吊培訓(xùn)
- 記者設(shè)備管理制度規(guī)范標(biāo)準(zhǔn)
- 貨物裝貨卸貨制度規(guī)范標(biāo)準(zhǔn)
- 安眠藥購買制度規(guī)范標(biāo)準(zhǔn)
- 護(hù)理人文關(guān)懷制度與規(guī)范
- 律師事務(wù)所規(guī)范工作制度
- 幼教培訓(xùn)課件:《幼兒園冬季保育護(hù)理》
- 2024-2025學(xué)年湖州市吳興區(qū)數(shù)學(xué)三上期末統(tǒng)考試題含解析
- 塔司、信號(hào)工安全晨會(huì)(班前會(huì))
- 2024全國職業(yè)院校技能大賽ZZ060母嬰照護(hù)賽項(xiàng)規(guī)程+賽題
- 回顧性臨床研究的設(shè)計(jì)和分析
- 配電一二次融合技術(shù)的發(fā)展應(yīng)用
- 鋼板鋪設(shè)安全施工方案
- 八年級(jí)物理上冊(cè)期末測(cè)試試卷-附帶答案
- 硬件設(shè)計(jì)與可靠性
- 垃圾滲濾液處理站運(yùn)維及滲濾液處理投標(biāo)方案(技術(shù)標(biāo))
- 經(jīng)緯度叢書 秦制兩千年:封建帝王的權(quán)力規(guī)則
評(píng)論
0/150
提交評(píng)論