廣東海洋大學(xué)匯編語(yǔ)言復(fù)習(xí)題目答案_第1頁(yè)
廣東海洋大學(xué)匯編語(yǔ)言復(fù)習(xí)題目答案_第2頁(yè)
廣東海洋大學(xué)匯編語(yǔ)言復(fù)習(xí)題目答案_第3頁(yè)
廣東海洋大學(xué)匯編語(yǔ)言復(fù)習(xí)題目答案_第4頁(yè)
廣東海洋大學(xué)匯編語(yǔ)言復(fù)習(xí)題目答案_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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、匯編語(yǔ)言復(fù)習(xí)提綱一、考試題型:1、選擇題(20分,每題1分)2、填空題(10分,每空1分)3、判斷說(shuō)明題(20分,每題2分)4、程序分析題(20分,每題5分)5、程序填空題(20分,每空2分)6、編程題(10分)二、考試范圍與考試形式教材第19章,筆試,閉卷三、考試要點(diǎn):要求熟悉指令功能,能熟練閱讀和編寫(xiě)匯編語(yǔ)言源程序。1、匯編語(yǔ)言源程序的結(jié)構(gòu)框架2、匯編語(yǔ)言上機(jī)過(guò)程及產(chǎn)生的文件3、8086CPU內(nèi)部寄存器組及地址總線與數(shù)據(jù)總線寬度4、debug的常用命令(R、D、A、E、U、T、G、P)5、物理地址的形成與存儲(chǔ)器分段結(jié)構(gòu)6、與數(shù)據(jù)有關(guān)的尋址方式7、常用指令的格式與功能常用匯編指令數(shù)據(jù)傳送類M

2、OV PUSH POP IN OUT LEA 算術(shù)運(yùn)算類:ADD ADC INC SUB SBB DEC CMP MUL DIV邏輯指令:AND OR XOR TEST SHL SHR ROL ROR 控制轉(zhuǎn)移指令:JMP JNE JBE JL CALL LOOP INT RET常用偽指令:成對(duì)出現(xiàn)的偽指令:SEGMENTENDS PROCENDPMACROENDM 假設(shè):ASSUME 數(shù)據(jù)定義: DB DW LABEL 地址計(jì)數(shù)器:$ 重復(fù):DUP 結(jié)束:END 屬性操作符: PTR8、算術(shù)指令的執(zhí)行影響標(biāo)志寄存器中的條件標(biāo)志位(CF、OF)9、循環(huán)與分支程序結(jié)構(gòu)10、子程序結(jié)構(gòu)11、宏指令

3、定義12、中斷源、中斷向量表與中斷向量的關(guān)系13、用IN和OUT指令直接控制硬件14、鍵盤(pán)、CMOS時(shí)鐘、顯示器的工作原理15、常用DOS中斷( INT 21H 的1、2、9、10號(hào)功能調(diào)用)16、常用的BIOS中斷(INT 16H的0號(hào)功能,INT 10H 的2、3、6、7、9號(hào)功能)重點(diǎn)掌握的程序:二、十、十六進(jìn)制相互轉(zhuǎn)換的程序BCD碼轉(zhuǎn)換為十進(jìn)制的程序發(fā)聲程序大小寫(xiě)字母相互轉(zhuǎn)換的程序進(jìn)行累加求和的程序例題5.1 5.3 5.4 5.5 習(xí)題 5.21 5.26例題6.3 6.4 6.9 習(xí)題 6.4 6.5 6.7 例題7.1 習(xí)題 7.1例題8.1 8.5 習(xí)題 8.1 8.3 8.9

4、 8.11例題9.5 9.7 9.11 9.14 習(xí)題9.3 9.4 9.5 9.6 9.10匯編語(yǔ)言復(fù)習(xí)題 一、選擇題1. 下面關(guān)于匯編語(yǔ)言源程序的說(shuō)法中正確的是 ( B )A. 必須要有堆棧段 B. 一個(gè)程序可以有多個(gè)代碼段 C. 必須要有數(shù)據(jù)段 D. 只能有一個(gè)數(shù)據(jù)段2. 在匯編語(yǔ)言程序開(kāi)發(fā)中,一般要按順序經(jīng)過(guò)( B )過(guò)程。 a. 用文字編輯程序編寫(xiě)源程序 b. 用連接程序LINK連接程序 .ASM>. OBJ-> . EXE c. 用MASM宏匯編程序,編譯成目標(biāo)程序 d. 用DEBUG程序調(diào)試程序 A. abcd B. acbd C. adcb D. adbc3. 匯編

5、語(yǔ)言編譯程序MASM.EXE(編譯器)編譯的對(duì)象是( C )文件。A. .EXE B. .OBJ C. .ASM D. .DOC4. 匯編語(yǔ)言源程序經(jīng)過(guò)MASM匯編后產(chǎn)生( C )文件。A. .EXE B. .ASM C. .OBJ D. .DOC5. DEBUG調(diào)試程序時(shí)查看內(nèi)存單元內(nèi)容的命令是( A )A. D B. R C. A D. E6. DEBUG調(diào)試程序時(shí)查看寄存器內(nèi)容的命令是( B )A. D B. R C. U D. A 7. 8086CPU地址總線寬度為( C )位。 A、8 B、16 C、20 D、328. 8086CPU數(shù)據(jù)總線寬度為( B )位。 A、8 B、16 C

6、、20 D、329. 1個(gè)CPU的尋址能力為32KB,那么它的地址總線寬度為( B )。 A、13 B、15 C、18 D、32k10. 匯編語(yǔ)言源程序中定義段的偽指令是( D ) A. REPTENDM B. PROCENDP C. MACROENDM D. SEGMENTENDS 11. 匯編語(yǔ)言源程序中定義宏的偽指令是( C ) A. REPTENDM B. PROCENDP C. MACROENDM D. SEGMENTENDS 12. .對(duì)于下列程序段: AGAIN:MOV AL,SI MOV ES:DI,AL INC SI INC DI LOOP AGAIN 把 sI 中的內(nèi)容傳送

7、給 ES:DI也可用( A )指令完成同樣的功能。 A. REP MOVSB 串傳送 B. REP LODSB 從串取C. REP STOSB 存入串 D. REPE SCASB 串掃描13. 設(shè)SP初值為2000H,執(zhí)行指令“ PUSH  AX ”后,SP的值是( C )A. 1998H B. 1FFFH C. 1FFEH D. 2002H14. 設(shè)SP初值為2000H,執(zhí)行指令“ POP BX ”后,SP的值是( D )A. 1998H B. 1FFFH C. 1FFEH D. 2002H15. 執(zhí)行下列指令序列后,正確的結(jié)果是( A )MOV  AL,81H al =

8、 81hADD  AL,AL al = 81h + 81h = 02h , cf = 1ADC  AL,AL 02h + 02h + cf = 05h A. AL=05HB. AL=204HC. AL=04HD. AL=205H16. 下列指令被編譯時(shí)會(huì)出錯(cuò)的是( D ) mul的操作數(shù)不能為立即數(shù)A. MUL BX B. MUL CL C. MUL DAT1 D. MUL 5617. 與MOV  BX,OFFSET VAR指令完全等效的指令是(   B     )。 A、MOV  B

9、X,VAR B、LEA  BX,VAR C、LDS  BX,VAR D、MOV BX, SEG VAR18. 指令指針寄存器是( C )A. BP B. SP C. IP D. PSW 19. 下列寄存器組中在段內(nèi)尋址時(shí)可以提供偏移地址的寄存器組是( B )A. AX,BX,CX,DX B. BX,BP,SI,DI C. SP, IP, BP,DX D. CS,DS,ES,SS20. 下列數(shù)據(jù)段中:BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $ - BUF1 符號(hào)COUNT等價(jià)的值是( B )A. 6 B. 18 C. 16 D. 8

10、占用了18個(gè)字節(jié),其中 2 DUP (1,2)占用了2 * 2= 4個(gè)字節(jié),總共占用了3 * 6 = 18個(gè)字節(jié)21. 設(shè)數(shù)據(jù)段中已有: DA1 DB 12H,34H DA2 DW 56H,78H 下面有語(yǔ)法錯(cuò)誤的語(yǔ)句是( C )A. MOV AL, DA1 B. MOV WORD PTR DA1,AX C. MOV DA11,AX D. MOV BYTE PTR DA21,AL22. 指令 MOV BYTE PTR BX+SI , 00H 中目的操作數(shù)的尋址方式是 ( d ) A. 立即尋址 B. 寄存器尋址 C. 寄存器間接尋址 D. 基址變址尋址 23. 指令 MOV ES: BX ,

11、AL 中目的操作數(shù)的尋址方式是 ( c ) A. 直接尋址 B. 寄存器尋址 C. 寄存器間接尋址 D. 基址變址尋址 24. 條件轉(zhuǎn)移指令JB產(chǎn)生程序轉(zhuǎn)移的條件是( A ) A. CF=1 B. CF=0 C. CF=1和ZF=1 D. CF=1和ZF=025、若執(zhí)行SAL SI,CL后能將SI的內(nèi)容乘以8,則(CL) ( B ) A、2 B、3 C、4 D、8 26. 編輯匯編語(yǔ)言源程序時(shí),對(duì)于注釋語(yǔ)句必須用英文輸入法中的( B )來(lái)標(biāo)示。A. : B. ; C. , D. .27. 將AL高4位清0,應(yīng)執(zhí)行的指令是 (   B )  A. AND

12、AL,0F0H   B. AND AL,0FH         C. OR AL,0FH      D. TEST AL,0FH28. 若程序中定義了26B的數(shù)據(jù)段data,那么程序載入內(nèi)存,該 data段實(shí)際占用的內(nèi)存空間是( C )。 16的倍數(shù)A、 16 B B、26 B C、 32 B D、 64KB29.在8086CPU系統(tǒng)中一個(gè)段的容量最小為( A )。 A、16B B、64KB C、512KB D、1KB有數(shù)據(jù)時(shí)最小為16B,沒(méi)數(shù)據(jù)時(shí)最小為030. 下列地址信息與0020H:03E

13、FH確定的內(nèi)存地址不同的是( B )。 A、 5EFH B、 203H:00EFH C、 005EH:000FH D、 0002H:05CFH A C D 對(duì)應(yīng)的物理地址都是5EFH二、填空題1、完成下列數(shù)制轉(zhuǎn)換:11101010B= D = H2. 在存儲(chǔ)器分段管理中,物理地址需要_2_個(gè)16位寄存器來(lái)存儲(chǔ)。3. 對(duì)于指令FEES DW 100 DUP(0)LENGTH= 100 ,SIZE= 200B 。4. 設(shè)DS=2000H,BX=1256H,變量TABLE的偏移地址為20A1H,(232F7H)=3280H.下列指令分別執(zhí)行后,IP的值各是多少?(1)JMP  BX ; I

14、 P=_1256h_(2)JMP  TABLEBX ; IP_3280H_5. 設(shè)(DS)=2000H, 有下列數(shù)據(jù)段,請(qǐng)用十六進(jìn)制寫(xiě)出下列各字節(jié)單元的內(nèi)容:ORG 2100H 想知道org 是什么?百度一下TABLE DB 10, 3*5, 10H 占三個(gè)字節(jié)ADDRESS DD TABLE DD占四個(gè)字節(jié),地址為2000h:2100hARRAY DW 2 DUP(3827H, ?) 占4個(gè)字,8個(gè)字節(jié)(1) (2100H)=_10_       (2) (2103H)=  _00_ 

15、0;   (3) (2106H)=_20H_       (4) (210CH)= _38H_      這里的DS=14F8H ,(2106H)=14 題目DS=2000H ,所以 (2106H)=206. 已知X= -38D,Y= -64D,則 X-Y補(bǔ)=_1AH _(結(jié)果用十六進(jìn)制表示)7、設(shè) (DS)=2000H, (ES)=3000H,(SS)=4000H,(BX)=1000H, (BP)=1000H, (SI)=0001H,(DI)=0002H

16、,(21000H)=1234H, (21002H)=5678H,(31000H)=9ABCH, (31002H)=0DEF0H,(41000H)=3456H,(41002H)=789AH計(jì)算下列各指令中源操作數(shù)的物理地址,并指出指令執(zhí)行后AX寄存器的內(nèi)容。 (1) MOV AX, ES:1000H ; 物理地址PA=            (2) MOV AX,BP ; 物理地址PA=       (3) MOV AX, BXSI 物理地址PA=

17、        (AX)=       8計(jì)算機(jī)中8位二進(jìn)制有符號(hào)數(shù)(含一位符號(hào)位)的補(bǔ)碼表示范圍是 128127 9. 若機(jī)器進(jìn)行有符號(hào)數(shù)運(yùn)算,執(zhí)行指令:MOV AL,0F0H ADD AL,78H 則ADD指令執(zhí)行后:(CF)= 1 ,(OF)= 0 想知道結(jié)果也可以調(diào)試一下看看 10. 8086CPU允許有 256 個(gè)中斷源,其中定時(shí)器中斷的中斷類型號(hào)為 08H ,在中斷向量表中N類型對(duì)應(yīng)中斷向量的地址為 N × 4 。三、判斷下列指令的正誤1、MUL AL,

18、BL ( N ) 只有一個(gè)操作數(shù)2、MOV CS, BX ( n )3、PUSH AL ( N ) PUSH和POP操作都是以字為單位4、SHL AX,CX ( N ) 以為次數(shù)要放在cl中5、MOV AH,BYTE PTR SIDI ( N) SIDI兩個(gè)都為變址寄存器6、 OUT 03FCH, AX ( N )03FCH超過(guò)了255,必須用間接尋址,這里間接尋址的寄存器要用DX,Mov dx,03fchOut dx,ax7、 SUB AX,BX ( y )8、 AND AL, 0FH ( y )9、 MOV SI,DI ( n ) 兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器10、 MOV BX, 0FFH

19、 ( n )11、 MUL 0AH ( n )12、 CALL FAR PTR S ( y )13、 ADD DS, AX ( n )段寄存器不可以用在算術(shù)指令中14、 ADD AL,100H ( n )類型不一致15、 MOV BX, BX ( y )16、 INT 1000H ( n )17、 JMP SHORT PTR S ( n )18、 0R AL, 0FFFH ( n ) 19、 CALL BX ( y )20、 IN 03H, AX ( n ) 四、程序分析題1. 閱讀下面程序段,回答問(wèn)題。 A  DB  0F8H B DB  3 DUP(

20、?)LEA  DI,BMOV  CX,3MOV  AL,A LOP: SAR  AL,1 MOV  DI,AL INC  DI LOOP  LOP 上述程序段運(yùn)行后,從B單元開(kāi)始依次存放的數(shù)據(jù)是多少?FCFE FFF8H=1111 1000 右移一位變?yōu)?1111 1100 = FC再右移一位變?yōu)?1111 1110 = FE再右移一位變?yōu)?1111 1111 = FF調(diào)試結(jié)果:2、分析下面程序段的功能DATA SEGMENTS9 DB 0,1,2,3,4,5,6,7,8,9DATA ENDSLEA SI,S9LE

21、A DI,S9+1MOV CX,5LOP: MOV AL,SIXCHG AL,DIMOV SI,ALADD SI,2ADD DI,2LOOP LOP上述程序段運(yùn)行后,S9開(kāi)始的10個(gè)字節(jié)存儲(chǔ)單元內(nèi)容是什么?01 00 03 02 05 04 07 06 09 083、已知BUF開(kāi)始的數(shù)據(jù)區(qū)中存放有10個(gè)大、小寫(xiě)字母,分析下面程序段完成的功能是什么? MOV  CX,10 LEA  BX,BUF K2:MOV  AL,BX CMP  AL,Z JBE  K1 SUB  AL,20H (20H=32,大小寫(xiě)字母相差32) MOV 

22、; BX,AL K1:INC  BX LOOP  K2 實(shí)現(xiàn)功能:把小寫(xiě)字母變?yōu)榇髮?xiě)字母4. 分析下面程序段完成的功能是什么? ;(DX:AX)聯(lián)合存放了一個(gè)32位數(shù)據(jù)MOV CL, 4SHL DX, CL DL=*0000MOV BL, AHSHL AX, CL AL=*0000SHR BL, CL BL即AH的內(nèi)容,AH=0000*,四個(gè)星號(hào)為原來(lái)AX的高四位OR DL, BL 功能:把a(bǔ)x的高四位寫(xiě)入到 dx 的低四位5、分析下面程序段完成的功能是什么? MOV CX,10LOP1:MOV AH,1 INT 21H PUSH AX LOOP LOP1 MOV CX,1

23、0LOP2: POP DX MOV AH,2 INT 21H LOOP LOP2 功能:把輸入的字符逆向輸出6、以下是二進(jìn)制數(shù)(bx)到十六進(jìn)制數(shù)轉(zhuǎn)換并顯示程序的源文件BINIHEX.ASM,閱讀并完成該程序。 START : MOV CH, 4 bx為16位,bx要循環(huán)4次,用ch來(lái)計(jì)次數(shù)ROTATE: mov cl,4 ROL BX, CL MOV AL, BL bx循環(huán)左移后,原來(lái)的高四位變?yōu)榈退奈?,把bl 的 值送給al, 以免后面的操作影響bx 的值 And al, 0fh 與0fh 相與,只保留低四位 ADD AL, 30H 轉(zhuǎn)換為 ASII 碼 CMP AL, 3AH ASII碼

24、大于 3Ah 則al 的值大于 9,若小于3Ah,直接輸出 JL PRINTIT Add al,07h ASII碼大于3Ah , A的ASII碼為41h, 所以要加上7,可以輸出相應(yīng)的ABCD.PRINTIT : MOV DL, AL Mov ah, 02h INT 21H Dec ch JNZ ROTATE ch為零時(shí)跳出循環(huán)MOV AH, 4CHINT 21H7、以下是子程序BCDIASC,請(qǐng)閱讀程序并完成填空。;功能:將十進(jìn)制的兩位數(shù)的BCD碼轉(zhuǎn)換為ASCII碼并在屏幕中間顯示.;參數(shù):(AL)= 十進(jìn)制的兩位數(shù)的BCD碼,無(wú)出口參數(shù)BCDIASC : MOV AH, AL MOV CL

25、, 4 shr ah, cl ;將AH的高4位移至低4位 And al, 0fh ;保留AL的低4位 ADD AH, 30H ;轉(zhuǎn)變?yōu)锳SCII碼 Add al, 30h MOV BX,0B800H Mov es , bx MOV BYTE PTR ES:160*12+40*2 ,AH ;顯示十位數(shù) MOV BYTE PTR ES:160*12+40*2+2 ,AL ;顯示個(gè)位數(shù) ret ;子程序結(jié)束,返回主程序8. 下面程序通過(guò)子程序調(diào)用,將數(shù)據(jù)段中字?jǐn)?shù)組ARRAY的COUNT個(gè)元素求和,并將結(jié)果送SUM單元(COUNT、SUM都是字單元),分析這段程序后補(bǔ)充完整程序中的空格部分。MOV B

26、X, OFFSET SUMPUSH BXMOV BX, OFFSET ARRAYPUSH BXMOV BX, OFFSET COUNTPUSH BXCALL SUMPRO ;調(diào)用子程序計(jì)算.SUMPRO PROC NEARPUSH AXPUSH CXPUSH SIPUSH DIPUSH BPMOV BP, SPMOV SI, BP+ 14       MOV DI, BP+    12 MOV CX, DIMOV DI, BP+   16    

27、  XOR AX, AXNEXT : ADD AX, SILOOP NEXTMOV   DI , AX POP    BP    POP DIPOP SIPOP CXPOP AXRET SUMPRO ENDP 請(qǐng)畫(huà)出用堆棧傳送參數(shù)地址時(shí),堆棧最滿時(shí)的狀態(tài)。五、編程題1、從BUF1單元開(kāi)始存放有10個(gè)字節(jié)的字符串,使用串傳送指令編寫(xiě)指令序列將BUF1中的數(shù)據(jù)復(fù)制到BUF2開(kāi)始的10個(gè)字節(jié)單元。 lea si,BUF1 ;si的段地址為dslea di,BUF2 ;di的段地址為es mov cx,10 cld rep movsb 2、 編寫(xiě)指令序列,完成用空格符(20H)清除某一字符區(qū)的工作,字符區(qū)首地址為ARRAY,其長(zhǎng)度為COUNT,ARRAY和COUNT均為字節(jié)存儲(chǔ)單元。 lea si,ARRAYmov al,20hmov cx,10cld rep stosb3 編寫(xiě)一個(gè)顯示字符串的宏定義PRINT, 字符串以”$”作為結(jié)束符號(hào),字符串首地址STRADDR為變?cè)?PRINT macro STRADDR

溫馨提示

  • 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)論