匯編語言基礎試題.doc
《匯編語言基礎試題.doc》由會員分享,可在線閱讀,更多相關《匯編語言基礎試題.doc(28頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第一章 基本知識 一、單項選擇題(共40分,每題2分) 1.若十進制數(shù)為132.75,則其十六進制數(shù)為(B) A.21.3 B.84.C C.4.6 D.6 2.若[X補]=11111,則其十進制真值為(C) A.-31 B.-15 C.-1 D.31 3.某定點整數(shù)64位,含1位符號位,補碼表示,則其絕對值最大負數(shù)為 (A) A.-263 B.-264 C.-(263-1) D.-(263-1) 4.原碼乘法是(D) A.用原碼表示操作數(shù),然后直接相乘 B.被乘數(shù)用原碼表示,乘數(shù)取絕對值,然后相乘 C.乘數(shù)用原碼表示,被乘數(shù)取絕對值,然后相乘 D.先取操作數(shù)絕對值相乘,符號位單獨處理 5.在微機系統(tǒng)中分析并控制指令執(zhí)行的部件是(C) A.寄存器 B.數(shù)據(jù)寄存器 C.CPU D.EU 6.已知X=76,則[X]補=(B) A.76H B.4CH C.0B4H D.0CCH 7.已知[X]補=80H, 則X=(D) A.80H B.0 C.0FFH D.-80H 8.已知[X]補=98H, 則[X]補/2=(A) A.0CCH B.4CH C.49H D.31H 9.已知X=78,Y=-83則[X+Y]補=(C) A.0F5H B.0A1H C.0FBH D.65H 10.在計算機的CPU中執(zhí)行算術(shù)邏輯運算的部件是(A) A.ALU B.PC C.AL D.AR 11.將125轉(zhuǎn)換成二進制數(shù)的結(jié)果(A) A.7DH B.7CH C.7EH D.7BH 12.將93H看成一個組合BCD碼,其結(jié)果是(B) A.10010101 B.10010011 C.10000011 D.10000001 13.能被計算機直接識別的語言是(C) A.C語言 B.匯編語言 C.機器語言 D.面向?qū)ο笳Z言 14.第四代計算機的邏輯電路采用的是(D)。 A.電子管 B.晶體管 C.中小規(guī)模集成電路 D.大規(guī)模和超大規(guī)模集成電路 15.可以寫入數(shù)據(jù)的內(nèi)存儲器是(B)。 A.ROM B.RAM C.軟盤 D.大規(guī)模和超大規(guī)模集成電路 16.掉電后存儲信息消失的存儲器是(B)。 A.ROM B.RAM C.軟盤 D.硬盤 17.讀寫速度最慢的輔助存儲器是(C)。 A.ROM B.RAM C.軟盤 D.硬盤 18.二進制數(shù)(11010011)2轉(zhuǎn)化成十六進制數(shù)是(B)。 A.11 B.C3 C.A6 D.BC 19.語言處理程序?qū)儆谲浖到y(tǒng)的(A)。 A.系統(tǒng)軟件 B.應用軟件 C.工具軟件 D.防毒軟件 20.微軟WORD2000應屬于軟件系統(tǒng)的(B)。 A.系統(tǒng)軟件 B.應用軟件 C.工具軟件 D.防毒軟件 二、填空題:請將正確的內(nèi)容填入括號內(nèi)。(共20分,每題2分) 1.(13)10 = (15)8。 2.(35)10 = (23)16。 3.(15)10 = (1111)2。 4. 計算機的存儲容量1KB = (1024)Byte。 5. 計算機的存儲容量1MB = (1024)KB。 6. 計算機的存儲容量1GB = (1024)MB。 7. 存儲一個漢字需要磁盤空間(2)字節(jié)。 8. 存儲一個1616點陣的漢字字模需要磁盤空間(32)字節(jié)。 9. 計算機系統(tǒng)包括(硬件)系統(tǒng)和(軟件)系統(tǒng)兩大部分。 10. 計算機主存儲器包括(只讀存儲器(或ROM))和(隨機存取存儲器(或RAM))兩類。 三、判斷題(正確的畫,錯誤的畫) (共40分,每題2分) 1.計算機中所有帶符號數(shù)都是以補碼形式表示的。(√) 2.匯編語言和機器語言都是面向機器的語言,編制的程序都可以為機器直接識別和執(zhí)行。() 3.補碼加減運算時,符號位與數(shù)值一樣參加運算。(√) 4.標準的ASCII碼是用7位二進制數(shù)對字符進行編碼的,最高位用來表示奇偶校驗位。(√) 5.計算機的硬件系統(tǒng)由運算器、控制器、存儲器、輸入設備和輸出設備等組成。 (√) 6.計算機的內(nèi)存儲器分為隨機存儲器(RAM)和只讀存儲器(ROM)兩部分。(√) 7.對計算機進行管理和維護的軟件應屬于應用軟件。() 8.用戶自行編制的軟件可稱之為系統(tǒng)軟件。() 9.程序設計語言分為機器語言、匯編語言和高級語言三大類。(√) 10.現(xiàn)在用戶大多使用匯編語言開發(fā)自己的程序。() 11.用機器語言編寫的計算機程序,使用的是八進制數(shù)。() 12.十進制數(shù)的11,在十六進制中仍可寫成11。() 13.十進制數(shù)的8,寫成二進制應該是1000。(√) 14.常用微機系統(tǒng)中的字符編碼是ASCII碼。(√) 15.一個微機有640KB內(nèi)存,指的是內(nèi)存容量為640K個字節(jié)。(√) 16.微機的一個字節(jié)應有八個二進制數(shù),而每一個數(shù)稱為一個字位。(√) 17.微機的中央處理器也叫用微處理器。(√) 18.微型計算機由主機和外部設備兩大部分組成。(√) 19.微機的主機內(nèi)包括微處理器和內(nèi)存儲器。(√) 20.內(nèi)存儲器的ROM是讀寫存儲器,而RAM是只讀存儲器,用戶不能寫入信息。() 第二章 8088微處理器及其尋址方式 一、單項選擇題(共45分,每題3分) 1.MOV AX,ES:[1000H] 源操作數(shù)的尋址方式是(B) A.立即尋址 B.直接尋址 C.變址尋址 D.基址尋址 2.MOV AX,ES:COUNT[DI] 源操作數(shù)的尋址方式是(C) A.基址尋址 B.立即尋址 C.變址尋址 D.基址變址尋址 3.MOV DX,COUNT[BP][DI]的源操作數(shù)的尋址方式是(D) A.變址尋址 B.基址尋址 C.直接尋址 D.基址變址尋址 4.指令MOV BX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址為(B) A.17500H B.16500H C.14500H D.13500H 5.指令MOV AX,COUNT[BX],若COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址為(C) A.17400H B.17000H C.15400H D.14500H 6.指令MOV DX,DELTA[BX][SI],若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址為(C) A.6F300H B.77800H C.59800H D.78700H 7.唯一代表存儲空間中每個字節(jié)單元地址的是(D) A.段地址 B.偏移地址 C.有效地址 D.物理地址 8.在8086中,存儲器是分段組織,每段最大長度是(C) A.16KB B.32KB C.64KB D.128KB 9.下列四組寄存器中,屬于通用寄存器的是(A) A.AX,BX,CX,DX B.SP,BP,IP C.SI,DI,F(xiàn)LAGS D.上屬三者都是 10.下列寄存器中,程序不可見寄存器是(B) A.CS B.IP C.SP D.BP 11.下列四組寄存器中,在段內(nèi)尋址時可以提供偏移地址的寄存器組是(C) A.AX,BX,CX,DX B.BP,SP,IP,CS C.BX,BP,SI,DI D.BH,BL,CH,CL 12.8086/8088系統(tǒng)中,存儲器是分段組織的,存儲器物理地址計算式是(C)B A.段地址+偏移地址 B.段地址*10H+偏移地址 C.段地址*16H+偏移地址 D.段地址+10H*偏移地址 13.在標志寄存器中表示溢出的標志(C) A.AF B.CF C.OF D.SF 14.指令指針寄存器是(A) ?。ˋ)IP ?。˙)SP ?。–)BP ?。―)BX 15.當執(zhí)行指令ADD AX,BX后,若AX的內(nèi)容為2BA0H,設置的奇偶標志位PF=1,下面的敘述正確的是(D) ?。ˋ)表示結(jié)果中含1的個數(shù)為偶數(shù) ?。˙)表示結(jié)果中含1的個數(shù)為奇數(shù) (C)表示該數(shù)為偶數(shù) (D)表示結(jié)果中低八位含1的個數(shù)為偶數(shù) 二、改錯題(下列各小題均有錯,請針對題意改正其錯誤或補充其不足;共9分,每題3分) 1.在寄存器間址方式中,指令指定的寄存器中存放的是操作數(shù)。 改為: 在寄存器間址方式中,指令指定的寄存器中存放的是操作數(shù)地址。 2.程序計數(shù)器PC的內(nèi)容即現(xiàn)行指令代碼 。 改為: 程序計數(shù)器PC的內(nèi)容即現(xiàn)行指令地址。 3.若總線地址16位,則直接訪存空間最大為1M。 改為: 若總線地址16位,則直接訪存空間最大為64K。 三、指出下列指令所用到的尋址方式。(共21分,每題3分) 指令 目的操作數(shù)尋址方式 源操作數(shù)尋址方式 MOV AX,1000H 寄存器尋址 立即尋址 MOV AX,DS:[1000H] 寄存器尋址 直接尋址 MOV [BX],AL 寄存器間接尋址 寄存器尋址 MOV 5[BX][SI],AX 基址變址尋址 寄存器尋址 MOV [BP],BX 基址尋址 寄存器尋址 MOV AX,-10[DI] 寄存器尋址 變址尋址 MOV AX,[SI] 寄存器尋址 寄存器間接尋址 四、判斷題(正確的畫,錯誤的畫)(共25分,每題5分) 1.DS中的內(nèi)容就是數(shù)據(jù)段的段地址。() 2.8086中內(nèi)存的地址使用十六進制數(shù)編制的。(√) 3.寄存器SP和BP都可以用來訪問堆棧內(nèi)容。(√) 4.溢出標志可以用來判斷運算的結(jié)果是否產(chǎn)生溢出。() 5.8086CPU中所有的寄存器都既可作16位寄存器又可作8位寄存器使用。() 第三章 匯編程序的運行方式 一、單項選擇題(共40分,每題8分) 1.在匯編語言程序中,對END語句的敘述正確的是(C)。 A.END語句是一可執(zhí)行語句 B.END語句表示程序執(zhí)行到此結(jié)束 C.END語句表示源程序到此結(jié)束 D.END語句在匯編后要產(chǎn)生機器碼 2.把若干個模塊連接起來成為可執(zhí)行文件的系統(tǒng)程序是(B) A.匯編程序 B.連接程序 C.機器語言程序 D.源代碼程序 3.計算機能直接識別并執(zhí)行的語言是(B) A.匯編語言 B.機器語言 C.高級語言 D.低級語言 4.將高級語言的程序翻譯成機器碼程序的實用程序是(A) A.編譯程序 B.匯編程序 C.解釋程序 D.目標程序 5.將匯編語言的程序翻譯成機器碼程序的實用程序是(B) A.編譯程序 B.匯編程序 C.解釋程序 D.目標程序 二、匯編語言源程序的上機操作過程?(10分) 答:匯編語言源程序的上機操作過程: 1.編輯源程序; 2.用masm程序匯編源程序; 3.用link程序連接目標程序; 4.用debug調(diào)試程序。 三、判斷題(正確的畫,錯誤的畫)(共40分,每題8分) 1.DEBUG中R命令的功能是將數(shù)值填入指定范圍。() 2.調(diào)試程序DEBUG中的T、P命令的功能沒有區(qū)別。() 3.DEBUG只能調(diào)試程序,不能編寫程序。() 4.結(jié)束DEBUG返回DOS的命令為Q。(√) 5.DEBUG中所使用的數(shù)默認為十進制數(shù),對十六進制數(shù)需要加H。() 第四章 匯編程序的書寫格式 一、單項選擇題 (共60分,每題4分) 1.源程序結(jié)束語句為(C) A.ENDP B.ENDS C.END MAIN D.END 2.SKY:MOV AL,20H中操作數(shù)為(D) A.MOV B.SKY C.AL或20H D.AL和20H 3.下列為不合法的標志符的是(B) A.AXYZ B.5SKY C.@ATT D.?ABC 4.下列地址表達式正確的是(C) A.[BX-SI] B.[BP-DI] C.[BX+2] D.[BP+BX] 5.NEAR標號的類型值為(B) A.2 B.-1 C.4 D.-2 6.組合類型中本段與其它段無邏輯關系,每段均有自己的基址的組合類型是(A) A.NONE B.PUBLIC C.COMMON D.STACK 7.下面哪一個命令是顯示內(nèi)存單元的內(nèi)容?(A) A.D命令 B.E命令 C.F命令 D.R命令 8.能被計算機直接識別和執(zhí)行的指令是(B) A.符號指令 B.機器指令 C.偽指令 D.宏指令 9.取變量偏移屬性的分析運算符是(A) A.OFFSET B.TYPE C.SIZE D.SEG 10.分析運算符LENGTH只有用(C)定義的變量才有意義。 A.表達式 B.字符串 C.DUP D.疑問號 11.在段定義中,(B)是默認的定位類型 A.PAGE B.PARA C.WORD D.BYTE 12.匯編語言指令中唯一不可缺少的域是(B) A.標號名字域 B.助記符域 C.操作數(shù)域 D.注釋域 13.定義緩沖區(qū)BUF,保留100個字節(jié)存儲空間的語句是(D)。 A.BUF DB 100 B.BUF DW 100 C.BUF DW 100 DUP(?) D.BUF DB 100 DUP(?) 14.匯編語言源程序中,每個語句由四項組成,如語句要完成一定功能,那么該語句中不可省略的項是(B)。 A.名字項 B.操作項 C.操作數(shù)項 D.注釋項 15.使計算機執(zhí)行某種操作的命令是(B) A.偽指令 B.指令 C.標號 D.助記符 二、判斷題(正確的畫,錯誤的畫)(共40分,每題5分) 1.指令MOV AL,2000H是合法的。() 2.指令MOV CX,AL是合法的。() 3.指令MOV IP,BX是合法的。() 4.串操作指令中用DI作為目的變址寄存器時使用段寄存器ES。(√) 5.OFFSET的優(yōu)先級低于AND。() 6.語句LENGTH=SIZE*TYPE是合法的。() 7.語句SKY DD ‘ABCD’是合法的。() 8.語句QEW DB ‘ASDF’是合法的。(√) 第五章 指令及分類 一、單項選擇題 (共30分,每題5分) 1.MOV BUF[BX],AX該指令中目的操作數(shù)尋址方式是(C)。 A.寄存器 B.寄存器間接 C.基址變址 D.寄存器相對 2.若AX=1020H,BX=1200H,CF=1,則SBB AX,BX的執(zhí)行結(jié)果為(C) A.0EF1FH B.0FEFFH C.0FE1FH D.0FE21H 3.若AX=2000H,CL=90H,則DIV CL執(zhí)行后,AX=(A) A.8038H B.8039H C.9138H D.8138H 4.若BL=83H,CF=1,則ADC BL,90H執(zhí)行后,BL=(D) A.15H B.16H C.17H D.14H 5.若DX=1010H,則AND DX,DX的執(zhí)行結(jié)果為(C) A.0000H B.1111H C.1010H D.FFFFH 6.換碼指令的助記符是(C) A.XCHG B.LEAS C.XLAT D.MOV 二、判斷題(正確的畫,錯誤的畫)(共70分,每題5分) 1.8086/8088的指令都是多字節(jié)指令。 () 2.8086/8088的指令最大長度是十個字節(jié)。 () 3.CLC是單字節(jié)指令。(√) 4.8086/8088的指令從功能上可以分成六組。(√) 5.同一條匯編指令助記符匯編后的指令操作碼都相同。() 6.當一條匯編指令翻譯成代碼指令時,由操作碼決定代碼指令的格式。() 7.NEG屬于減法指令。(√) 8.TEST屬于邏輯運算指令。(√) 9.MUL指令和IMUL指令功能完全相同。() 10.匯編語言中的字符串分為字節(jié)串和字串兩種。() 11.所有的字符串操作指令均可以使用重復前綴指令。(√) 12.匯編語言中對無符號數(shù)和有符號數(shù)的判別指令是不同的。(√) 13.一條指令可能有多個助記符。(√) 14.LOOPE和LOOPZ的功能完全相同。(√) 第六章 數(shù)據(jù)傳送指令 一、程序分析題(閱讀程序段后給出其運行結(jié)果)(15分) 設(SP)=80H,(BX)=0FFH;(AX)=1 PUSH BX ADD BX,AX XOR BX,AX PUSH BX POP CX 上述程序段運行后,(SP)=7EH,(CX)=0101H 二、單項選擇題(共35分,每題5分) 1.堆棧指針SP的內(nèi)容是(B) A.棧頂單元內(nèi)容 B.棧頂單元地址 C.棧底單元內(nèi)容 D.棧底單元地址 2.VAR是數(shù)據(jù)段中定義的變量,指令MOV AX,VAR 源操作數(shù)的尋址方式是(B) A.立即尋址 B.直接尋址 C.相對尋址 D.寄存器尋址 3.已知(DS)=3000H,(SS)=2500H,(BX)=0100H,(BP)=0040H, 指令MOV AX,DS:[BP]源操作數(shù)的物理地址是(B)。 A.25040H B.30040H C.25100H D.55040H 4.下列傳送指令中,有語法錯誤的指令是(A)。 A.MOV CS,AX B.MOV DS,AX C.MOV ES,AX D.MOV SS,AX 5.與MOV BX,OFFSET VAR指令完全等效的指令是(D)。 A.MOV BX,VAR B.LDS BX,VAR C.LES BX,VAR D.LEA BX,VAR 6.MOV SP,3210H PUSH AX執(zhí)行上述指令序理后,SP寄存器的值是(B)。 A.3211H B.320EH C.320FH D.3212H 7.執(zhí)行指令PUCH CX后堆棧指針SP自動(C) A.+1 B.不操作 C.-2 D.-1 三、簡答題 (30分) 已知數(shù)據(jù)段定義如下: DATA SEGMENT VA DB 10H VB DW 3*20 MSG DB ‘HELLO!’ COUNT EQU 15 BUF DW COUNT DUP(5,3 DUP(1,2),0) DATA ENDS 問題: ?。?)執(zhí)行MOV BX,0FFSET VA后,(BX)= ?。?)執(zhí)行MOV CX,TYPE BUF后,(CX)= ?。?)用一條指令將字母‘O’取到AL中. ?。?)經(jīng)匯編后,BUF占有的存儲空間是字節(jié) 答: (1)0 ?。?)2 ?。?)MOV AL, MSG+4 ?。?)240 四、執(zhí)行下列指令語句,把執(zhí)行結(jié)果填在空格中(20分) 已知(SS)=3000H?。⊿P)=200H?。ˋX)=785AH?。˙X)=1234H, 先執(zhí)行PUSH AX,再執(zhí)行PUSH BX,此時 ?。⊿S)= ( ) ?。⊿P)= ( ) 數(shù)12H存放的物理地址是( ) 答: ?。⊿S)= (3000H) ?。⊿P)= (1FCH) 數(shù)12H存放的物理地址是(1FDH) 第七章 算術(shù)運算程序 一、單項選擇題(共24分,每題2分) 1.十進制數(shù)運算調(diào)整指令AAS可以緊跟在(A)之后: A.SBB B.DEC C.CMP D.NEG 2.除法調(diào)整指令AAD是對(C)調(diào)整: A.AX中組合的十進制被除數(shù) B.AL中組合的十進制的商數(shù) C.AX中未組合的十進制被除數(shù) D.AL中未組合的十進制的商數(shù) 3.在多字節(jié)加減運算時,特別要注意標志(B)對運算的影響: A.AF B.CF C.SF D.OF 4.設(DS)=8260H?。―I)=3500H,指令DEC WORD PTR[DI]操作數(shù)的物理地址是(B) A.11760H B.85B00H C.86100H D.以上都不時 5.指令ADD ES:[DI],AX和存放在(B) A.寄存器 B.附加段 C.堆棧段 D.代碼段 6.設VAR是數(shù)據(jù)段中定義的字節(jié)變量,指令MUL VAR乘積存放在(A) A.AX B.BX C.CX D.DX 7.設(DH)=20H,執(zhí)行NEG DH指令后,正確的結(jié)果是(C) A.(DH)=20H CF=1 B.(DH)=20H CF=0 C.(DH)=0E0H CF=0 D.(DH)=0E0H CF=1 8.設DS=8225H,DI=3942H,指令NEG BYTE PTR [DI]操作數(shù)的物理地址是(A) A.85B92H B.86192H C.BB690H D.12169H 9.執(zhí)行INC指令除對于SF.ZF有影響外,還要影響的標志位是(A) A.OF,AF,PF B.OF,AF,CF C.OF,PF,CF D.AF,PF,CF 10.設DH=10H,執(zhí)行NEG DH指令后,正確的結(jié)果是(D) A.DH=10H CF=1 B.DH=10H CF=0 C.DH=10H CF=0 D.DH=0F0H 11.執(zhí)行除法指令后,影響的標志位是(D) A.CF,OF B.SF,ZF C.CF,OF,SF D.AF,CF,OF,PF,SF,ZF都不確定 12.執(zhí)行下面指令序列后,結(jié)果是(A) MOV AL,82H CBW A.AX=0FF82H B.AX=8082H C.AX=0082H D.AX=0F82H 二、判斷題(正確的畫,錯誤的畫)(共6分,每題2分) 1.指令AAA必須緊跟在加法指令之后使用。(√) 2.INC指令之后可以使用加法調(diào)整指令。() 3.AAD指令放在除法指令之后。() 三、程序分析題(10分) MOV AX,0 MOV BX,1 MOV CX,5 LOP:ADD AX,BX ADD BX,2 LOOP LOP 問題: ?。?)程序的功能是什么(可用算式表示)? ?。?)運行后,(AX)=? 答: (1)1+3+5+7+9 ?。?)25 四、按要求編程(共40分,每題10分) 1.設 X.Y.Z.W為十六位有符號數(shù)編程計算: W←((X+Y*Z)/8)-Y除法余數(shù)丟棄 若ZF=1,程序轉(zhuǎn)EQ;否則轉(zhuǎn)NOT_EQ。 參考答案: MOV AX,Y IMUL Z MOV BX,DX MOV CX,AX MOV AX,X CBW ADD AX, CX ADC DX, BX MOV CX,8 IDIV CX SUB AX,Y MOV W,AX JZ EQ NOT_EQ: 2.編寫一程序段,計算x2+y-5多項式的值。 說明:多項式存于AX中,x.y是無符號數(shù)。 數(shù)據(jù)說明:x DB 0CH y DB 06H 參考答案: MOV AL,x MUL x ADD AL,y ADC AH,0 SUB AX,5 3.設X,Y,Z,W存放16位帶符號數(shù),編程計算X*Y-Z的值并送到W 要求:寫出有關指令語句。 參考答案: MOV AX,X IMUL Y SUB AX,Z SBB DX,0 MOV W,AX 五、執(zhí)行下列指令語句,把執(zhí)行結(jié)果填在空格中(共20分,每題10分) 1.已知(AL)=0FFH, (BL)=10H。執(zhí)行MUL BL則 ?。ˋH)=( ) ?。ˋL)=( ) 答: ?。ˋH)=(0FH) (AL)=(0F0H) 2.執(zhí)行下列指令語句,把執(zhí)行結(jié)果填在空格中。 已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,(50102H)=0A1H,(50103H)=14H 先執(zhí)行MOV AX,[100H](AX)=( ); 再執(zhí)行ADD AX,[BX+DI](AX)=( ),CF=( ),OF=( ) 答: ?。ˋX)=(6845H) (AX)=(7CE6H),CF=(0),OF=(0) 第八章 邏輯運算 一、單項選擇題(共30分,每題5分) 1.下列指令執(zhí)行后,不影響標志位的指令是(A) A.PUSH AX B.ADD DX,CX C.XOR AX,AX D.CMP AX,5 2.下列指令執(zhí)行后,一定能使CF=0的指令是(B) A.NOT AX B.OR AX,AX C.SUB BX,SI D.ROL AX,1 3.對寄存器AX中的值除以2正確的指令序列是(C) A.MOV AX,-51 SHR AX,1 B.MOV AX,-51 ROR AX,1 C.MOV AX,-51 SAR AX,1 D.以上都不是 4.下列指令執(zhí)行后,ZF=1的指令是(A)。 A.MOV AX,0 B.OR AX,0 C.XOR AX,AX D.CMP AX,0 5.對寄存器AX的內(nèi)容乘以4的正確指令序列是(B)。 A.SHR AX,1 SHR AX,1 B.SHL AX,1 SHL,AX,1 C.ROL AX,1 ROL AX,1 D.RCR AX,1 RCR AX,1 6.下面指令執(zhí)行后,改變AL寄存器內(nèi)容的指令是(D)。 A.TEST AL,02H B.OR AL,AL C.CMP AL,BL D.AND AL,BL 二、程序分析題(共40分,每題10分) 1.已知(AX)=3200H,(DX)=0A000H,執(zhí)行下列程序段: NOT AX NOT DX ADD AX,1 ADC DX,0 問題: ?。?)程序執(zhí)行后,(AX)=( )(DX)=( ) ?。?)程序功能是什么? 答: ?。?)(AX)=(0CE00H) (DX)=(5FFFH) ?。?)雙字長數(shù)DX,AX求補 2.設(DX)=1234H MOV CL,8 ROR DX,CL AND DX,0FFH CMP DX,12H 上述程序段運行后,(Dx)=( ),ZF=( ) 答: ?。―X)=(12H),ZF=(1) 3.已知(AX)=0FF60H,CF=1 MOV DX,96 XOR DH,0FFH SBB AX,DX 執(zhí)行上述指令序列后(AX)=( ),CF=( ) 答: ?。ˋX)=965FH,CF=(0) 4.有下列程序段 MOV AX,10 ADD AX,AX MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX 上述程序段執(zhí)行后(AX)=( ),(BX)=( ) 答: ?。ˋX)=00A0H,(BX)=(0020H) 三、程序填空(共10分,每題5分) 1.下列程序段將AX中值乘以9,請將程序填寫完整 ?。?)__________ MOV CL,3 ?。?)____________ POP BX ADD AX,BX 答: ?。?)PUSH AX (2)SHL AX,CL 2.下列程序段求數(shù)組ARRAY的累加和。請將程序填寫完整。 ARY DW 45H,68H,…………,0ABC1H,9600H;共10項 COUNT DW 10 (1)__________ MOV CX,COUNT XOR AX,AX AGAIN:ADD AX,[SI] ADD SI,2 (2)____________ 答: ?。?)LEA SI,AKY ?。?)LOOP AGAIN 四、按要求編程(10分) 測試AL寄存器的D5和D0位,若同時為0,程序轉(zhuǎn)向ZERO,執(zhí)行AX減去BX;否則將AL清0,同時清CF和OF標志。寫出程序段。 解: TEST AL,00100001B JZ ZERO SUB AX,AX JMP STOP ZERO:SUB AX,BX STOP: 五、執(zhí)行下列指令語句,把執(zhí)行結(jié)果填在空格中(10分) 已知(DS)=2500H?。⊿I)=00A0H?。?50A0H)=01H?。?50A1H)=96H 執(zhí)行ROL WORD PTR[SI],1則 ?。?50A0H)=( ),(250A1H)=( ),CF=( ) 答: ?。?50A0H)=(03H) (250A1H)=(2CH) CF=(1) 第九章 分支程序 一、單項選擇題(共20分,每題5分) 1.段內(nèi)直接轉(zhuǎn)移指令采用的尋址方式是(B) A.直接尋址 B.相對尋址 C.絕對尋址 D.間接尋址 2.下列指令中不等價的是(C) A.JA和JNBE B.JG和JNLE C.JL和JNG D.JBE和JNA 3.下列指令中等價的是(C) A.JC和JO B.JNC和JNO C.JP和JPE D.JA和JG 4.條件轉(zhuǎn)移指令的轉(zhuǎn)移范圍(A) A.-128 -- +127 B.-32768 -- +32767 C.0 -- +255 D.0 -- +65535 二、判斷題(正確的畫,錯誤的畫)(共15分,每題5分) 1.無條件轉(zhuǎn)移指令對標志位無影響,而條件轉(zhuǎn)移指令對標志位有影響。() 2.間接轉(zhuǎn)移指令都可以通過寄存器來尋址。() 3.段間間接轉(zhuǎn)移指令中,低地址的字送IP,高地址的字送CS。(√) 三、程序分析題(共10分,每題5分) 1.執(zhí)行下列程序: MOV AX,9B47H MOV BX,0B568H ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP SHORT L5 問: ?。?)程序執(zhí)行后,(AX)= ? ?。?)程序轉(zhuǎn)向哪個標號? 答:(1)9B47H ?。?)L5 2.執(zhí)行下列程序: MOV AX,0C100H MOV BX,8FC0H SUB AX,BX JNC L1 JNO L2 JMP SHORT L3 程序執(zhí)行后,(AX)=( ),程序轉(zhuǎn)向_________________ 答:(AX)=(3140H),L1 四、程序填空(共10分,每題5分) 1.設AX,BX。CX中的數(shù)是數(shù)帶符號,下列程序求AX.BX.CX中的最小值,結(jié)果在AX中.請將程序填寫完整。 CMP AX,BX ?。?)_________________ XCHG AX,BX NEXT:CMP CX,AX (2)___________________ XCHG AX,CX EXIT: 答:(1)JLE NEXT (2)JGE EXIT 2.下列程序測試DL寄存器D6和D2位。若同時為0,轉(zhuǎn)ZERO,置AX為0,否則轉(zhuǎn)NON_ZERO,置AX為1。 TEST DL,(1)_________________ JZ ZERO NO ZERO:MOV AX,1 ?。?)___________________ ZERO:MOV AX,0 EXIT: 答:(1)01000100B ?。?)JMP NEXT 五、用分支結(jié)構(gòu)完成下列程序:(20分) 在給定個數(shù)的數(shù)中尋找最大值,放至指定的存儲單元。 參考程序: DATA SEGMENT BUFFER DB 2,4,3,6,1,5 COUNT DW 6 MAX DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, COUNT LEA BX, BUFFER MOV AX, [BX] INC BX DEC CX AGAIN: CMP AX, [BX] JGE NEXT MOV AX, [BX] INC BX NEXT: INC BX LOOP AGAIN CODE ENDS END START 六、編程序:(25分) 已知ARRAY DW 1200,-69H,798AH,………432BH;共10項 編程統(tǒng)計正數(shù)項個數(shù)存入PLUS單元中。 要求:程序完整,可上機調(diào)試 參考程序: DATA SEGMENT ARRAY DW 1200,-69H,798AH,~~~432BH PLUS DB ? DATA SEGMENT CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA MOV DS,AX MOV CX,10 MOV DL,0 LEA SI,ARRAY NEXT: CMP [SI],0 JL P1 INC DL ADD SI,2 LOOP NEXT JMP EXIT P1: ADD SI,2 LOOP NEXT EXIT: MOV PLUS,DL MOV AH,4CH INT 21H CODE ENDS END BEGIN 第十章 字符串操作 一、單項選擇題(共30分,每題6分) 1.在MOVB指令中,其目的串的物理地址為(D) A.DS*2*2*2*2+SI B.DS*2*2*2*2+DI C.ES*2*2*2*2+SI D.ES*2*2*2*2+DI 2.在串指令REP MOVSB中,重復次數(shù)一定放在(C)寄存器中。 A.AX B.BX C.CX D.DX 3.下面指令中,合理而有意義的指令是(D) A.REP LODSB B.REP SCASB C.REP CMPSB D.REP MOVSB 4.串操作指令中,目標串操作數(shù)的段地址一定在(D)寄存器中。 A.CS B.SS C.DS D.ES 5.在程序狀態(tài)字寄存器中,當方向標志DF位為0時,每次操作后使變址寄存器SI和DI(B) A.減量 B.增量 C.保持不變 D.地址減1 二、判斷題(正確的畫,錯誤的畫)(共10分,每題5分) 1.所有串操作指令的目標串的段地址均取自于段寄存器DS。() 2.串操作指令一般用CX存放長度。(√) 三、程序填空題(10分) 現(xiàn)有下列數(shù)據(jù)段: DATA SEGMENT S1 DB ‘ABCDEFGHIJKL’ COUNT EQU $-S1 BUF DB COUNT DUP(0) DATA ENDS 下面程序段是實現(xiàn)把S1中所有字符逆向傳送到BUF緩沖區(qū)(即S1中第一個字符送到BUF的最后一個單元,S1中最后一個字符送到BUF的第一個單元)。試把程序中所空缺的2條指令填上。 MOV SI,OFFSET BUF-1 MOV DI,OFFSET BUF MOV CX,COUNT ?。?)________________ L1: MOVSB ?。?)________________ LOOP L1 參考答案: (1)CLD ?。?)SUB SI,2 或 ?。?)STD ?。?)ADD DI,2 四、編程序題(共50分,第1題20分,第2題30分) 1.定義一個數(shù)據(jù)區(qū),它包含有23H,24H,25H和26H四個字符數(shù)據(jù),把這個數(shù)據(jù)區(qū)復制20次,并顯示出復制結(jié)果。(要求用字符串指令) 參考答案: DATA SEGMENT PATTERN DB 23H,24H,25H,26H DISPLAY DB 80 DUP(‘ ’),‘$’ DATE ENDS CODE SEGMENT ┇ CLD LEA SI,PATTERN LEA DI,DISPLAY MOV CX,80 REP MOVSB MOV AH,09H LEA DX,DISPLAY INT 21H RET CODE ENDS 2.內(nèi)存自BUF單元開始的緩沖區(qū)連續(xù)存放著100個學生的英文分數(shù),編程序統(tǒng)計其中90~100,60~89,60以下者各有多少人?并把結(jié)果連續(xù)存放到自RESUT開始的單元中,(要求用字符串指令,各段定義完整) 參考答案: DATA SEGMENT BUF DB 40H,64H,51H… RESUT DB 3 DUP(0) DATA ENDS STACK SEGMENT STACK DB 100 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS∶DATA,ES∶DATA,SS∶STACK,CS∶CODE START PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX MOV、AX,STACK MOV SS,AX LEA SI,BUF MOV CX,100 CLD AO:LODSB CMP AL,5AH JL L60 INC [RESUT] JMP COM L60: CMP AL,3CH JGE K8960 INC [RESUT+1] JMP COM K8960: INC [RESUT+2] COM: LOOP AO RET START ENDP CODE ENDS END START 第十一章 循環(huán)程序 一、單項選擇題(共10分,每題5分) 1.循環(huán)指令LOOP AGAIN終止循環(huán)的條件是(C) A.(AX)=0 B.(BX)=0 C.(CX)=0 D.(DX)=0 2.循環(huán)指令LOOP NZ終止循環(huán)的條件是(B)。 A.CX=0,且ZF=0 B.CX=0,或ZF=1 C.CX≠0,且ZF=0 D.CX≠0,或ZF=1 二、程序分析題(10分) DATA SEGMENT S9 DB 0,1,2,3,4,5,6,7,8,9 DATA ENDS ┆ LEA SI,S9 LEA, DI,S9+1 MOV CX,5 LOP: MOV AL,[SI] XCHG AL,[DI] MOV [SI],AL ADD SI,2 ADD DI,2 LOOP LOP 上述程序段運行后,S9開始的10個字節(jié)存儲單元內(nèi)容是什么? 答:S9 DB 1,0,3,2,5,4,7,6,9,8 三、用循環(huán)結(jié)構(gòu)完成下列程序:(15分) 向存儲器的十個連續(xù)單元寫入1,2,3,4,5,6,7,8,9,10個數(shù)字。 參考答案: DATA SEGMANT BUFFER DB 10 DUP(?) VAR1 DB 1,2,3,4,5,6,7,8,9,10 COUNT DB 10 DATA ENDS CODE SEGMANT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX LEA DI, BUFFER LEA SI, VAR1 MOV CH, 0 MOV CL, COUNT AGAIN:MOV AL, [DI] MOV [SI], AL INC DI INC SI LOOP AGAIN CODE ENDS END START 四、編寫一程序段統(tǒng)計數(shù)組ARY中負數(shù)的個數(shù),并存入CONT單元中。(15分) 參考答案: DATA SEGMENT ARY DB 一1, 0, 3, 一6,7, 23,0,-50,3,1 CONT DB ? DATA ENDS MOV SI, 0 MOV BL, 0 MOV CX, 10 LOP:CMP ARY[SI], 0 JGE BIG INC BL BIG:INC SI LOOP LOP MOV CONT, BL 五、編寫一程序段,統(tǒng)計數(shù)據(jù)區(qū)BUF中0的個數(shù),并存入RES單元。數(shù)據(jù)段為:(20分) DATA SEGMENT BUF DB 0,5,0,3,2 RES DB ? DATA ENDS 參考答案: MOV CX,5 MOV SI,OFFSET BUF MOV BL,0 LOP:MOV AL,〔SI〕 CMP AL,0 JNE NEXT INC BL NEXT:INC SI LOOP LOP MOV RES,BL 六、編程序(30分) 在BUF1和BUF2兩個數(shù)據(jù)區(qū)中,各定義有10個帶符號字數(shù)據(jù),試編制一完整的源程序,求它們對應項的絕對值之和,并將和數(shù)存入以SUM為首址的數(shù)據(jù)區(qū)中。 DATA SEGMENT BUF1 DW -56,24,54,-1,89,-8,---- BUF2 DW 45,-23,124,345,-265,---- SUM DW 10 DUP(0) DATA ENDS 參考程序: DATA SEGMENT BUF1 DW -56,24,54,-1,89,-8,---- BUF2 DW 45,-23,124,345,-265,---- SUM DW 10 DUP(0) DATA ENDS STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START:MOV AX,DATA MOV DS,AX MOV CX,10 LEA SI,BUF1 LEA DI,BUF2 LEA BX,SUM NEXT:MOV AX,[SI] MOV DX,[DI] TEST AX,8000H JE TDX NEG AX TDX:TEST DX,8000H JE ADDS NEG DX- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- 匯編語言 基礎 試題
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://www.820124.com/p-6525900.html