匯編語言程序設計網(wǎng)絡學院模擬試卷一.doc
《匯編語言程序設計網(wǎng)絡學院模擬試卷一.doc》由會員分享,可在線閱讀,更多相關《匯編語言程序設計網(wǎng)絡學院模擬試卷一.doc(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
《匯編語言程序設計》網(wǎng)絡學院模擬試卷一 2004.4 班級________________ 姓名______________ 學號______________ 成績______ 一、改錯題(10分,每題1分,在錯誤處劃線,線下寫上正確答案) 1. SHR BH, 8 2. ADD [BX], –15 3. LEA POINT, BUF 4. IN DX, 200 5. PUSH DH 6. MUL 25 7. XLAT BX, TAB 8. REPNZ MOVSW 9. MOV AX, 2[SI][DI] 10. MOV [BX], [SI] 二、單選題(20分,每題1分) 1.MOV指令的特點是________。 A.影響DF B.影響SF C.影響CF D.不影響標志位 2.使用寄存器間接尋址方式訪問堆棧中某變量時,要選用________寄存器。 A.BX B.BP C.SI D.SP 3.8086標志寄存器中的三個控制標志是________。 A. IF、PF、SF B.DF、OF、CF C.DF、IF、TF D.TF、AF、IF 4.若有符號數(shù)運算的結(jié)果溢出,則置________為1。 A.OF B.CF C.SF D.IF 5.若某存貯器操作數(shù)的偏移地址在SI中,訪問該操作數(shù)應采用________尋址方式。 A.立即 B.寄存器 C.寄存器問址 D.直接 6.串操作指令中,目的串的邏輯地址應為________。 A.DS:[SI] B.DS:[DI] C.ES:[DI] D.ES:[SI] 7.不在本模塊定義而在本模塊中引用的符號稱________符號。 A.公共 B.局部 C.自定義 D.外部 8.若(CL)= 4,(AX)=0FF0FH,執(zhí)行語句“ROR AX, CL”后 ,(AX)=________。 A.0FFFFH B.0FFF0H C.0F0FFH D.0FFFH 9.已知AL中存放著一個壓縮BCD碼,為實現(xiàn)AL減1操作,應選用________指令序列。 A.DEC AL B.SBB AL,0 C.SUB AL,1 D.SUB AL,1 AAS DAS AAS DAS 10.要將BL中的8位數(shù)據(jù)送到1234H端口號的外部設備中去,應選用________指令序列。 A.OUT 1234H, BL B.MOV DX,1234H OUT DX, BL C.MOV AL, BL D.MOV DX,1234H MOV DX,1234H MOV AL, BL OUT DX,AL OUT AL, DX 11.已知AX,BX中均為有符號數(shù)據(jù),當進行字除法時,應采用________指令序列。 A.XOR DX,DX B.CBW C.IDIV BX D.CWD DIV BX IDIV BX IDIV BX 12.要將DX的內(nèi)容送入堆棧中從當前棧頂起第10個字中,應使用________語句。 A.MOV 18[SP],DX B.MOV 18[BP],DX C.MOV BP,SP D.PUSH 18[DX] MOV 18[BP],DX 13.要將CL中8位有符號數(shù)送入SI中去,應采用________。 A.MOV SI, CL B.MOV BYTE PTR SI, CL C.MOV CH,O D.MOV AL,CL MOV SI, CX CBW MOV SI, AX 14.8086指令系統(tǒng)中的PUSH操作,會對SP自動進行________操作。 A.減1 B.加2 C.減2 D.加1 15.下列指令執(zhí)行后,對源、目的操作數(shù)均無影響的指令是________。 A.XCHG AX,BX B.CMP AX,BX C.SBB AX,[BX] D.MOV AX,BX 16.用REPE SCASB指令對某字符串進行掃描,若當掃描結(jié)束時CX≠0,則表示________。 A.在字符串中有一個與(AL)不同的字符 B.在字符串中找到了第1個與(AL)不同的字符 C.在字符串中有一個與(AL)相同的字符 D.在字符串中找到了第1個與(AL)相同的字符 17.條件轉(zhuǎn)移指令JNLE的轉(zhuǎn)移條件是________。 A.SF ⊕ OF= 0,且ZF= 0 B.SF ⊕ OF= 1,且ZF= 0 C.SF ⊕ OF= 0,且ZF= 1 D.SF ⊕ OF= 1,且ZF= 1 18.表示宏定義結(jié)束的偽指令是________。 A.ENDM B.ENDS C.ENDP D.END 19.設(SS)= 448AH,(SP)= 450H,執(zhí)行后,當前棧頂?shù)奈锢淼刂?_______。 A.44CE6H B.44CECH C.44CF4H D.44CF2H 20.下列數(shù)據(jù)定義偽指令中,________是錯誤的。 A.DB 12H B.DW 1234H C.DB ABCD D.DW ABCD 三、填空題(10分,每題1分) 1.要清除AX中的D15~11位,需采用________________________指令來實現(xiàn)。 2.已知(AX)= 789AH,問執(zhí)行指令CBW后,(AX)=________________________。 3.使用DOS中2號功能調(diào)用時,需先將________________________________送入DL中。 4.在MOV AX, –5[BX] [DI]中,源操作數(shù)采用是________________________尋址方式。 5.已知在DATA數(shù)據(jù)段中已定義有變量DUF,AA等,問與中劃線語句等效的指令是________________。 6.與MOV AX, OFFSET BUF等效的LEA指令是________________________________。 7.與JNL指令等同的指令操作符是________________________。 8.中斷類型號為25H的中斷服務程序的中斷矢量存放在內(nèi)存 ~ ___ 單元中。 9.主、子程序間參遞參數(shù)的常用三種方式是_____________、_____________和___________法。 10.要對DX中的內(nèi)容求絕對值,在橫線上應填入何指令。_____________ AND DX, DX JNS L1 ______________ L1:…… ∶ DATA 四、作圖及填充題(10分) 已知數(shù)據(jù)段定義如下: DATA SEGMENT C1 DB 0AH , 2 DUP ( 12 , 1), –7 C2 DW 0A ,–7 C3 EQU $ – C2 ORG 20 C4 DW C2+2 DATA ENDS 1.畫出數(shù)據(jù)在主存中的分配圖(細化到字節(jié))(5分) 2.在劃線處填上執(zhí)行結(jié)果。 ① MOV AX, C2-3 ;(AX)= __________ ② MOV DX, C2+2 ;(DX)= __________ ③ MOV BL, C1+5 ;(BL)= __________ ④ MOV BX, OFFSET C1+3 ;(BX)= __________ ⑤ MOV CL, C3-4 ;(CL)= __________ ∶ TEST BX,80H JNE T JMP NT T:… NT:… ∶ 五、程序分析題(每小題3分,共24分) 1.已知 BX=0F0FH, 請判別右邊程序段執(zhí)行 后,程序轉(zhuǎn)向_______執(zhí)行。 2.設A變量的偏移地址為100 A DW 5665H, 1234H ∶ LEA SI, A 左邊程序段的二條指令執(zhí)行后 (S I) =________ LDS BX, A (BX)=________ ∶ 3.如果在執(zhí)行以下程序段前堆棧為空棧, . . . SS SP 且程序其余處也未用堆棧操作指令。 要求:① 畫出執(zhí)行完①時堆棧變化示意圖 ∶ CALL PRO1 B1: …… ∶ B2: …… ∶ PRO1 PROC PUSH CX PUSH BX① ∶ POP BX ② 從子程序能返回到主程序B1處嗎?為什么? RET ______________________________________ PRO1 ENDP ______________________________________ ∶ 4.已知DS和ES指向同一個段,且當前數(shù)據(jù)段偏離0000H~00FFH的存貯單元中依次存放的內(nèi)容為0~0FFH,請回答下列程序段執(zhí)行后0000H~0009H單元中的內(nèi)容為: ∶ ___________________________________________。 MOV SI, 0000H MOV DI, 0001H MOV CX, 10 CLD REP MOVSW ∶ 5. ∶ STR1 DB COMPUTERNDPASCAXZ SZM DB E ∶ MOV AL, SZM LEA DI, STR1 問左邊程序段執(zhí)行到NEXT處時, MOV CX, 17 (CX)=__________ CLD (ZF)=__________ REPNE SCASB NEXT: … ∶ 6.已知:AX=0D800H, DX=0003H ∶ MOV CX, 2 L: SHL AX, 1 問左邊程序段執(zhí)行后 RCL DX, 1 (AX)=__________ LOOP L (DX)=__________ ∶ 7.程序段的功能是將數(shù)組的最大數(shù)送AL,請在各空白處填上一條合適的指令。 AA DB 3,7,32,10,100, …… N EQU $ – AA ∶ MOV CX, N MOV DI, OFFSET AA MOV AL, [DI] BB: INC DI __________________① JAE CC MOV AL, [DI] CC: ___________________②。 8. ∶ A DW ? 左邊程序段為判A、B兩字變量是否同為正數(shù)。是,置AX為0,否則,置AX為非零。 請在各空白處填上一條合適的條件轉(zhuǎn)移指令。(兩處不能用同一條條件轉(zhuǎn)移指令。) B DW ? ∶ MOV AX, A MOV BX, B XOR AX, BX _________________① TEST BX, 8000H _________________③ MOV AX, 0 NEXT: …… ∶ 9.讀下面程序,回答下列問題: ①當輸入為:ABCD↙ 時,輸出什么?_____。 ②在程序中的宏指令的;后,寫出其宏擴展的形式。 ③當輸入字符串為①所述,則(BUF1+1)=________。 RW MACRO A,B MOV AH,A LEA DX,B INT 21H ENDM DATA SEGMENT BUF1 DB 30, ?, 30 DUP (0) BUF2 DB PLEASE INPUT: BUF3 DB 0AH, 0DH, $ DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATE START: MOV AX, DATE MOV DS, AX RW 9, BUF2; RW 10, BUF1; RW 9, BUF3; MOV CL, BUF1+1 MOV CH, 0 MOV SI, CX MOV AH, 2 LOPA: MOV DL, BUF1+1 [SI] INT 21H DEC SI LOOP LOPA MOV AH, 4CH INT 21H CODE ENDS END START ④若漏寫了一條DEC SI指令,程序結(jié)束后又顯示什么?____________。 六、設計程序或程序段(26分) 1.設計將當前數(shù)據(jù)段偏移地址1000H至3000H 的字存貯單元中全設置為–1的程序段。(用二種不同方法) (4分) 2.設計求某無符號字節(jié)變量A的9倍的程序段(結(jié)果不超過一無符號字節(jié)數(shù)的范圍)。(用二種不同方法) (4分) 3.用二種不同的方法設計將DI的高8位與DI的低8位互換的程序段。(用二種方法)(4分) 4.編寫從鍵盤輸入一串字符,從中找出字母A出現(xiàn)的個數(shù),并將此數(shù)在屏幕下一行上用十進制數(shù)形式顯示出來的程序。要求: ① 結(jié)構(gòu)完整。 (3分) ② 回車換行用宏指令。 (2分) ③ 將AX中16位無符號二進制數(shù)→十進制數(shù)并在屏幕顯示可調(diào)用已有的子程序PROS。(2分) ④ 畫出流程圖。 (2分) (或子模塊PROS) ⑤ 程序正確。 (5分) 《匯編語言程序設計》網(wǎng)絡學院模擬試卷二 2004.4 班級________________ 姓名______________ 學號______________ 成績______ 一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題中的括號內(nèi)。每小題1分,共10分) 1.CPU發(fā)出的訪問存儲器的地址是( )。 A.物理地址 B.偏移地址 C.邏輯地址 D.段地址 2.將高級語言的程序翻譯成機器碼程序的實用程序是( )。 A.編譯程序 B.匯編程序 C.解釋程序 D.目標程序 3.DEC BYTE PTR [BX] 指令中的操作數(shù)據(jù)類型是( )。 A.字 B.雙字 C.字節(jié) D.字符 4.在下列語句中,BUFFER稱為( )。 A.符號 B.變量 C.助記符 D.標號 5.串操作指令中,源串操作數(shù)的段地址一定在( )寄存器中。 A.CS B.SS C.DS D.ES 6.使計算機執(zhí)行某種基本操作的命令是( )。 A.偽指令 B.指令 C.標號 D.助符 7.將數(shù)據(jù)5618H存放在存儲單元中的偽指令是( )。 A.DATA1 DW 1856H B.DATA1 DB 18H,56H C.DATA1 EQU 5618H D.DATA1 DB 18H,00H,56H,00H 8.若AX=3500H,CX=56B8H,當AND AX,CX指令執(zhí)行后,AX=( )。 A.1400H B.77F8H C.0000H D.0FF 9.計算機處理問題中會碰到大量的字符、符號,對此必須采用統(tǒng)一的二進制編碼。目前,微機中普遍采用的是( )。 A.BCD碼 B.二進制碼 C.ASCII碼 D.十六進制碼 10.用指令的助記符、符號地址、標號和偽指令、宏指令以及規(guī)定的格式書寫程序的語言稱為( )。 A.匯編語言 B.高級語言 C.機器語言 D.低級語言 二、填空題(每空1分,共20分) 1.在8086/8088匯編語言中,有五條串操作指令,其中搜索字符串指令的助記符是________。 2.通常所說的計算機系統(tǒng)包括________和________兩大部分。 3.8086/8088存儲器分四個段,這四個段的段名所對應的段寄存器分別是________、________、________、________。 4.現(xiàn)有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(3120H)=02H,(31202H)=40H,請寫出下列各條指令獨立執(zhí)行完后有關寄存器及存儲單元的內(nèi)容,并指出標志位ZF、CF的值。 A.ADD AX,1200H ;問AX=________H ZF=_____。 B.SUB AX,BX ;問AX=________H ZF=_____。 C.MOV AX,[BX] ;問AX=________H CF=_____。 D.NEG WORD PTR [1200H];問(31200H)=________H CF=________, 5.設DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,試計算出下列各種尋址方式下的有效地址,并填入括號中。 A.使用D的直接尋址( ) B.使用BX的寄存器間接尋址( ) C.使用BX和D的寄存器相對尋址( ) D.使用BX、SI和D的相對基址變址尋址( ) E.使用BX、SI的基址變址尋址( ) 三、簡答題(共20分) 1.程序在數(shù)據(jù)段中定義的數(shù)組如下:(4分) ARRAY DB ‘YES IS’ DB 20 DB ‘DO NOT’ 請指出下列指令是否正確?若不正確,錯在哪里? A. MOV BX, OFFSET ARRAY MOV AX, [BX+8] B. MOV AX, ARRAY C. MOV BX, 2 MOV SI, 3 MOV AX, ARRAY [BX][SI] D. MOV BX, 22 MOV SI, 3 MOV AX, OFFSET ARRAY [BX][SI] INC [AX] 2.如TABLE為數(shù)據(jù)段中0100單元的符號名,其中存放的內(nèi)容為0FF00H,試問以下兩條指令有什么區(qū)別?指令執(zhí)行后,AX寄存器的內(nèi)容是什么?(3分) MOV AX,TABLE MOV AX,OFFSET TABLE 3.對于下面的數(shù)據(jù)定義,三條MOV指令分別匯編成什么?(3分) TAB1 DW 10 DUP(?) TAB2 DB 10 DUP(?) TAB3 DB ‘1234’ MOV AX,LENGTH TAB1 MOV BL,LENGTH TAB2 MOV CL,LENGTH TAB3 4.子程序的說明文件中應包括哪幾方面的內(nèi)容?(5分) 5.分別指出下列指令中源操作數(shù)的尋址方式:(5分) A.MOV SI, 100 B.MOV CX, DATA [SI] C.MOV [SI],AX D.ADD AX, [BX][DI] E.PUSHF 四、程序分析(每小題5分,共20分) 1.下列程序段完成什么工作? DAT1 DB 30 DUP(?) DAT2 DB 10 DUP(?) MOV CX, 10 MOV BX, 20 MOV SI, 0 MOV DI, 0 NEXT: MOV AL, DAT1 [BX][SI] MOV DAT2[DI], AL INC SI INC DI LOOP NEXT 2.執(zhí)行下列指令后,AX寄存器中的內(nèi)容是什么? START DW 10H,20H,30H,40H,50H EE1 DW 3 MOV BX,OFFSET START ADD BX,EE1 MOV AX,[BX] 3.試分析下面程序段的功能是什么? CMP AL, ‘A’ JC OTHER CMP AL, ‘Z’+1 JNC OTHER JMP LETTER OTHER: LETTER: 4.下面程序段執(zhí)行完以后,AL的內(nèi)容是什么? MOV BX,00FFH AND BX,0FFFH OR BX,0F0FH XOR BX,00FFH 五、程序設計(每小題10分,共30分) 1.試編寫出把DX、AX中的雙字右移四位的程序段。 2.定義一個數(shù)據(jù)區(qū),它包含有23H,24H,25H和26H四個字節(jié)數(shù)據(jù),把這個數(shù)據(jù)區(qū)復制20次,并顯示出復制結(jié)果。 3.內(nèi)存自BUF單元開始的緩沖區(qū)連續(xù)存放著100個學生的英文分數(shù),編程序統(tǒng)計其中90~100,60~89,60以下者各有多少人?并把結(jié)果連續(xù)存放到自RESUT開始的單元中。(要求畫出程序流程圖,各段定義完整) 《匯編語言程序設計》網(wǎng)絡學院模擬試卷三 2004.4 班級________________ 姓名______________ 學號______________ 成績______ 一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題中的括號內(nèi)。每小題1分,共10分) 1.把若干個模塊連接起來成為可執(zhí)行文件的系統(tǒng)程序是( )。 A.匯編程序 B.連接程序 C.機器語言程序 D.源代碼程序 2.使匯編程序執(zhí)行某種操作的命令是( )。 A.變量 B.指令 C.偽指令 D.宏指令 3.串操作指令中,目的操作數(shù)的段地址一定在( )寄存器中。 A.CS B.SS C.DS D.ES 4.在下列語句中,AGAIN稱為( )。 AGAIN: INC SI A.符號 B.助記符 C.標號 D.變量 5.MOV BH, 1000[SI],該指令中源操作數(shù)采用的尋址方式是( )。 A.立即 B.直接 C.寄存器相對 D.寄存器間接 6.OR AL, AL是( )操作指令。 A.異或 B.加法 C.右移 D.邏輯或 7.DOS系統(tǒng)功能調(diào)用中,顯示單個字符的系統(tǒng)調(diào)用號是( )H。 A.01H B.02H C.08H D.09H 8.使計算機執(zhí)行某種操作的命令是( )。 A.宏指令 B.指令 C.偽指令 D.語句 9.換碼指令的助記符是( )。 A.XCHG B.LEAS C.XLAT D.MOV 10.計算機能直接識別并執(zhí)行的語言是( )。 A.匯編語言 B.機器語言 C.高級語言 D.低級語言 二、填空題(每空1分,共20分) 1.假設BL=0C5H,CL=2,CF=1,確定下列各條指令獨立執(zhí)行后,BL和CF中的值,并填入括號中。 A.SHR BL,1 ; BL=( ) CF=( ) B.SAR BL,CL ; BL=( ) CF=( ) C.ROR BL,1 ; BL=( ) CF=( ) D.RCL BL,CL ; BL=( ) CF=( ) 2.現(xiàn)有數(shù)據(jù)定義偽指令如下,寫出對應的數(shù)據(jù)在存儲單元中的存放形式。 BUF1 DB 01,52H BUF2 DW 3 DUP(? ,0) BUF3 DW 2 DUP(0,2 DUP(1,2),3) DUF1 BUF2 BUF3 3.計算機處理問題中會碰到大量的字符、符號,對此必須采用統(tǒng)一的二進制編碼。目前,微機中普遍采用的是________碼,稱為美國________碼。 4.8086/8088CUP中,有二個變址寄存器,分別是________和________,二個指針寄存器,分別是________和________。 三、簡答題(每小題5分,共20分) 1.請指出下列指令錯誤原因: A. OR AX, [CX] B. ADD [SI], [BX][DI] C. JMP BYTE PTR LOOPS D. SAR AX, 4 E. RCL DX 2.A.下面兩個語句有何區(qū)別? X1 EQU 1000H X2 = 1000H B.下面的程序段有錯嗎?若有,請指出錯誤。 CRAY PROC PUSH AX ADD AX, BX RET CRAY ENDP 3.假設程序中的數(shù)據(jù)定義如下: ARRAY1 DW ? ARRAY2 DB 16 DUP(?) ARRAY3 DD ? PLENTH EQU $–ARRAY1 問PLENTH的值為多少?它表示什么意義? 4.試根據(jù)以下要求,分別寫出相應的匯編語言指令。 A.把AX寄存器和BX寄存器的內(nèi)容相加,結(jié)果存入AX中。 B.用BX和SI的基址變址尋址方式,把存儲器中的一個字節(jié)與DL的內(nèi)容相加,并把結(jié)果送回DL中。 C.把數(shù)0BEH與AH內(nèi)容相加,結(jié)果送回AH中。 D.用SI和位移量0200H的寄存器相對尋址方式把存儲器中的一個字與AX相加,并把結(jié)果送回存儲單元中。 E.用位移量0860H的直接尋址方式把存儲器中一個字與數(shù)2EA0H相加,結(jié)果回送存儲器中。 四、程序分析(每小題5分,共20分) 1.試分析下面程序段完成什么功能? CON1 DW H CON2 DW H MOV AX, CON1 MOV BX, CON2 CMP AX, BX JGE GREAT LESS: … GREAT:… 2.試分析下面程序段完成什么功能? OR AL,AL JZ L0 CMP AL, 1 JZ L1 CMP AL, 2 JZ L2 JMP STOP L0: … L1: … L2: … STOP: HLT 3.試問下面的程序段完成的功能是什么?程序執(zhí)行后,AX的內(nèi)容是什么? XOR AX,AX MOV BX,2 MOV CX,10 L: ADD AX,BX ADD BX,2 LOOP L HLT 4.試分析下面的程序段完成什么功能? MOV CL,04 SHL DX,CL MOV BL,AH SHR AX,CL SHR BL,CL OR DL,BL 五、程序設計(每小題10分,共30分) 1.試編寫使AL寄存器中的無符號數(shù)乘20的程序段。 2.編寫程序?qū)LEMS中的100個字節(jié)數(shù)據(jù)的位置顛倒過來(即第一個字節(jié)和第100個字節(jié)的內(nèi)容交換,第二個字節(jié)和99個字節(jié)的內(nèi)容交換……)。 3.仔細閱讀下列程序段,它是二個ASCII碼轉(zhuǎn)換為一字節(jié)十六進制數(shù)的子程序,請回答下列問題: A.說明一個ASCII碼字符轉(zhuǎn)換為一位十六進制數(shù)的算法。 B.程序執(zhí)行結(jié)束后,HEXUF字節(jié)單元中的內(nèi)容是什么? C.對程序進行注釋,說明指令執(zhí)行的工作。 ASCBUF DB 38H,41H HEXBUF DB ? LEA SI, ASCBUF LEA DI, HEXBUF MOV CL, 4 MOV AL, [SI] CALL ASC–HEX SHL AL, CL MOV [DI], AL MOV AL, [SI+1] CALL ASC–HEX OR [DI], AL HLT ASC_HEX PROC NEAR CMP AL,3AH JC ASC1 SUB AL,7 ASC1: SUB AL,30H RET ASC_HEX ENDP 14- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- 匯編 語言程序設計 網(wǎng)絡學院 模擬 試卷
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://appdesigncorp.com/p-8123746.html