匯編復(fù)習(xí)題2014c._第1頁
匯編復(fù)習(xí)題2014c._第2頁
匯編復(fù)習(xí)題2014c._第3頁
匯編復(fù)習(xí)題2014c._第4頁
匯編復(fù)習(xí)題2014c._第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014一、+選擇題1、匯編語言源程序經(jīng)匯編后不能直接生成CA .OBJ文件B丄ST文件C .EXE文件D .CRF文件-1 -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料20142、若SP=1500H那么執(zhí)行完 PUSH旨令后,SP= BC.1502HD.1501HC.段內(nèi)直接轉(zhuǎn)移D.段間直接轉(zhuǎn)移C。C. LEA SI,XD. LDS SI,XA. 14FFH B.14FEH3、JMP WORD PTR DI是 A 。A. 段內(nèi)間接轉(zhuǎn)移B.段間間接轉(zhuǎn)移4、與MOV SI,OFFSET X等價(jià)的指令是A. MOV SI,XB. LES SI,X5、運(yùn)

2、算型指令的尋址和轉(zhuǎn)移型指令的尋址,其不同點(diǎn)在于_A。A. 前者取操作數(shù),后者決定程序的轉(zhuǎn)移地址B.后者取操作數(shù),前者決定程序的轉(zhuǎn)移地址C.兩者都是取操作數(shù)D.兩者都是決定程序的轉(zhuǎn)移地址6、下列指令 D 是合法的訪問I/O端口指令。A. IN AL,100HBN AL,BXC. IN AL,BLD. IN AL,DX7、邏輯移位指令SHL用于_C;A.帶符號(hào)數(shù)乘2B.帶符號(hào)數(shù)除2C.無符號(hào)數(shù)乘2D.無符號(hào)數(shù)除2而算術(shù)移位指令SAL用于A。A.帶符號(hào)數(shù)乘2B.帶符號(hào)數(shù)除2C.無符號(hào)數(shù)乘2D.無符號(hào)數(shù)除28、由匯編程序在匯編過程中執(zhí)行的指令是BA.機(jī)器語言B.偽指令C.狀態(tài)標(biāo)志D.物理地址9、在匯編

3、語言程序設(shè)計(jì)中,偽指令OFFSET勺含義是回送變量或標(biāo)號(hào)的BA.段地址B.物理地址C.偏移地址D.操作數(shù)10、子程序返回偽指令是C。A. ENDPB. IRETC.RETD.段內(nèi)與段間不同11、使用LINK連接命令,執(zhí)行后可生成文件的擴(kuò)展名為C。A. .COMB. .OBJC. .EXED. . LST12、 已知 AX的內(nèi)容為1FFAH執(zhí)行 XOR AX,AX, AX內(nèi)容為_C。A.00FAH B.1FFAHC. 0000HD.1F00H13、 編寫分支程序,在進(jìn)行條件判斷前,可用指令構(gòu)成條件,其中不能形成條件的指令是DA. CMPB.SUB14、INC指令不影響_B標(biāo)志。A. OFB.CF

4、15、段內(nèi)直接調(diào)用,程序的轉(zhuǎn)移范圍為A. -128127B. -3276832767C. ANDD.MOVC.SFD.ZFB。C.-6553665535D. 032767-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201416、中斷向量 DA.傳送數(shù)據(jù)的起始地址B.中斷類型號(hào)C.子程序入口地址D.中斷服務(wù)程序入口地址-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201417、執(zhí)行返回指令,退岀中斷服務(wù)程序,這時(shí)返回地址來自A.ROM區(qū)D.CPU的暫存寄存器B. 程序計(jì)數(shù)器C.堆棧區(qū)18、 微機(jī)系統(tǒng)中有哪些總線?_DA.狀態(tài)總線、數(shù)據(jù)總線、控

5、制總線B.地址總線、狀態(tài)總線、控制總線C. 狀態(tài)總線、數(shù)據(jù)總線、地址總線D.數(shù)據(jù)總線、地址總線、控制總線19、 以下不屬于總線接口部件BIU部件的是_A。A.通用寄存器B.地址產(chǎn)生器C.指針寄存器D.專用寄存器20、 不能將累加器AX的內(nèi)容清0的錯(cuò)誤指令是_B。A.AND AX, 0 B.CMP AX, AX C.SUB AX, AX D.XOR AX, AX 21、有如下程序段:MOV CX,6MOV AX,1MOV BX,3LOP: ADD AX,BXADD BX,2LOOP LOP上述指令完成后,AX= B-3 -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014A

6、. 6B. 49C.50D. 0-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201422、由匯編程序在匯編過程中執(zhí)行的指令是A.物理地址B.機(jī)器語言C.指令D.偽指令-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201423、從鍵盤輸入數(shù)據(jù)1,則在寄存器中存放的形式為AA. 31HB. 01HC.” 1D. 1-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201424、下列有關(guān)段地址、偏移地址、物理地址的敘述正確的是A. 若已知物理地址,則可以計(jì)算出唯一的段地址和偏移地址。B. 段的劃分可以從任何一個(gè)存儲(chǔ)單元開始。C.8086規(guī)定段的大小必須為 64K字

7、節(jié)。D. 多個(gè)段可以共用某些存儲(chǔ)單元。25、中斷發(fā)生過程和子程序調(diào)用過程的一個(gè)明顯區(qū)別是中斷發(fā)生時(shí),A. IF 和 TF 位B. TF 位CPU自動(dòng)清除了 AC.IF和SF位D. TF和SF位-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201426、執(zhí)行下列指令后:MOV AXMOV CL1234HROL AXCL-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014DEC AXMOV CXMUL CXHLT寄存器AH的值是A.92HB.8CHC.8DHD.00H-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201

8、4寄存器AL的值是A.60HB.00HC.04HD.0A0H27、在多模塊程序設(shè)計(jì)中,用B偽指令來聲明公用變量。A.EXTRNB.PUBLICC.MODULED.COMMON-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014A.PUSH SIB.PUSH SIPUSH DIPUSH DIPOP SIPOP DIPOP DIPOP SIC.MOV AX SID.MOV AX SIMOV S,DIMOV BX,DIMOV D,AXXCHG BX ,AX28、交換寄存器SI、DI的內(nèi)容,正確的程序段是8086/8088響應(yīng)中斷時(shí),不自動(dòng)壓入堆棧的有29、CS的內(nèi)容A.B

9、.通用寄存器的內(nèi)容C.IP的內(nèi)容D.標(biāo)志寄存器的內(nèi)容30、堆棧的工作方式是AA.先進(jìn)后岀B. 后進(jìn)后岀C. 先進(jìn)先出D. 先進(jìn)不岀31、求下面變量定義的元素個(gè)數(shù)送CX的正確形式是 D-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014ARRAY DW 1,9,9,9,12,1A.MOV CX,L ENGTH ARRAYB. MOV CX,SIZE ARRAY-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014C. COUNT EQU $-ARRAYD. COUNT EQU ($-ARRAY)/2MOV CX,COUNT32可屏蔽中斷就是它的請(qǐng)求是否被A. TFB. IFMOV

10、CX,COUNTCPU響應(yīng)要受_B位的控制。C. OFD. SF33、影響堆棧指針SP的指令是BA.INT 21HB.JMP DO C.RETD.PUSH AX-4 -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201434、 8088/8086存儲(chǔ)器分段,每個(gè)段不超過 _D。D. 64K個(gè)字節(jié)A. 64K個(gè)字B. 32K個(gè)字節(jié)C. 1兆個(gè)字節(jié)35、匯編語言是 A 。A.低級(jí)語言B.中級(jí)語言C.高級(jí)語言D.機(jī)器語言-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201436、用DEBUG.EX調(diào)試程序時(shí),顯示存儲(chǔ)單元內(nèi)容的命令是D-# -匯編語言程序

11、設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014A.RB.TC. GD. D37、匯編源程序中,END偽指令后的標(biāo)號(hào)表示_C。A.源程序的結(jié)束B.代碼段的結(jié)束C.匯編程序的入口地址38有如下數(shù)據(jù)定義:X DB 36H,6FHD.該標(biāo)號(hào)無任何意義Y DW 2E5DH,4F6FH則下列指令正確的是C。A. MOV AX, XB. MOV DL, OFFSET XC. MOV AX, WORD PTR XD. MOV BL, Y39、若要求一個(gè)操作數(shù)中的若干位維持不變,若干位置1,可以使用_bA. NOTB. OR40、下列指令中,源操作數(shù)在代碼段中的是A.MOV AL,80HB. AD

12、D AL,BLC. ANDD. XOR 不A。C.CMP AX, 1234D.AND AL,ES:123441、對(duì)于有符號(hào)的數(shù)來說,下列哪個(gè)值最大A. 0F8HB.11010011BD。C. 82D.123Q-5 -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014二、填空題1、指岀下列指令源操作數(shù)的尋址方式:MOV AX , ARRAYSI;寄存器相對(duì)尋址方式MOV AX , ES: BX;寄存器間接尋址方式MOV AX , 200H;直接尋址方式MOV AX , BX+DI;基址變址尋址方式MOV AX , BX;寄存器尋址方式MOV AX , 1200H;立即尋址方式MOV AX , 20BX+SI;相對(duì)

13、基址變址尋址方式MOV AX , DI+20;寄存器相對(duì)尋址方式2、計(jì)算機(jī)中的指令由操作碼和操作數(shù)兩部分組成。3、 對(duì)于乘法、除法指令,結(jié)果存放在竺或DX:AX中,而其源操作數(shù)可以用除立即數(shù) 以外的任一種尋址方式。4、 邏輯地址是由段地址和偏移地址 組成,其中段地址是由段寄存器 存儲(chǔ)的。5、 當(dāng)指令“ SUB AX BX執(zhí)行后,CF=1,說明最高有效位 向高位有進(jìn)位或有借位;對(duì)無符號(hào)數(shù),說明操作結(jié)果溢出。6、I/O設(shè)備的接口中一般包含 數(shù)據(jù)、狀態(tài)、控制 三種端口。7、10110101.01B= 0B5.4 H 和 181.25 D 。8、 指令“ AND AX STR1 AND STR”中,S

14、TR1和STR2是兩個(gè)已賦值的變量,兩個(gè) AND的區(qū)別是第一個(gè)AND是邏輯與指令、第二 個(gè)AND是邏輯與操作符。9、 帶符號(hào)的機(jī)器數(shù)可以用原碼、反碼和補(bǔ)碼三種不同碼制來表示。11、 如果TABLE為數(shù)據(jù)段中0032單元的符號(hào)名,其中存放的內(nèi)容為1234H,當(dāng)執(zhí)行指令MOV AX TABLE后,( AX = 1234H ;而執(zhí)行指令 LEA AX,TABLE后,則(AX = 0032H。12、 計(jì)算機(jī)的硬件的基本組成有 運(yùn)算器、控制器、存儲(chǔ)器 和輸入設(shè)備、輸岀設(shè)備五大部件。13、 近過程(NEAR的RET指令把當(dāng)前棧頂?shù)囊粋€(gè)字彈出到IP ;遠(yuǎn)過程(FAR的RET指令彈出一個(gè)字到IP 后又彈出一個(gè)

15、字到CS ; IRET指令是 中斷返回 指令,它從堆棧順序彈出3個(gè)字分別送到 丄、CS 、標(biāo)志寄存器 FLAGS中。14、 ENDP是過程定義結(jié)束偽指令,與PROC配套使用。ENDS是段定義結(jié)束偽指令,與SEGMENT配套使用。END是一個(gè)源模塊匯編結(jié)束偽指令。15、 一個(gè)有16個(gè)字的數(shù)據(jù)區(qū),它的起始地址為70A0: DDF6那么該數(shù)據(jù)區(qū)首字單元地址是7E7F6H,最后一個(gè)字單元的物理地址為 7E814H。(16 個(gè)字就是 70A0H*10H+DDF6H+1EH如果是 32 個(gè)字的話,則是 70A0H*10H+DDF6H+3EH=7E83)H16、執(zhí)行下列指令序列后,完成的功能是將( DX A

16、X)的值左移4位。MOV CL,04SHL DX CLMOV BL AHSHL AX, CLSHR BL,CLOR DL,BL17、 JMP按轉(zhuǎn)移地址范圍的不同,分為短 跳轉(zhuǎn)和 近 跳轉(zhuǎn)。18、 下面兩個(gè)語句的區(qū)別在于X1只能賦值一次 ,X2可以多次賦值 。X1 EQU 1000HX2=100019、 用1條邏輯指令將 AX中與BX中的對(duì)應(yīng)位不相同的位均置為1 XOR AX,BX 。21、 ASCII碼是IBM-PC輸入輸出時(shí)采用的編碼,ASCII的中文意思是美國(guó)信息交換標(biāo)準(zhǔn)代碼,標(biāo)準(zhǔn)的ASCII碼用旦位二進(jìn)制數(shù)來 表示。22、 用指令的助記符、符號(hào)地址、標(biāo)號(hào)和偽指令、宏指令等書寫的程序的語言

17、稱為匯編語言,將匯編語言的源程序翻譯成機(jī)器語 言的程序?yàn)閰R編程序。23、8086CPU由BIU(總線接口單元)和EU(執(zhí)行單元)兩部分構(gòu)成。24、 我們把與內(nèi)存對(duì)應(yīng)的用20位二進(jìn)制數(shù)(或5位16進(jìn)制數(shù))表示的地址稱為 物理地址,它的計(jì)算公式為 物理地址=16*段地址+偏移地址。25、 在段加偏移地址的尋址中,如果段寄存器為CS,則相應(yīng)的偏移地址應(yīng)由 巴寄存器來提供。26、在DEBUGt機(jī)調(diào)試程序時(shí),存儲(chǔ)器的地址表示為2F00:1400,則該單元的段地址為 2F00H,偏移地址為1400H,物理地址為30400H。28、方向標(biāo)志DF的作用是用來在串操作指令中控制自增和自減的方向,用于設(shè)置或消除該

18、標(biāo)志位的指令是STD和CLD,29、完成下列程序,從Mov240H端口讀取數(shù)據(jù),測(cè)試其是否為20H,若不是則將241H端口清0,否則則轉(zhuǎn)向Next。dx, 240HINal,dxCMPal,20hJZNextMovdx,240hMoval,0Outdx,alNext:30、已知:(DS)=15F0H,(ES)=25F0H,(SS)=35F0H,(BX)=0670H,(SI)=1001H,(DI)=0B0H,(BP)=0150H,BUF的偏移地址是 0900H=計(jì)算下列指令源操作數(shù)的物理地址,指岀尋址方式:(1) MOV AX,BUFBP+6(2) CMP AX,ES:SI(3) MOV CX,

19、BUF(4) MOV AX,ES:BX+SI(5) DEC BUFDI;采用寄存器相對(duì)尋址方式,物理地址為 56956h o;采用寄存器間接 尋址方式,物理地址為 26F01H;采用 直接尋址方式,物理地址為16800H o;采用基址變址尋址方式,物理地址為27571H o;采用寄存器相對(duì) 尋址方式,物理地址為168B0H(6) MOV AX,BUFBX+DI;采用相對(duì)基址變址尋址方式,物理地址為16620H-8 -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014-# -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料201431、過程的屬性有 NEAR和 FAR32、 指令中用來指岀指令在程序中位置的符號(hào)地址是標(biāo)號(hào)。33、變量和標(biāo)

20、號(hào)的三個(gè)屬性為 段屬性、偏移屬性、類型屬性 。34、 下列程序段是比較 AX, BX, CX中帶符號(hào)數(shù)的大小,將最大數(shù)放在AX中。請(qǐng)將程序填完整。CMP AX,BXJGE LAB1XCHGAX,BXLAB1:CMP AX,CXJGE LAB2XCHG AX,CXLAB2:35、 在使用串操作指令時(shí),源串必須在數(shù)據(jù)段中,目的串必須在 附加段中,源串作數(shù)和目的操作數(shù)不允許使用段超越。36、CPU是通過I/O指令來實(shí)現(xiàn)與外部設(shè)備進(jìn)行數(shù)據(jù)傳送的。37、 內(nèi)中斷有三類中斷源,分別為INT n、CPU出錯(cuò)、為調(diào)試程序設(shè)置的斷點(diǎn)。38、 中斷過程可分為四個(gè)步驟:中斷請(qǐng)求、中斷響應(yīng)、中斷處理、中斷返回。39、

21、執(zhí)行IRET指令時(shí),會(huì)依次將IP、CS FLAGS單出棧。40、 80X86中斷命令寄存器的I/O端口地址為20H,中斷屏蔽寄存器的I/O端口地址為21H。41、 可用DOS功能調(diào)用INT 21H的功能號(hào)(AH)=25H來設(shè)置中斷向量,用功能號(hào) AH=35H來獲取中斷向量。42、168D= 10101000 B= 0A8 H= 250 Q。43、在數(shù)據(jù)段中有以下定義:ARRAY1 EQU 16HARRAY2 DW 16H請(qǐng)指岀下列指令的尋址方式:MOV AX , ARRAY1;立即尋址方式MOV AX , ARRAY2;直接尋址方式44、若STR是字符串的首地址,將語句加上注解,并指岀下列程序

22、的功能。LEA BX,STR把STR的偏移地址賦給 BX寄存器MOV CX,20把20賦值給CX寄存器LAB1:CMP BX, * ;把BX的ASCII值與*的ASCII值進(jìn)行比較JNZ LAB2判斷是否相等MOV BX, $;把BX的ASCII值與$的ASCII值進(jìn)行比較LAB2:INC BXLOOPLAB1判斷是否相等HLT程序的功能;將首址為STR長(zhǎng)度為20的字符串中的*用$替換。45、 若物理地址為00038H的單元開始存放的雙字為 20001000H, 00056H單元開始存放的雙字為 40003000H,則類型為14 (十進(jìn)制 數(shù))的中斷向量的起始地址為 38H或56,中斷服務(wù)程序

23、的入口地址(物理地址)為 21000H。46、PC機(jī)I/O設(shè)備的數(shù)據(jù)傳送方式共有三種,分別是 查詢, 中斷 ,DMA47、 當(dāng)鍵盤中斷發(fā)生時(shí),CPU能否響應(yīng)由兩個(gè)條件控制,一是中斷是否允許二是當(dāng)前中斷級(jí)別是否比鍵盤中斷級(jí)別高。48、 條件轉(zhuǎn)移指令的目標(biāo)地址應(yīng)在本條件轉(zhuǎn)移指令的下一條指令地址的-128127個(gè)字節(jié)范圍內(nèi)。49、 假設(shè)某程序執(zhí)行前(CS = 0B234H, (IP )= 5678H,則該程序的第一條指令的物理地址是0B79B8H若第一條指令對(duì)應(yīng)的機(jī)器碼占3個(gè)字節(jié),則第二條指令的物理地址是0B79BBH50、 在用MASM 5.0的DEBUGS試程序時(shí),查看寄存器內(nèi)容的命令為R ,讓

24、程序僅執(zhí)行當(dāng)前IP所指的一條指令的命令 是 T 。三、簡(jiǎn)答題1、 試計(jì)算58H+3CH的運(yùn)算結(jié)果,并寫出標(biāo)志位 OF PF、CF SF的內(nèi)容。2、8086具有哪些程序可見的寄存器,它們?cè)诔绦蛟O(shè)計(jì)中分別起什么作用?答:段寄存器8086的段寄存器有4個(gè)16位寄存器,它們用于存放 8086CPU當(dāng)前可以訪問的4個(gè)邏輯段的基址。代碼段寄存器CS劃定并控制著程序區(qū);數(shù)據(jù)段寄存器 DS和附加段寄存器ES控制著數(shù)據(jù)區(qū);而堆棧段寄存器SS對(duì)應(yīng)著堆棧存儲(chǔ)區(qū)。通用寄存器通用寄存器可分為兩組:數(shù)據(jù)寄存器,地址指針和變址寄存器。數(shù)據(jù)寄存器包括 AX BX CX和DX4個(gè)16位寄存器,它們中的每一個(gè)又可根據(jù)需要將高8位

25、和低8位分成獨(dú)立的兩個(gè)寄存器來使用。地址指針和變址寄存器包括 SP, BP, SI,和DI??刂萍拇嫫?1) 指令指針I(yè)P(2) 標(biāo)志寄存器FLAG8086CPU設(shè)立了一個(gè)16位標(biāo)志寄存器,共 9個(gè)標(biāo)志。其中6個(gè)是狀態(tài)標(biāo)志,3個(gè)是控制標(biāo)志。狀態(tài)標(biāo)志(a) CF進(jìn)位標(biāo)志(b) PF奇偶標(biāo)志(c) AF輔助進(jìn)位標(biāo)志(d) ZF零標(biāo)志(e) SF符號(hào)標(biāo)志(f) OF溢出標(biāo)志控制標(biāo)志(a) DF方向標(biāo)志(b) IF中斷允許標(biāo)志(c) TF陷阱標(biāo)志或單步操作標(biāo)志3、已知AX=0E87DH BX=38ABH若執(zhí)行 ADD BX,AX則寄存器 AX, BX,標(biāo)志位 CF、OF各為何值?4、什么是中斷類型碼?

26、中斷向量?中斷向量表?在 8086/8088微機(jī)系統(tǒng)中。中斷類型碼和中斷向量之間有什么關(guān)系?答:中斷類型碼:其實(shí)就是中斷號(hào),對(duì)不同的中斷服務(wù)程序不同的名稱記號(hào),以調(diào)用該中斷程序.中斷向量:指向中斷服務(wù)程序的入口地址.一個(gè)向量代表的入口地址為 4個(gè)字節(jié).中斷向量表:由于存在多個(gè)中斷請(qǐng)求,相應(yīng)有多個(gè)中斷服務(wù)程序,即有多個(gè)存放這些程序的入口地址(即中斷向量).為此系統(tǒng)在內(nèi)存的特定區(qū)域安排一張中斷向量表 ,專門存放所有的中斷向量.此表即中斷向量表.以上三者關(guān)系:中斷向量=中斷號(hào)X4, 其中方括號(hào)的含義是內(nèi)存單元的內(nèi)容.(即中斷向量表剛好存放在內(nèi)存絕對(duì)地址0開始的位置)。5、簡(jiǎn)述CPU響應(yīng)中斷的條件。答

27、:取決于中斷允許觸發(fā)標(biāo)志IF的狀態(tài)。若IF=1,則響應(yīng)中斷的請(qǐng)求,暫?,F(xiàn)行后續(xù)指令的執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序;若IF=0,則不會(huì)響應(yīng)中斷的請(qǐng)求。6、在8086/8088微處理器在實(shí)模式下,存儲(chǔ)器尋址為什么要分段?舉例說明存儲(chǔ)單元的物理地址是如何形成的?答:在8086/8088中,寄存器只有16位,而地址線卻有 20位,故其最大尋址空間是 1M用存儲(chǔ)器分段的方法,解決在 16位字 長(zhǎng)的機(jī)器里提供20位地址的問題。在實(shí)模式下編程時(shí),將存儲(chǔ)器劃分成段,每個(gè)段內(nèi)的大小可達(dá)64KB,這樣段內(nèi)地址可用16位表示,實(shí)際上,可以根據(jù)需要決定段的大小。這樣將每一段的起始地址作為段地址,而將在段內(nèi)相對(duì)于段起始地

28、址的偏移值作為偏移地址,于是將段地址左移4位,再加上偏移地址就形成了存儲(chǔ)器實(shí)際的物理地址。如某存儲(chǔ)單元的段地址和偏移地址為3017 :000A,則其物理地址 =3017H*10H+000AH=3017AH7、邏輯右移指令8、設(shè) AX=1234HPUSHSHR的格式、功能和使用說明?BX=5678H CX=8901H SI=100H,SP的初始值=01A0H,問執(zhí)行下述堆棧操作指令序列CXPUSHAXPUSHBXPOPCXPOPSI后,SP和SI的值等于多少?答:SP和SI的值分別等于19EH和1234H。9、計(jì)算機(jī)對(duì)I/O端口編址時(shí)可以采用哪兩種方法?簡(jiǎn)述兩種編址方式的優(yōu)缺點(diǎn)?10、畫圖說明下

29、列語句分配的存儲(chǔ)空間及初始化數(shù)值。(1)ADB9,0AH, AB ,2 dup(3,?)(2)BDW2 DUP(123H, 8),?,-5,23, 789DH(3)XDBBIT, 62,6AH,2 DUP(0,?,2 DUP(7,9)(4)YDW2 DUP(0, 2),?,-5, CD ,345H、根據(jù)以下要求,分別寫岀相應(yīng)的匯編語言指令或指令序列。(1) 把AX寄存器和BX寄存器的內(nèi)容相減,結(jié)果存入AX中。Sub ax,bx(2) 將 AX的內(nèi)容邏輯左移 5位。Mov cl,5 shl ax,cl(3) 將AX的內(nèi)容,減去 0520H和上次運(yùn)算的借位。 Sbb ax,520h(4) 將變量名

30、 TABLE的段地址送 AXo Mov ax,seg table(5) 將DI的高四位置為 0 o And di,0fffh(6) 輸出一個(gè)字節(jié)到 61H號(hào)端口。Out 61h,al(7) 將SI和DI的內(nèi)容互換。Xchg si,di12、8086CPU是由EU和BIG組成,各部分的功能是什么?這樣設(shè)計(jì)的優(yōu)點(diǎn)是什么?答:BIU主要功能是負(fù)責(zé)CPU與主存和I/O之間的信息傳遞。EU的功能主要是控制和執(zhí)行指令。取指和執(zhí)行指令這兩個(gè)步驟由兩 個(gè)獨(dú)立的部件來完成。當(dāng)EU執(zhí)行某條指令時(shí),BIU同時(shí)完成從主存中預(yù)取后繼指令,兩個(gè)部件并行工作,提高了指令的執(zhí)行速度。13、循環(huán)控制指令LOOPNZ/LOOPN

31、的格式、功能和使用說明?答:指令的匯編格式:LOOPNZ/LOOPNE label指令的基本功能:(CX)J(CX) 1若ZF=0且(CX)工0,則(IP) J(IP)當(dāng)前+位移量,否則循環(huán)結(jié)束。指令的特殊要求:循環(huán)指令都是短轉(zhuǎn)移格式的指令,也就是說,位移量是用8位帶符號(hào)數(shù)來表示的,轉(zhuǎn)向地址在相對(duì)于當(dāng)前IP值的一128+ 127字節(jié)范圍之內(nèi)。14、串傳送指令REP MOVS的格式、功能和使用說明?15、簡(jiǎn)述指令 MOV SI,DATA和MOV SI,OFFSET DATA之間的區(qū)別?答:MOV SI,DATA是將DATA的內(nèi)容送入 SI寄存器;MOV SI,OFFSET DATA1將SI寄存器

32、指向 DATA也就是將 DATA的偏移地址送入 SI。16、強(qiáng)制屬性操作符會(huì)改變變量的定義屬性嗎?答:不會(huì),它們只是臨時(shí)改變變量的屬性。17、外設(shè)與CPU和存儲(chǔ)器的通信是通過外設(shè)接口進(jìn)行的,每個(gè)外設(shè)接口包含哪些寄存器,以及這些寄存器的用途?CPU對(duì)答:每個(gè)外設(shè)接口通常包含以下三種寄存器:一是用作數(shù)據(jù)緩沖的數(shù)據(jù)寄存器;二是用作保存設(shè)備和接口的狀態(tài)信息,供 外設(shè)進(jìn)行測(cè)試的狀態(tài)寄存器;三是用來保存CPU發(fā)岀的命令以控制接口和設(shè)備的操作的命令控制寄存器。18、定義數(shù)據(jù)段DATA_SEG數(shù)據(jù)段中的數(shù)據(jù)按下列要求依次存儲(chǔ):(1)第一個(gè)字節(jié)是整數(shù)5變量BUF大小為25個(gè)字節(jié),初值為 0 變量ARRAY類型為

33、字,初值為 12H, 56H, 78H, 0AH變量MSG存儲(chǔ)字符串yes答:data segmentsdb 5buf db 25 dup(0)array dw 12h,56h,78h,0ahmsg db yesdata ends19、簡(jiǎn)述匯編語言從源程序的建立到運(yùn)行可執(zhí)行程序的主要步驟。答:用編輯程序建立匯 ASM匯編語言源程序;用匯編語言對(duì)源程序進(jìn)行匯編,把ASM文件轉(zhuǎn)化成OBJ文件;用連接程序?qū)δ繕?biāo)文件進(jìn)行連接,把OBJ文件轉(zhuǎn)換成EXE文件;用DOS命令直接鍵入文件名即可執(zhí)行。20、簡(jiǎn)述8086CPU的中斷響應(yīng)過程。答:取中斷類型號(hào)N;標(biāo)志寄存器內(nèi)容入棧;當(dāng)前代碼段寄存器 CS內(nèi)容入棧;

34、當(dāng)前指令計(jì)數(shù)器IP入棧禁止硬件中斷和單步中斷(IF=0,TF=0);從中斷向量表中取 4XN的字節(jié)內(nèi)容送IP,取4XN+2中的字節(jié)內(nèi)容送 CS轉(zhuǎn)中段處理程序。21、 試計(jì)算邏輯地址 4017: 000A,4015: 0002A和4010: 0007A對(duì)應(yīng)的物理地址。這三個(gè)物理地址說明了什么問題?四、判斷題1、 段內(nèi)轉(zhuǎn)移要改變IP、CS的值。_F2、JMP SHORT lab是近跳轉(zhuǎn)。_T3、 POP 5678H ;_F4、 立即尋址方式不能用于目的操作數(shù)。5、條件轉(zhuǎn)移指令只能使用段內(nèi)直接短跳轉(zhuǎn)。6、 MOV ES,5678H ;_F7、 不能給段寄存器進(jìn)行立即數(shù)方式賦值。8、 立即尋址方式不能

35、用于目的操作數(shù)。MOV DI,OFFSET BXSI。T9、LEA DI,BXSI ; (T)10、 MOV DI,OFFSET BXSI。_T11、 MOV指令會(huì)影響標(biāo)志位。F12、OR AX,BX;T13、 CF位可以用來表示無符號(hào)數(shù)溢出,OF位可以用來表示有符號(hào)數(shù)溢出。T14、ADD CX,AL;F15、 LODSB旨令執(zhí)行的操作為:(DI)(AL), ( DI)J( DI) +1 或(Dl)( DI) -1。(F )16、 關(guān)系操作符EQ NE LT、GT LE、GE的計(jì)算結(jié)果為邏輯值,0FFFFH表示為真,0表示為假。T17、SHL AX, 3; _F18、 PUSH WORD PT

36、R 20BX+SI-2;二19、LEA BX, 4BX;二20、JMP BYTE PTR SI ;F21、IN AX,0ADH;T 22、PUSH WORD PTR 20BX+SI-2; T23、TEST AL,00000100B;二24、RCR BX+SI,CX; F25、DIV 10H ; F26、MOV AX,BXBP; F27、IN AX,3F0H; F )28、MUL 0ABH; F29、JLE FAR PTR LAB;LAB 是一個(gè)語句的標(biāo)號(hào) _F30、CALL AXT31、 MOV DS,2000H_F32、 立即尋址方式不能用于目的操作數(shù)。_J33、指令I(lǐng)NC BL影響所有的標(biāo)

37、志位 34、 SP的內(nèi)容可以不指向堆棧的棧頂。_F35、 END LAB語句指示本程序執(zhí)行到標(biāo)號(hào) LAB處則結(jié)束。F36、 同一個(gè)文件中不允許出現(xiàn)相同的子程序名。T37、定義在代碼段C中的類型屬性為FAR的過程只能在代碼段 C之外調(diào)用。_F38、 ADD X,Y ;X,Y 是 DB定義的變量。_F39、 對(duì)于一個(gè)正數(shù),其原碼、反碼和補(bǔ)嗎都一樣。T40、 SUB AX,1指令與DEC AX指令都執(zhí)行(AX)=(AX)-1的操作,兩者完全可以相互替代。F41、DIV SRC執(zhí)行字節(jié)除法時(shí),商存放在(AL)中,而余數(shù)存放在(AH中。 T42、ADD AX,1指令與INC AX指令都執(zhí)行(AX)=(A

38、X)+1的操作,兩者完全可以相互替代。F43、ADD AXACHF44、PUSH5588HF45、MOVDS,1720HF46、ANDAX, DXF47、ADDAX, CLF五、編程題1、從鍵盤輸入一字符串,然后將其按反序存放并輸岀DATA SEGMENTSTRING1 DB80,0,80 DUP(?)STRING2 DB80 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FARSTART: MOV AX,DATAMOV DS,AXMOVES,AXLEADX,STRING1MOVAH,0AHINT21HMO

39、VCL,STRING1+1SUBCH,CHLEADI, STRING2LEASI,STRING1ADDSI,CXINCSILAB: MOV AL,SIMOVDI,ALINCDIDECSILOOPLABMOVBYTE PTRDI,$LEADX,STRING2MOVAH,9INT21HMOVAH,4CHINT21HMAIN ENDPCODE ENDSEND START2、將首地址為x的5個(gè)字正整數(shù)數(shù)組從小到大排序DATA SEGMENTx DW 56H,85H,96H,52H,63HDATA ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DATASTART:PUSHDSSUB

40、AX,AXPUSHAXMOV AX,DATAMOV DS,AXMOVCX,5DECCXLOOP1:MOV DI,CXMOV BX,0LOOP2:MOV AX,XBXCMPAX,XBX+2JLCONXCHG AX,XBX+2MOVXBX,AXCON: ADDBX,2LOOP LOOP2MOVCX,DILOOP LOOP1RETCSEG ENDSEND START3、給出一百分制成績(jī),要求輸出成績(jī)等級(jí)“A,“B,“C,“D,“E。90分以上為A,8089為B,7079為C, 6069為D,60分以下為E。DATA SEGMENTX DB 52DATA ENDSCODE SEGMENTASSUME

41、CS:CODE,DS:DATAMAIN PROC FARSTART: MOVAX,DATAMOVDS,AXMOVAL,XCMPAL,90JBLAB1MOVDL,AJMPEXITLAB1: CMPAL,80JBLAB2MOVDL,BJMPEXITLAB2: CMPAL,70JBLAB3MOVDL,CJMPEXITLAB3: CMPAL,60JBLAB4MOVDL,DJMPEXITLAB4: MOVDL,EEXIT: MOVAH,2INT21HMOVAH,4CHINT21HMAIN ENDPCODE ENDSEND START4、數(shù)據(jù)段中從TABLE開始的連續(xù)20個(gè)字節(jié)單元存放著一個(gè)字符串,編寫程

42、序,判斷其中是否含有數(shù)字字符,若有,則將DX寄存器的第四位置為1,否則置為0。(設(shè)DX的最低位為第一位)mov ex, 20mov si, 0repeat:mov al,tablesiemp al, 30hjb gooncmp al, 39h ja goon or dl, 8 jmp exit goon:inc sidec cxjnz repeatand dl, 0f7hexit:5、 將數(shù)據(jù)段中已定義的字符串STR中所有的小寫字母轉(zhuǎn)換為大寫。DATA SEGMENTSTR1 DB aGbhTYUNmLEN DB $-STR1DATA ENDSCODE SEGMENTASSUME CS:COD

43、E, DS:DATASTART: MOV AX, DATAMOVDS, AXMOVCH, 0MOVCL, LENMOVBX, OFFSET STR1DO: CMP BYTE PTRBX,aJB LOPCMP byte ptrBX, zJA LOPSUB BYTE PTRBX, 20HLOP: INC BXLOOP DOMOV AH,4CHINT 21HCODE ENDSEND START6、 編寫程序,實(shí)現(xiàn)將數(shù)據(jù)段BUFF開始的字節(jié)單元中的10個(gè)數(shù)字0, 1,2,3,4,5,6,7,8,9轉(zhuǎn)化成相應(yīng)的ASCII碼送入以ASC開始的內(nèi)存單元。DATA SEGMENTBUFF DB 0,1,2,3

44、,4,5,6,7,8,9CONT EQU $-BUFFASC DB 10 DUP(?)DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXSUB SI,SI-16 -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014MOVCX,CONTLOP: MOVAL,BUFFSIORAL,30HMOVASCSI,ALINCSILOOPLOPMOVAH,4CHINT21HMAIN ENDPCODE ENDSENDSTART7、在一個(gè)無符號(hào)字?jǐn)?shù)組 ARRAYS查找最大數(shù),并將其存入字變量M中data segmen

45、tarray dw 1234h,43h,3dfeh,9f1h,34hdw 99h,12abh,0f000h,23h,0edfhm dw ?dataendscodesegmentassume cs:code,ds:datamainproc farstart:movax,datamovds,axmovcx,(m-array)/2-1leabx,arraymovax,bxlabl:incbxincbxcmpax,bxjalab2movax,bxlab2:looplablmovm,axexit:movah,4chint21hmainendpcodeendsend start8、從鍵盤上讀入一字符串(長(zhǎng)

46、度小于40),將該串反轉(zhuǎn)后,輸出顯示MAXNO EQU41DATA SEGMENTMESSG1DBINPUT A STRING:$MESSG2DBIT IS REVERSE IS:$MESSG3DB0AH,0DH,$BUF DBMAXNO,?,MAXNO DUPDATA ENDSCODE SEGMENT-17 -匯編語言程序設(shè)計(jì)復(fù)習(xí)資料2014MAIN PROC FARASSUME CS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,MESSG1MOVAH,9INT21HLEADX,BUFMOVAH,0AHINT21HLEADX,MESSG3MOVAH,9

47、INT21HXORAX,AXMOVCL,BUF+1SUBCH,CHLEADI,BUF+2MOVSI,DIADDSI,CXMOVBYTE PTRSI,$DECSICONT: CMPDI,SIJZFINISHDMOVAL,SIXCHGAL,DIMOVSI,ALDECSIINCDIJMPCONTFINISHD: LEADX,MESSG2MOVAH,9INT21HLEADX,BUF+2MOVAH,9INT21HMOVAH,4CHINT21HMAIN ENDPCODE ENDSENDSTART1 .唯一代表存儲(chǔ)空間中每個(gè)字節(jié)單元的地址是 。2 . JNC指令轉(zhuǎn)移的測(cè)試條件是。3 .將端口地址為30H中的

48、數(shù)據(jù)傳送到CPU中的指令是 。4 . 8086微處理系統(tǒng)中最多有 個(gè)端口地址。.標(biāo)志位。CS5 判斷無符號(hào)數(shù)運(yùn)算是否溢岀,應(yīng)根據(jù) 標(biāo)志位;而判斷有符號(hào)數(shù)運(yùn)算是否溢岀應(yīng)根據(jù) 6 .執(zhí)行INT 10H指令,可從中斷向量表 地址讀出內(nèi)容送IP,從地址單元讀出內(nèi)容送7 .語句 ASC DB 1234設(shè)置了 個(gè)字節(jié)。8 某微機(jī)有16條地址線,能夠覆蓋的地址范圍是9 . 8086CPU允許的最大存儲(chǔ)空間為 _,其地址編號(hào)從 _到H10 把AX中第0、1、3位清零,應(yīng)使用的指令是 o11設(shè)寄存器位數(shù)為8位,機(jī)器數(shù)采用補(bǔ)碼形式(含一位符號(hào)位)。對(duì)應(yīng)于十進(jìn)制數(shù)-73的寄存器內(nèi)容為_ (用16進(jìn)制表示)。12 .

49、設(shè)A為字變量,指令 MOV AX, A的源操作數(shù)尋址方式是。1、 8088/8086CPU內(nèi)部寄存器有_14個(gè),其中的AX BX CX DX 是通用寄存器,SP BP SI DI 是基址和變址寄存器,CS DS ES SS是段寄存器,此外還有_IP_和_FLAG_兩個(gè)控制寄存器,所有寄存器都是_16_位寄存器,每個(gè)寄存器可以存放_(tái)16_位二進(jìn)制數(shù)。2、 8088/8086CPU的標(biāo)志位寄存器中有 _9_個(gè)標(biāo)志位,其中的_DF IF TF_ 是控制標(biāo)志,_OF SF ZF CF PF AF_是狀態(tài)標(biāo)志。3、 8088/8086CPU有三組總線,它們是_地址_總線、_數(shù)據(jù)_總線和控制總線;地址總線

50、是_20條,因此它可以尋址的范圍是 _1M字節(jié)。通常將 _1024_字節(jié)稱為1K,將_1024K字節(jié)稱為1M4、 8088/8086CPU的存儲(chǔ)器采用分段方式管理,每個(gè)段最多可以有_64K_字節(jié),全部存儲(chǔ)空間可以分成 壬個(gè)大小為64K且互相不 重疊的段。5、 采用分段方式管理的存儲(chǔ)單元的地址分成物理地址 和邏輯地址 兩種,邏輯地址由_段地址和_偏移地址_兩部分構(gòu)成,段地址是每個(gè)存儲(chǔ)器段的_起始地址_;偏移地址則是相對(duì)于每個(gè)段第一個(gè)存儲(chǔ)單元的_偏移值_。段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的_蘭位;而CPU對(duì)數(shù)據(jù)的存取是按物理地址進(jìn)行的,物理地址和

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論