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

下載本文檔

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

文檔簡(jiǎn)介

1、匯編復(fù)習(xí)PAGE 匯編語(yǔ)言期末復(fù)習(xí)題第一部分:基礎(chǔ)知識(shí)1、在匯編語(yǔ)言程序的開發(fā)過程中使用宏功能的順序是( )。 A、宏定義,宏調(diào)用B、宏定義,宏展開C、宏定義,宏調(diào)用,宏展開D、宏定義,宏展開,宏調(diào)用2、匯編語(yǔ)言源程序中,每個(gè)語(yǔ)句由四項(xiàng)組成,如語(yǔ)句要完成一定功能,那么該語(yǔ)句中不可省略的項(xiàng)是( )。 A、名字項(xiàng)B、操作項(xiàng)C、操作數(shù)項(xiàng)D、注釋項(xiàng)3、可屏蔽中斷就是它的請(qǐng)求是否被CPU響應(yīng)要受 ( )的控制。 4、使用LINK連接命令,執(zhí)行后可生成文件的擴(kuò)展名為( )。 5、在寄存器間接尋址中,如果指令中指定的寄存器為BP,則操作數(shù)在 段中,段地址在 寄存器中。 6、注釋項(xiàng)用于說明程序段或是一條和幾條

2、指令的功能,一般用 表示注釋的開始。 7、DOS系統(tǒng)功能調(diào)用方式為:(1)置入口參數(shù);(2)中斷程序編號(hào)送 寄存器后執(zhí)行INT 21H。 8、通常主程序和子程序間參數(shù)傳送的方法有三種: 、 、 。 9、 是CPU暫停當(dāng)前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行處理緊急事務(wù)的程序,并在該事務(wù)處理完后能自動(dòng)恢復(fù)執(zhí)行原先程序的過程。在此,稱引起緊急事務(wù)的事件為 。 10、在字符串操作指令中,DS 指向源串,ES 指向目的串。 11、計(jì)算機(jī)系統(tǒng)通過 與外圍設(shè)備通信。 12、鍵盤I/O、顯示I/O和打印I/O分別對(duì)應(yīng) 、 和 號(hào)中斷。 13、字符顯示模式緩沖區(qū)中的一個(gè)字對(duì)應(yīng)于屏幕上的一個(gè)字符。每個(gè)字的第一個(gè)字節(jié)為顯示字符的

3、 ,第二個(gè)字節(jié)為顯示字符的 。 14、簡(jiǎn)述上機(jī)運(yùn)行匯編語(yǔ)言程序的過程。 15、簡(jiǎn)述程序中指令和偽指令的區(qū)別。 16、十六進(jìn)制數(shù)88H,可表示成下面幾種形式,請(qǐng)找出錯(cuò)誤的表示( )。 無(wú)符號(hào)十進(jìn)制數(shù)136 帶符號(hào)十進(jìn)制數(shù)120 壓縮型BCD碼十進(jìn)制數(shù)88 8位二進(jìn)制數(shù)8的補(bǔ)碼表示 17、指令指針寄存器是 。 18、匯編語(yǔ)言語(yǔ)句格式中對(duì)名字項(xiàng)的規(guī)定如下,請(qǐng)找出其中錯(cuò)誤的說法( ) A名字的第一個(gè)字符可以是大寫英文字母及小寫英文字母B名字的第一個(gè)字符可以是字母、數(shù)字及、_ C名字的有效長(zhǎng)度31個(gè)字符D在名字中不允許出現(xiàn)$19、CS寄存器屬于 。 20、已知物理地址(371F0H)=12H,(371F

4、1H)=34H,(371F2H)=56H,如從地址371F0H中取出一個(gè)字的內(nèi)容是 。 21、一個(gè)有16個(gè)字的數(shù)據(jù)區(qū),它的起始地址是70A0HDDF6H,則這個(gè)數(shù)據(jù)區(qū)最末一個(gè)字單元的物理地址是 。 22、簡(jiǎn)述上機(jī)運(yùn)行匯編語(yǔ)言程序的過程。 第二部分:8086/8088的尋址方式和指令系統(tǒng)1、寫出指令屬于基址加變址尋址方式的是 。 2、當(dāng)程序順序執(zhí)行時(shí),每取一條指令語(yǔ)句,IP指針增加的值是( )。 A1 B2 C3 D由指令長(zhǎng)度決定的3、下列屬于合法的指令是( ) AMOV DS,ES BMOV SI,DI CMOV AX,BL DMOV DI,BL4、若AX=349DH,CX=000FH。則執(zhí)行

5、指令A(yù)ND AX,CX后,AX的值是 。 5、設(shè)DS=8225H,DI=3942H,指令NEG BYTE PTRDI操作數(shù)的物理地址是 6、下列寄存器組中在段內(nèi)尋址時(shí)可以提供偏移地址的寄存器組是( ) A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DXD、CS,DS,ES,SS7、對(duì)寄存器AX的內(nèi)容乘以4的正確指令序列是 。 8、執(zhí)行INC指令除對(duì)SF、ZF有影響外,還要影響的標(biāo)志位是 。 9、設(shè)DH=10H,執(zhí)行NEG DH指令后,正確的結(jié)果是 。 10、下列傳送指令中有語(yǔ)法錯(cuò)誤的是( )。 A、MOV CS,AX B、MOV DS,AX C、MOV SS,A

6、X D、MOV ES,AX11、下面指令執(zhí)行后,改變AL寄存器內(nèi)容的指令是()。 A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL12、執(zhí)行除法指令后,影響的標(biāo)志位是 。 13、執(zhí)行下面指令序列后,結(jié)果是 。 MOV AL,82HCBW14、與MOV BX,OFFSET VAR指令完全等效的指令是( )。 A、MOV BX,VAR B、LDS BX,VAR C、LES BX,VARD、LEA BX,VAR15、在段定義時(shí),如果定位類型用戶未選擇,就表示是隱含類型,其隱含類型是 。 16、MOV SP,3210HPUSH AX 執(zhí)行上述指令序列后,

7、SP寄存器的值是 。 17、BUF DW 10H DUP(3 DUP(2,10H),3,5)上述語(yǔ)句匯編后,為變量BUF分配的存儲(chǔ)單元字節(jié)數(shù)是 。 18、MOV AX,7896H ADD AL,AH 上述指令執(zhí)行后,標(biāo)志位CF和OF的值是 。 19、完成將帶符號(hào)數(shù)AX的內(nèi)容除以2的正確指令是 。 20、在匯編語(yǔ)言程序中,對(duì)END語(yǔ)句的敘述正確的是( )。 AEND語(yǔ)句是一可執(zhí)行語(yǔ)句 BEND語(yǔ)句表示程序執(zhí)行到此結(jié)束 CEND語(yǔ)句表示源程序到此結(jié)束 DEND語(yǔ)句在匯編后要產(chǎn)生機(jī)器碼21、已知BX=2000H,SI=1234H,則指令MOV AX,BX+SI+2的源操作在 中。 22、下面指令序列

8、執(zhí)行后完成的運(yùn)算,正確的算術(shù)表達(dá)式應(yīng)是 。 MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL 23、已知(AX)=1234H,執(zhí)行下述三條指令后,(AX)= ( )。 MOV BX,AXNEG BXADD AX,BXA1234HB0EDCCHC6DCCHD000H24、將DX的內(nèi)容除以2,正確的指令是( )。 ADIV 2BDIV DX,2CSAR DX,1DSHL DX,125、有如下指令序列: ORG 40H DA1 DW 0AB12H,8574H MOV AX,DA1 MOV BX,OFFSET DA1 上述指令執(zhí)行后,寄存器AX和BX的值

9、分別為 。26、下列數(shù)值表達(dá)式和地址表達(dá)式中,錯(cuò)誤的是( )。 AMOV AL,8*14+4 BMOV SI,OFFSET BUF+13 CMOV CX,NUM2-NUM1 DMOV CX,NUM2+NUM127、數(shù)據(jù)段定義如下: X1 DB 10H,50,1 X2 DW 10H,20,3 X3 DD ? COUNT EQU X3-X1 變量COUNT的值是 。28、為使CX=-1時(shí),轉(zhuǎn)至MINUS而編制了一指令序列,其中錯(cuò)誤的序列是( )。 A、INC CX JZ MINUSB、SUB CX,OFFFFH JZ MINUSC、AND CX,OFFFFH JZ MINUSD、XOR CX,OF

10、FFFH JZ MINUS29、AL和VAR字節(jié)單元中分別存放一個(gè)帶符號(hào)數(shù),執(zhí)行CMP AL,VAR時(shí),如ALVAR,那么溢出位和符號(hào)位 的關(guān)系是 。 30、下面是關(guān)于匯編語(yǔ)言程序中使用RET的描述,不正確的是( )。 每一個(gè)子程序中允許有多條RET指令。 B每一個(gè)子程序結(jié)束之前一定要有一條RET指令。C每一個(gè)子程序中只允許有一條RET指令。 D以過程形式表示的代碼段,一定有RET指令存在。31、在串操作指令前使用重復(fù)前綴指令REPE,終止串的重復(fù)操作條件是 。 32、用MOV指令將十進(jìn)制64以組合型BCD碼格式送入AX,正確使用的指令是 。 33、重復(fù)前綴指令REP的重復(fù)次數(shù)由 決定。 34

11、、DR1 DB 10H,30H DR2 DW 10H DUP(0,2 DUP(2) MOV BL,LENGTH DR1 MOV CL,LENGTH DR2 請(qǐng)問指令執(zhí)行后,BL和CL的值分別為 和 。 35、設(shè)(SP)=100H,(AX)=0FFFFH STC PUSH AX ADC AX,0 PUSH AX POP BX 上述程序段運(yùn)行后,(BX)= ,(SP)= 。 36、假設(shè)數(shù)據(jù)段定義如下: DA1 DW C,D DA2 DB 18 DUP(?) DA3 DW $DA2 MOV BX,DA3MOV AX,DA1上述指令執(zhí)行后,BX寄存器中的內(nèi)容是 ,AH寄存器中的內(nèi)容是 ,AL寄存器中的

12、內(nèi)容是 。 37、現(xiàn)有如下數(shù)據(jù)段 DATA SEGMENT ARRAY1 DB 1,26,3456 ARRAY2 DW 7,89H,10 VAL EQU ARRAY2-ARRAY1 DATA ENDS 請(qǐng)問:該數(shù)據(jù)段已占有 字節(jié)的存儲(chǔ)空間。 38、當(dāng)執(zhí)行指令A(yù)DD AX,BX后,若AX的內(nèi)容為2BA0H,設(shè)置的奇偶標(biāo)志位PF1,下面的敘述正確的是()。 表示結(jié)果中含1的個(gè)數(shù)為偶數(shù) 表示結(jié)果中含1的個(gè)數(shù)為奇數(shù) 表示該數(shù)為偶數(shù) 表示結(jié)果中低八位含1的個(gè)數(shù)為偶數(shù) 39、AND,OR,XOR,NOT為四條邏輯運(yùn)算指令,下面的解釋正確的是() A指令XOR AX,AX執(zhí)行后,AX內(nèi)容不變,但設(shè)置了標(biāo)志位

13、B指令OR DX,1000H執(zhí)行后,將DX最高位置1,其余各位置0C指令A(yù)ND AX,OFH執(zhí)行后,分離出AL低四位DNOT AX,執(zhí)行后,將AX清040、完成對(duì)CL寄存器的內(nèi)容乘以4的正確操作是() AROL CL,1 BMUL 4ROL CL,1 CSHL CL,1 DMOV CL,2SHL CL,1 SHL CL,CL41、下面各傳送指令中,正確的是() AMOV DI,SIBMOVDX+DI,AL CMOV WORD PTR BX,0100H DMOV AL,BX42、要實(shí)現(xiàn)使BETA的值為56,應(yīng)采用語(yǔ)句為 43、REPZ CMPSW指令,重復(fù)執(zhí)行的終止條件是 44、下面程序段執(zhí)行后

14、,AL中的內(nèi)容是() MOV AX,8833HADD AL,AHDAA45、完成將累加器AL清零,并使進(jìn)位標(biāo)志CF清零,下面錯(cuò)誤的指令是( )。 MOV AL,00H AND AL,00H XOR AL,AL SUB AL,AL 46、下列指令執(zhí)行后總是使CF0,OF0的是( ) 。 47、完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。 MOV AX,BX MOV BX,AX PUSH AX POP BX MOV CX,AX MOV AX,BX MOV BX,CX 48、設(shè)AH0,AL06H,BL09H,執(zhí)行指令 ADD AL,BL 之后,其結(jié)果應(yīng)是 。 49、設(shè)AL0B4H

15、,BL11H,指令“MUL BL”和指令“IMUL BL”分別執(zhí)行后OF,CF的值為 。 50、在串操作指令前使用重復(fù)前綴指令REPE,終止串的重復(fù)操作條件是 。 51、下面指令中,合理而有意義的指令是()。 REP LODSB REP SCASB REP CMPSB REP MOVSB 52、在下列串操作指令中,同時(shí)使用源串和目的串地址指針的指令是() ASTOSWBLODSW CSCASW DCMPSW53、AL=0AH,下列指令執(zhí)行后能使AL=05H的是() ANOT ALBAND AL,0FH CXOR AL,0FHDOR AL,0FH54、DA1 DWAB,CD,EF,GH MOV

16、AX,DA1+3 指令執(zhí)行后AX中的內(nèi)容是 。 55、在匯編語(yǔ)言程序中,對(duì)END語(yǔ)句的敘述正確的是()。 END語(yǔ)句是一可執(zhí)行語(yǔ)句 END語(yǔ)句表示程序執(zhí)行到此結(jié)束 END語(yǔ)句表示源程序到此結(jié)束 END語(yǔ)句在匯編后要產(chǎn)生機(jī)器碼 56、下面的數(shù)據(jù)傳送指令中,錯(cuò)誤的操作是()。 MOV SS:BX+DI,1000H MOV DX,1000H MOV WORD PTRBX,1000H MOV DS,2000H 57、下面指令執(zhí)行后,變量DAB中的內(nèi)容是 。 DAW DW2A05H DAB DB 0FAH : MOV AL,BYTE PRT DAW SUB DAB,AL 58、執(zhí)行下列指令后,正確的結(jié)果

17、是()。 MOV AL,100 MOV BL,2 AL100H BL02H AL64H BL0FEH AL64H BL82H AL100H BL0FEH 59、設(shè)數(shù)據(jù)段中已有: DA1 DB 12H,34H DA2 DW 56H,78H 下面有語(yǔ)法錯(cuò)誤的語(yǔ)句是 。 ADR1 DW DA1 MOV DA11,AX MOV BYTE PTR DA21,AL MOV WORD PTR DA11,AX 60、 DATA SEGMENT TA1 DW 0102H,0304H,0506H TA2 DB 02H,03H,04H : MOV BX,DS:0006H AND BX,0FFH AND BH,BX

18、上述指令序列運(yùn)行后,BX的內(nèi)容是 。 61、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作數(shù)的有效地址EA為_,其物理地址為_。 62、如JMP指令采用段間間接尋址,那么由4個(gè)相鄰字節(jié)單元中存放有轉(zhuǎn)移地址,其中前兩個(gè)字節(jié)存放的是_ _,而后兩個(gè)字節(jié)存放的是_ _。 63、在串操作程序中,通常在重復(fù)前綴指令REPZ或REPNZ后,選用的串操作指令是_ _或_ _才有實(shí)際意義。 64、已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分別指出下面各指令中存儲(chǔ)器操作數(shù)的物理地址。 (1)MOV AL,BX (2

19、)MOV CS:BX+DI,AH 65、0P1 DB 1,20P2 DW 3412H,5678HMOV AX,OP1+1;字單元(OP1+1) AXMOV BL,OP2+1;字節(jié)單元(OP2+1) BL上述二條傳送語(yǔ)句有語(yǔ)法錯(cuò)誤,請(qǐng)根據(jù)注釋字段的說明,將其改正。 66、下列語(yǔ)句在存儲(chǔ)器中分別為變量分配多少字節(jié)? (1)AD2 DW 10 DUP(?),10 (2)AD3 DD 100 DUP(?) 67、簡(jiǎn)述下面兩條指令分別是什么語(yǔ)法錯(cuò)誤? MOV BX,SI MOV AX,DL 68、在指令系統(tǒng)中,段內(nèi)、段間返回均為RET指令。試回答: (1)執(zhí)行段內(nèi)返回RET指令時(shí),執(zhí)行的操作是: (2)

20、執(zhí)行段間返回RET指令時(shí),執(zhí)行的操作是: 69、ARY DW 10 DUP(?)MOV AL,TYPE ARYMOV BL,LENGTH ARYMOV CL,SIZE ARY上述MOV指令序列執(zhí)行后的結(jié)果是什么? 70、設(shè)某數(shù)據(jù)段: DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB COMPUTERDB 0AH,0DHCOUNT EQU $-DA1DA2 DWCO,MP,UT,ERDATA ENDS試回答:(1)DA1的偏移地址是: (2)COUNT的值是 (3)DA2+5字節(jié)單元的內(nèi)容是 _71、已知AX=0FF60H,CF=1 MOV DX,96XO

21、R DH,0FFHSBB AX,DX執(zhí)行上述指令序列后,AX=_,CF=_。 72、設(shè)寄存器AL,BL,CL中內(nèi)容均為76H,XOR AL,0FHAND BL,0FHOR CL,0FH執(zhí)行上述指令序列后,AL=_,BL=_ _CL=_。 73、已知AX=0A33AH,DX=0F0F0HAND AH,DLXOR AL,DHNEG AHNOT AL執(zhí)行上述指令序列后,AH=_,AL=_。 74、假定(DX)=10111001B,(CL)=0.3,(CF)=1,試確定下列各條指令單獨(dú)執(zhí)行后,DX中的值。 SHR DX,1 (2)RCR DL,1 (3)RCL DX,CL 75、寫出完成下述功能的程序

22、段: 傳送25H到AL寄存器 將AL的內(nèi)容乘以2 傳送15H到BL寄存器AL的內(nèi)容乘以BL的內(nèi)容并請(qǐng)寫出最后(AX)=? 76、寫一程序段,求雙字長(zhǎng)數(shù)DXbX的相反數(shù)。 77、在某子程序的開始處要保護(hù)AX,BX,CX,DX四個(gè)寄存器信息,在子程序結(jié)束時(shí)要恢復(fù)這四個(gè)寄存器信息。例如: PUSH AX PUSH BX 保護(hù)現(xiàn)場(chǎng) PUSH CX / PUSH DX/ : 恢復(fù)現(xiàn)場(chǎng) 試寫出恢復(fù)現(xiàn)場(chǎng)時(shí)的指令序列。 78、完成下列操作,選用什么指令: 將AX的內(nèi)容,減去0520H,和上次運(yùn)算的借位; (2)將變量名TABL的段地址送AX; 79、D1 DB 20H DUP(?) D2 DW D1 請(qǐng)寫出用

23、一條指令實(shí)現(xiàn)取D1的偏移地址=SI中的三種方法。 80、A DW 1234H B DW 5678H : PUSH A PUSH B POP A POP B 試回答: 上述程序段執(zhí)行后(A) ,(B) 設(shè)執(zhí)行前SP200H,執(zhí)行后SP 81、現(xiàn)有下列程序段: MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 試問上述程序段運(yùn)行后, (AX) (BL) (DX) 82、分析下面程序段, MOV AL,200 SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,C

24、L ADD AL,BL 試問程序段執(zhí)行后(BL) (AL)= 83、DA3 EQU WORD PTR DA4DA4 DB 0ABH,89HSHR DA3,1MOV DX,DA3SHL DA4,1MOV CX,DA3 上述程序段運(yùn)行后,CX=_,DX=_ _。 84、設(shè)(SP)=100H,(AX)=0FFFFH STC PUSH AX ADC AX,0 PUSH AX POP BX 上述程序段運(yùn)行后,(BX)= ,(SP)= 。 85、STRING DB ABCDEFGHIJ : MOV AH,01 ;從鍵盤輸入字符19 INT 21H AND AL,0FH DEC AL XOR AH,AH M

25、OV BX,OFFSET STRING ADD BX,AX MOV BL,BX MOV AH,02H ;顯示輸出 INT 21H : 試回答:(1)上述程序段的功能是什么? (2)如從鍵盤輸入字符4,程序段有什么結(jié)果? 86、已知:BX=4567H NEG BX INC BX NEG BX DEC BX 程序段執(zhí)行后,BX=_,CF=_。 87、已知數(shù)據(jù)段中定義 DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1 MOV CL,DAT1+3 當(dāng)程序段執(zhí)行完后AX=_,CX=_。 88、DA1 DB 83H,72H,61H,94H,5AH

26、MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列執(zhí)行后,AL=_,CL=_。 89、現(xiàn)有如下程序段: DATA SEGMENT DA3 EQU 1234HORG 0020H DA4 EQU -DA2DA1 DW 12H,23H DA5 DB 31H,32HDA2 DB 11H,21H DATA ENDS請(qǐng)回答:(1)該程序段已占有的存儲(chǔ)字節(jié)數(shù)是多少? (2)符號(hào)名DA4的值是多少?符號(hào)名DA5的值是多少? 90、執(zhí)行下列程序段后,回答問題。 ORG 1221H MOV BX,OFFSET NUMNUM DW 12H MOV

27、 CL,BYTE PTR NUM+1 MOV CH,TYPE NUMMOV AX,NUM HLT請(qǐng)問:(AX)=_,(BX)=_,(CX)=_。91、執(zhí)行下列指令后AX、BX寄存器的內(nèi)容? MOV SI,10HMOV AX,1234HMOV SI+12H,AXLEA BX,SIMOV SI+14H,BX 92、試編制一程序段,用串操作指令實(shí)現(xiàn)以DA_BY為首址的20H個(gè)字節(jié)單元中存放相同字符Y(設(shè)DA_BY存儲(chǔ)區(qū)已有ES指向)。 93、在BUF1和BUF2兩個(gè)數(shù)據(jù)區(qū)中,各定義有10個(gè)帶符號(hào)字?jǐn)?shù)據(jù),試編制一完整的源程序,求它們對(duì)應(yīng)項(xiàng)的絕對(duì)值之和,并將和數(shù)存入以SUM為首址的數(shù)據(jù)區(qū)中。 94、編制

28、程序段實(shí)現(xiàn):將AX寄存器中的16位二進(jìn)制數(shù)分成四組,每組4位,然后把這4組數(shù)分別放在AL、BL、CL、和DL中。 95、在NUMW單元存放有一個(gè)0-65535范圍內(nèi)的整數(shù),將該數(shù)除以500,商和余數(shù)分別存入QU1和REM單元,請(qǐng)?jiān)诳招刑幐魈钌弦粭l指令完善該程序。 MOV AX,NUMW_ _XOR DX,DXDIV BXMOV QUI,AX_ _96、已知數(shù)據(jù)段中定義DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1MOV CL,DAT1+3 當(dāng)程序段執(zhí)行完后AX=_,CX=_。 97、DA1 DB 83H,72H,61H,94H,5AH

29、 MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列執(zhí)行后,AL=_,CL=_。 98、DA3 EQU WORD PTR DA4DA4 DB 0ABH,89HSHR DA3,1MOV DX,DA3SHL DA4,1MOV CX,DA3上述程序段運(yùn)行后,CX=_,DX=_。 99、編制完整程序?qū)崿F(xiàn)下列算式:W=X+Y+36-Z。設(shè)X、Y、Z、W均為雙字長(zhǎng)數(shù)據(jù),各自的低十六位數(shù)和高十六位數(shù)分別存放在X、X+2、Y、Y+2、Z、Z+2的存儲(chǔ)單元中,結(jié)果的低十六位字和高十六位字分別存放在W和W2兩個(gè)單元中。 第三部分:8086匯編語(yǔ)

30、言程序格式1、指令JMP FAR PTR DONE屬于 。 2、下列敘述正確的是( )。 A對(duì)兩個(gè)無(wú)符號(hào)數(shù)進(jìn)行比較采用CMP指令,對(duì)兩個(gè)有符號(hào)數(shù)比較用CMPS指令B對(duì)兩個(gè)無(wú)符號(hào)數(shù)進(jìn)行比較采用CMPS指令,對(duì)兩個(gè)有符號(hào)數(shù)比較用CMP指令C對(duì)無(wú)符號(hào)數(shù)條件轉(zhuǎn)移采用JAE/JNB指令,對(duì)有符號(hào)數(shù)條件轉(zhuǎn)移用JGE/JNL指令D對(duì)無(wú)符號(hào)數(shù)條件轉(zhuǎn)移采用JGE/JNL指令,對(duì)有符號(hào)數(shù)條件轉(zhuǎn)移用JAE/JNB指令3、一個(gè)有128個(gè)字的數(shù)據(jù)區(qū),它的起始地址為12ABH:00ABH,請(qǐng)給出這個(gè)數(shù)據(jù)區(qū)最末一個(gè)字單元的物理地址是 。 4、某存儲(chǔ)單元的物理地址是12345H,可以作為它的段地址有( ) A2345H B1

31、2345HC12340HD1234H5、在執(zhí)行DAA指令,當(dāng)高四位BCD碼校正時(shí)產(chǎn)生進(jìn)位,如要把此進(jìn)位值送入AH中,對(duì)這進(jìn)位值的操作應(yīng)是 6、執(zhí)行后使BX=0的同時(shí)也使CF=0,OF=0的指令是 7、在執(zhí)行下列指令時(shí),需要使用段寄存器DS的指令是() ASTOSW BADD AL,CLCNEG BXDINC DABX8、無(wú)論BH中原有的數(shù)是奇數(shù)或偶數(shù),若要使BH中的數(shù)一定為奇數(shù),應(yīng)執(zhí)行的指令是 9、比較兩個(gè)帶符號(hào)的數(shù)A、B,當(dāng)A=B時(shí)程序轉(zhuǎn)移,測(cè)試的條件為 10、使用DOS系統(tǒng)功能調(diào)用時(shí),使用的軟中斷指令是() AINT 21 BINT 10HCINT 16H DINT 21H11、十六進(jìn)制數(shù)

32、0FFF8H表示的十進(jìn)制正數(shù)為_,表示的十進(jìn)制負(fù)數(shù)為_。 12、CPU的標(biāo)志寄存器中標(biāo)志位,可以分為兩大類,其中一類稱為_ _標(biāo)志位,另一類稱為_ _標(biāo)志位。 13、當(dāng)標(biāo)志位_=1時(shí)表示無(wú)符號(hào)數(shù)運(yùn)算產(chǎn)生溢出,而當(dāng)標(biāo)志位_=1是表示帶符號(hào)數(shù)運(yùn)算產(chǎn)生溢出。 14、在程序執(zhí)行過程中,IP寄存器中始終保存的是 。 15、PSW寄存器中共有_位條件狀態(tài)位,有_位控制狀態(tài)位。 16、串指令中的目的操作數(shù)地址是由_ _提供。 17、8086CPU在基址加變址的尋址方式中,變址寄存器可以為 。 18、什么叫尋址方式?常用的尋址方式有哪些? 第四部分:順序程序設(shè)計(jì)1、編寫分支程序,在進(jìn)行條件判斷前,可用指令構(gòu)成

33、條件,其中不能形成條件的指令有( )。A、CMPB、SUBC、ANDD、MOV第五部分:分支程序設(shè)計(jì)1、檢查二個(gè)無(wú)符號(hào)數(shù)的關(guān)系,若要實(shí)現(xiàn)ALBL時(shí)分支去LOP1處,那么在“CMP AL,BL”指令后應(yīng)跟的分支指令是 2、下面指令序列測(cè)試BH中的數(shù)是否為奇數(shù),若為奇數(shù)則轉(zhuǎn)移至K1處,橫線處的指令應(yīng)為 。 TEST BH,01H K1 3、測(cè)試BL寄存器內(nèi)容是否與數(shù)據(jù)4FH相等,若相等則轉(zhuǎn)NEXT處執(zhí)行,可實(shí)現(xiàn)的方法是()。 TEST BL,4FH JZ NEXT XOR BL,4FH JZ NEXT AND BL,4FH JZ NEXT OR BL,4FH JZ NEXT 4、當(dāng)一個(gè)帶符號(hào)數(shù)大于

34、0FBH時(shí)程序轉(zhuǎn)移,需選用的條件轉(zhuǎn)移指令是 。 5、 MOV BL,64H MOV CL,03H XOR AX,AXAGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN問:(1)該程序段完成的功能是: (2)AX=_。6、 MOV DL,AL NOT DL TEST DL,04H JE NEXT NEXT: 若上述程序段執(zhí)行時(shí)產(chǎn)生分支,說明AL中的數(shù)第幾位一定為1?程序段執(zhí)行后CF是多少? 7、設(shè)AX,BX中的數(shù)一個(gè)為正數(shù),一個(gè)為負(fù)數(shù),下面程序段完成將正數(shù)送到PLW單元中存放,請(qǐng)將程序中所缺指令語(yǔ)句補(bǔ)上。 TEST AX,8000H MOV PLW,BX JMP

35、DONE K1: DONE: 8、下面程序段是判斷寄存器AH和AL中第3位是相同,如相同,AH置0,否則AH置全1。試把空白處填上適當(dāng)指令。 _ _AND AH,08H_ _MOV AH,OFFHJMP NEXTZERO:MOV AH,0NEXT:9、以BUF為首址的字節(jié)單元中,存放了COUNT個(gè)無(wú)符號(hào)數(shù),下面程序段是找出其中最大數(shù)并送入MAX單元中。 BUF DB 5,6,7,58H,62,45H,127,COUNT EQU $-BUFMAX DB?MON BX,OFFSET BUFMOV CX,COUNT-1MOV AL,BXLOP1:INC BX_ _JAE NEXTMOV AL,BXN

36、EXT:DEC CX_ _MOV MAX,AL10、編程序段計(jì)算SUMai=a1+a2+.+a20,已知a1a20依次存放在以BUF為首址,i=1的數(shù)據(jù)區(qū),每個(gè)數(shù)據(jù)占兩個(gè)字節(jié),和數(shù)SUM也為兩個(gè)字節(jié)。(要求用循環(huán)結(jié)構(gòu)編寫,循環(huán)控制采用計(jì)數(shù)控制)。(此題勿需書寫源程序格式,只需把試題要求的有關(guān)指令序列書寫出來。) 11、試編寫一個(gè)匯編語(yǔ)言程序,要求對(duì)鍵盤輸入的小寫字母用大寫字母顯示出來。 12、 AND AL,AL JZ BRCH1 RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3 : 上述程序運(yùn)行后,試回答: (1)當(dāng)(AL) 時(shí),程序轉(zhuǎn)向BRCH1 (2)

37、當(dāng)(AL)時(shí),程序轉(zhuǎn)向BRCH2 (3)當(dāng)(AL)時(shí),程序轉(zhuǎn)向BRCH3 13、下面程序的功能是什么? MOV CH,4LAB:MOV CL,4ROL BX,CLMOV DL,BLAND DL,0FHADD DL,30HCMP DL,3AHJL PRINTADD DL,7PRINT:MOV AH,02INT 21HDEC CHJNZ LAB14、閱讀如下程序: ADRR DB XXH,XXH,XXH CMP ADRRBX,0NUM EQU -ADRR LOOPZ DONRETT DB? JNZ NEXT MOV BL,OFFHMOV CX,NUM NEXT:MOV RETT,BLMOV BX,

38、-1 HLTDON:INC BX 請(qǐng)問:(1)該程序完成的功能是什么?(2)程序執(zhí)行后指出RETT字節(jié)單元中的內(nèi)容是什么?15、現(xiàn)有一子程序: SUB1 PROC PLUS:TEST BL,80HTEST AL,80H JE EXITOJE PLUS XCHANGE:XCHG AL,BLTEST BL,80H EXITO:RETJNE EXITO SUB1 ENDPJMP XCHANGE試回答:(1)子程序的功能是什么?(2)若調(diào)用子程序前AL=9AH,BL=77H,則返回主程序時(shí),AL=_,BL=_。16、閱讀程序段: BLOCK DB 20H,1FH,08H,81H,OFFH LOP1:C

39、MP AL,SI+1RESULT DB? JNG NEXT MOV AL,SI+1START:LEA SI,BLOCK NEXT:INC SIMOV CX,SI LOOP LOP1INC SI MOV RESULT,ALMOV AL,SI HLT請(qǐng)問:(1)該程序完成的功能是什么? (2)該程序循環(huán)的次數(shù)是多少? 17、閱讀如下程序段,回答所提出的問題,假定X1,X2,XN為無(wú)符號(hào)數(shù)。 ORG 100HBLOK DW X1,X2,XNCOUNT EQU(-BLOLOK)/2RESULT DW COUNT,?LEA BX,BLOK-2MOV CX,RESULTXOR AX,AXGOON:ADD

40、BX,2CMP AX,BXJAE NEXTMOV AX,BXNEXT:LOOP GOONMOV RESULT+2,AX程序段執(zhí)行完,回答下述問題RESULT+2字存儲(chǔ)單元的內(nèi)容=_ _BX=_ _程序循環(huán)次數(shù)=_ _18、下面程序的功能是什么? MOV AX,XCMP AX,YJGE LABXCHG AX,YLAB:MOV X,AX 19、某程序欲用單個(gè)字符顯示的2號(hào)功能調(diào)用去顯示STRING中的字符串COMPUTER(不顯示字符$?。?試在空白處填上適當(dāng)?shù)囊粭l指令。 STRING DBCOMPUTER,$MOV BX,0FFSET STRINGLOP:MOV DL,BX MOV AH,02H

41、 INT 21H _ _ JNE LOP20下面程序段是判斷寄存器AH和AL中第3位是相同,如相同,AH置0,否則AH置全1。試把空白處填上適當(dāng)指令. _ _AND AH,08H_ _MOV AH,OFFHJMP NEXTZERO:MOV AH,0NEXT:21、在表TABLE處存放著N個(gè)無(wú)符號(hào)字節(jié)數(shù),求表中前10個(gè)字節(jié)數(shù)的總和并保存在AX寄存器中。如果總和值超過AX寄存器的容量,則置AX寄存器內(nèi)容不變。請(qǐng)?jiān)诔绦蛑械目崭裉幪钊脒m當(dāng)指令使其完整。 LEA BX,TABLE (2) MOV CX,10 JC END0MOV SUM,AX DON:INC BXMEXT: (1) (3) ADC AH

42、,0 ENDO:HLTJNC DON 22、試編寫一個(gè)匯編語(yǔ)言程序,要求對(duì)鍵盤輸入的小寫字母用大寫字母顯示出來。 23、試編制一源程序,統(tǒng)計(jì)DA1字單元中含0的個(gè)數(shù),如統(tǒng)計(jì)的個(gè)數(shù)為奇數(shù),則將進(jìn)位位置1,否則進(jìn)位位清0。 24、編定程序段,用DOS的1號(hào)功能調(diào)用通過鍵盤輸入一字符,并判斷輸入的字符。如字符是Y,則轉(zhuǎn)向YES程序段;如字符是N,則轉(zhuǎn)向NO程序段;如是其他字符,則轉(zhuǎn)向DOS功能調(diào)用,重新輸入字符。(考生勿需寫出源程序格式,只需寫出與試題要求有關(guān)的指令序列) (YES和NO分別是兩程序段入口處的標(biāo)號(hào)) KEY:MOV AH,1INT 21HCMP AL,YJE YESCMP AL,NJ

43、E NOJMP KEY 25、 LEA SI,STRMOV AL,ODHXOR CX,CXGOON:CMP AL,SIJZ NEXTINC CXINC SIJMP GOONNEXT:MOV COUNT,CX字節(jié)變量STR中存放著一個(gè)字符串a(chǎn)bcdefGHIJK,以0DH為結(jié)束標(biāo)志,上述指令序列完成的功能是 ,執(zhí)行以上指令后字變量COUNT= 。 26、下列程序片段用來分別統(tǒng)計(jì)ARRAY數(shù)組中奇數(shù)和偶數(shù)的個(gè)數(shù)。請(qǐng)?jiān)诳瞻滋幪顚懞线m的指令。 DATA SEGMENT ARRAY DW 23ABH,1570H,567,1765H,46,5210H COUNT EQU ($-ARRAY)/2 DA1 D

44、B ? DA2 DB ? DATA ENDS LEA SI,ARRAY MOV CX,COUNTLOP1:MOV AX,SI JZ LOP2 INC BL JMP LOP3 LOP2:INC BH LOP3: DEC CX JNZ LOP1 MOV DA1,BL MOV DA2,BH -1 x0 其中,輸入數(shù)據(jù)x和輸出數(shù)據(jù)y均在數(shù)據(jù)段中定義,且皆為字節(jié)變量。 28、寫一個(gè)把字符串中的大寫字母改寫為小寫字母的子程序(近過程)。設(shè)字符串以0為結(jié)束標(biāo)志。 ;子程序名:STRLWR ;功 能:把字符串中的所有大寫字母改寫為小寫字母 ;入口參數(shù):DSBX=存放改寫所需字符串的緩沖區(qū)首地址 ;出口參數(shù):無(wú)

45、 第六部分:循環(huán)程序設(shè)計(jì)1、循環(huán)控制指令LoopNZ/LoopNE控制循環(huán)繼續(xù)執(zhí)行的條件是 2、循環(huán)指令LOOPNZ終止循環(huán)的條件是 。 3、檢查BUF的內(nèi)容是否為正偶數(shù),如是正偶數(shù),則0TAL。下面程序段正確的是( )。A、MOV AL,BUFJS K1SHR AL,1JNC K1MOV AL,0K1:B、MOV AL,BUFAND AL,11JNZ K2MOV AL,0D、MOV AL,BUFJNP K4TEST AL,80HJNZ K4MOV AL,0K4:K2:C、MOV AL,BUFTEST AL,81HJNZ K3MOV AL,0K3:4、DATA SEGMENTS9 DB0,1,

46、2,3,4,5,6,7,8,9DATA ENDSLEA SI,S9LEA,DI,S9+1MOV CX,5LOP: MOV AL,SIXCHG AL,DIMOV SI,ALADD SI,2ADD DI,2LOOP LOP上述程序段運(yùn)行后,S9開始的10節(jié)存儲(chǔ)單元內(nèi)容是什么? 匯編復(fù)習(xí)5、下列描述中,執(zhí)行循環(huán)的次數(shù)最多的情況是( )。 AMOV CX,0 BMOV CX,1 LOP:LOOP LOP LOP:LOOP LOP CMOV CX,0FFFFH DMOV CX,256 LOP:LOOP LOP LOP:LOOP LOP6、實(shí)現(xiàn)將DX:AX中存放的32位數(shù)擴(kuò)大四倍,正確的程序段是()。 S

47、HL AX,2 ROL DX,2 RCL AX,2 SHL DX,2 MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOP LOP SHL AX,1 SHL AX,1 RCL DX,1 RCL DX,1 7、在下列指令中, 指令的執(zhí)行會(huì)影響條件碼中的CF位。 AJMP NEXTBJC NEXTCINC BXDSHL AX,18、下列指令執(zhí)行時(shí)出錯(cuò)的是()。 ADD BUF1,BUF2 BJMP DWORD PTR DAT BX CMOV AX,BX+DI NUMDTEST AL,08H9、在下列指令的表示中,不正確的是()。 AMOV AL,BX+SIBJMP SHORT D

48、ONICDEC BXDMUL CL10、在進(jìn)行二重循環(huán)程序設(shè)計(jì)時(shí),下列描述正確的是()。 A外循環(huán)初值應(yīng)置外循環(huán)之外;內(nèi)循環(huán)初值應(yīng)置內(nèi)循環(huán)之外,外循環(huán)之內(nèi)B外循環(huán)初值應(yīng)置外循環(huán)之內(nèi);內(nèi)循環(huán)初值應(yīng)置內(nèi)循環(huán)之內(nèi)C內(nèi)、外循環(huán)初值都應(yīng)置外循環(huán)之外D內(nèi)、外循環(huán)初值都應(yīng)置內(nèi)循環(huán)之外,外循環(huán)之內(nèi)11、條件轉(zhuǎn)移指令JNE的測(cè)試條件為 。 12、執(zhí)行如下程序:MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT執(zhí)行后(BX)= 。 13、上題的程序執(zhí)行后(AX)= 。 14、對(duì)于下列程序段:AGAIN:MOV AL,SIMOV ES:DI,ALINC SIIN

49、C DILOOP AGAIN也可用 指令完成同樣的功能。 15、DA1 DBABCDEFGHI DA2 DB 9 DUP(0) LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD LOP: LODSB SUB AL,10H STOSB LOOP LOP . . .試問:寫出程序執(zhí)行后DA2各字節(jié)中的數(shù)據(jù)。 保持程序功能情況下,程序中 可否改寫為 16、程序段如下: BLK1 DB 46,84,34,5,20,122,73 : MOV CX,7 LEA S1,BLK1 NEXT: MOV AL,SI INC SI TEST AL,81H LOOPZ NEXT MOV BL,SI

50、 : 請(qǐng)回答程序段運(yùn)行后:(AL) (BL) 17、下面程序的功能是什么? STRING DB 100 DUP(?) MOV AX,SEG STRING MOV DS,AX LEA SI,STRING MOV CX,100LAB: MOV AL,SI CMP AL,a JB LAB1 CMP AL,z JA LAB1 SUB AL,32 MOV SI,ALAB1: INC SI LOOP LAB 18、現(xiàn)有下列數(shù)據(jù)段: DATA SEGMENT STR1 DBABCDEFGHIJKL COUNT EQU STR1 BUF DB COUNT DUP(0) DATA ENDS 下面程序段是實(shí)現(xiàn)把STR1中所有字符逆向傳送到BUF緩沖區(qū)(即STR1中第一個(gè)字符送到BUF的最后一個(gè)單元,STR1中最后一字符送到BUF的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論