匯編語言練習題_第1頁
匯編語言練習題_第2頁
匯編語言練習題_第3頁
匯編語言練習題_第4頁
匯編語言練習題_第5頁
已閱讀5頁,還剩8頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、 單項選擇題 (共20題)1對于有符號的數來說,下列哪個值最大( D)A:0F8H B:11010011B C:82D:123Q 2下列有關匯編語言中標號的命名規則中,錯誤的是(D )A:通常由字母打頭的字符、數字串組成 B:標號長度不能超過31個字符C:?和$不能單獨作為標號 D: 號不可位于標號首 3設A=0.4H,B=0.8H,C=0.4,D=0.4Q,它們之間的關系是(C )。AC+D=B BA+D=B CB=D DA>C>D4下列四個寄存器中,可作為十六位寄存器的是(C )ADL BCLCBPDEBX 58088/8086存儲器分段,每個段不超過( D) A.64K個

2、字 B. 32K個字節 C.1兆個字節 D.64K個字節 6尋址指令MOV CX, BX + DI + 20使用的是哪一種尋址方式( B)A:寄存器尋址B:相對基址變址尋址C:變址尋址D:基址變址尋址7連接程序把匯編語言源程序生成的目標文件(.OBJ文件)轉換成( B)。A.OBJ文件 B.EXE文件C.LST文件D.CRF文件8在程序運行過程中,確定下一條指令的物理地址的計算表達式是( A)。A. (CS)×16+(IP) B. (DS)×16+(DI) C. (SS)×16+(SP) D(ES)×16+(SI)9若AX= - 15要得到AX=15應執

3、行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 108086/8088系統執行傳送指令MOV時(A ) A.不影響標志位 B.影響DF方向標志 C.影響SF符號標志 D.影響CF進位標志 11執行下列程序后,(AL)=(D )H。DATA SEGMENTTAB DB 0123456789DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX, DATA MOV DS, AX MOV BX, OFFSET TAB MOV AL, 04XLAT TABA04 B0400C33D3412下列指令中

4、操作數在代碼段中的是(A )。AMOV AL, 25H BADD AH, BL CINC BYTE PTR 25H DCMP BL, AL13.若要求一個操作數中的若干位維持不變,若干位置“1”,可以使用( B)A:NOTB:ORC:ANDD:XOR 14下列指令中段默認為堆棧段的是(C ) A.MOV AX,BX+SI+10 B.ADD AX,ES:SI C.SUB BX,BPDI D. MOV DX,1000H15設BL05H,要使結果BL0AH,應執行的指令是( C)。ANOT BL BAND BLCXOR BL, 0FHDOR BL, 0FH16表示一條指令的存儲單元的符號地址稱(A

5、)。A標號 B變量C偏移量 D類型 17關于8086/8088微機系列,下列說法哪個是正確的( D)A:一個存儲單元由16個二進制位組成,簡稱字。B:當存儲一個字數據時,低字節放高地址位,高字節放低地址位。C:在內存空間中,可以無限分配段,且段的大小不受限制。D:段與段之間可以鄰接,也可以重疊。 18下列關于堆棧的說法,錯誤的是(D )A:以“先入后出”為原則。B:棧區最高地址單元的前一個單元為棧底。C:運行中SP寄存器動態跟蹤棧頂位置。D:壓棧和彈出都是以字節為單位。  19分配給INT 12H在中斷向量表中的物理地址是 ( D)。A12H B24HC36H D48H 20DOS調

6、用INT 21H的鍵盤輸入功能1和功能8的區別是( B )。A功能1不回顯而功能8回顯B功能1回顯而功能8不回顯C功能1和功能8都不回顯 D功能1和功能8都回顯二、填空題(共27題)。(最后二題有備選答案)1設一存儲單元中的二進制代碼是83H,其對應的一個無符號數是 148 ,一個帶符號數是 -108 。28086/8088系統中,I/O端口地址范圍是 0000HFFFFH。 38086/8088系統中,段內一個單元相對段的起始地址的距離稱為 偏移地址 , 它小于 64K 。48086/8088CPU內部用來存放段地址的寄存器有 CS,DS,ES,SS 。5在PC機中,使用 SS 、 SP 合

7、成20位的物理地址,用以指向當前堆棧桟頂的位置。6一個字單元由二個連續的 字節 單元組成,其中數據的低8位存放在 低地址 單元、高8位存放在 高地址 單元。7. 在指令中直接給出操作數的尋址方式稱為 立即尋址方式 。 8設MASK為一個變量,在“MOV AX, MASKSI+BX”指令中,源操作數的尋址方式是 相對基址變址尋址方式 ,其物理地址是 (DS)×16+(SI)+(BX)+OFFSET MASK ,目的操作數的尋址方式是 寄存器尋址方式 。9若(SS)=1100H,(SP)=0150H,那么執行PUSH EAX指令后SP的內容是 014CH ,再執行POP CX指令后桟頂的

8、物理地址是 1114EH 。 10. CPU執行“JMP BX”指令只改變 IP ,而不改變 CS內容。11執行CALL NEAR PTR SUBROUT時,在修改IP/EIP內容之前應該 PUSH IP或PUSH EIP 。12 STRING DB ABCDEFGCOUNT EQU $-STRINGCOUNT的值是 7 ,表示的意義是 表示變量STRING所分配的字節數 。13. 數據定義語句:TAB DW 100 DUP(?)執行MOV BX, LENGTH TAB指令后,BX的內容是 100 。14. 循環程序可由三個部分組成:設置循環初始部分、循環體和 循環控制部分 。15. 在多個模

9、塊中傳遞參數的時候,在本模塊中要使用另一個模塊中的符號要用 EXTRN 偽操作進行說明符號,本模塊中的符號要提供給另一個模塊使用要用 PUBLIC 偽操作進行說明符號,16. 宏匯編的三個步驟是: 宏定義 、宏調用和宏展開。17. 每種類型的中斷都由相應的 中斷處理程序 來處理。18下列程序段求數組FLD的平均值,結果在AL中。請將程序填寫完整(不考慮溢出)FLD DW 10, -20, 30, -60, -71, 80, 79, 56LEA SI,_FLD_ MOV CX, 8XOR AX, AXR1:ADD AX ,_ SI_ ADD SI, 2LOOP R1MOV CL, 8IDIV C

10、LHLT19MOV AX, 1090HSUB AX, 4AE0HJC L1JO L2JMP L3上述程序執行后AX=_C5BO_,程序轉向_L1_20.假設寄存器AX=1234H,DX=0A000HMOV BX, 0MOV CX, BXSUB CX, AXSBB BX, DXMOV AX, CXMOV DX, BX上述程序段執行后AX=_OEDCCH_ ,DX=_5FFFH_21MOVAX, 234HMOVCL, 3ROLAX, CLDECAXMOVCX, 4MULCX 此段程序執行完后,(AX)= _467CH_ , (CX)= _4_ 22DA1  DB 83H,72H,61H,

11、94H,5AH       MOV CX,WORD PTR DA1     AND CX,0FH     MOV AL,DA1+3     SHL AL,CL  上述指令序列執行后,AL=_OAOH_,CL=_03H_。23.閱讀如下程序片段MOV AL,4CHMOV BL,86HADD AL,BL執行上述程序片段后,(AL)= 0D2H ,(BL)= 86H ,CF= 0 ,OF= 0 24以下程序求出首

12、地址為BUF的M字數組的內容之和。 DATA SEGMENTBUF DW X1,X2,XMCOUNT EQU ($一BUF)/2SUM DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART:MOV AX, DATA MOV DS, AXMOV BX,OFFSET BUFMOV CX,COUNT MOV AX, 0 LOP1:ADD AX, BX ADD BX, 2 LOOP LOP1MOV SUM,AX MOV AH, 4CH INT 21HCODE ENDS END START25以下程序完成將鍵盤輸入的小寫字母轉換成大寫字母并輸出顯示

13、,直到輸入字符“$”結束。DATA SEGMENTERROR DB “INPUT EXCEEDS az,PLEASE INPUT AGAIN!”,0DH,0AH,$DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AXNEXT: MOV AH, 1 INT 21H CMP AL,$ JE EXIT CMP AL, a JB ERR CMP AL,z JA ERR SUB AL, 20H MOV DL, AL MOV AH, 2 INT 21H JMP NEXTERR: LES DX, ERROR M

14、OV AH, 9 INT 21H JMP NEXTEXIT: MOV AH, 4CH INT 21HCODE ENDS END START 26下面子程序完成把BX寄存器內的二進制數用十六進制數的形式在屏幕上顯示出來。 BINTOHEX PROC NEAR PUSH CX PUSH AX PUSH DX MOV CH, 4 ROTATE: MOV CL, 4 ROL BX, CL MOV AL, BL 2 ADD AL, 30H CMP AL, 3AH 1 ADD AL, 7H PRINTIT: MOV DL, AL MOV AH, 2 INT 21H 3 JNZ ROTATE POP DX

15、POP AX POP CX RET BINTOHEX ENDP備選答案: JL PRINTIT AND AL, OFH DEC CH27下面程序段是判斷寄存器BL中第3位、第5位是否同時為1,如同時為1,則AH置0,否則AH置全l。 MOV DL, BL NOT DL 2 JZ ZERO MOV AH, 0FFH 1 ZERO: MOV AH, 0NEXT: 備選答案: JMP NEXT TEST DL, 28H三、判斷題 (在正確的敘述或指令前打P,錯誤的題前打O)(共20題)( X ) 1. PUSH 5588H ( X ) 2. MOV DS, 1720H( X ) 3. ADD AX,

16、 CL( X ) 4. AND AX,DX( X ) 5. MOV CS, 0600H( X ) 6. PUSH 074CH( X ) 7. ADD AX, CL( X ) 8. OR BX,CX( V ) 9 IMUL DX( X ) 10. XOR AL, BX( X ) 11. MOV DX, BX( X ) 12. SUB EAX, ECX*10+100( X ) 13. MOV DS, 1200H( X ) 14. XCHG 256, 100H( V ) 15. OUT DX, AX( X ) 16. LEA VAR, BP+SI( X ) 17. NEG 88( V ) 18. I

17、NC WORD PTR 100H( V ) 19 IMUL DX( X ) 20. XOR AL, BX四、簡答題(共4題)1.標志寄存器:標志寄存器:是8086/088中唯一按位操作的寄存器,該寄存器為16位,有效的標志位共9位。其中,CF,PF,AF,ZF,SF,OF為狀態標志,用于反映最近一次影響標志位的算術或邏輯運算中運算過程、運算結果的一些性質;TF,IF,DF為控制標志,用于控制CPU對某些特定事件的處理方式以及CPU的工作模式。 2.邏輯地址:邏輯地址:由兩個16位的地址分量構成,其中一個為段基值,另一個為偏移量,兩個分量均為無符號數編碼。物理地址=段基值×16+偏移量

18、.3. 下列程序段執行完后,SF、ZF、CF、OF的內容是什么? MOV BX, 4321H ADD BX, 1234HSF=0 ZF=0 CF=0 OF=04. 下列ASC碼串(包括空格串)依次存儲在起始地址為CSTRING的字節單元中: CSTRING DB PERSONAL COMPUTER 請編寫指令將字符串中的第1個和第7個字符傳給DX寄存器。MOV DX, CSTRINGMOV DX, CSTRING+6五、程序分析題(分析程序段總的功能或回答相關問題或運行結果)(共14題)。1 閱讀如下程序片段MOV AL,4CHMOV BL,0B5HADD AL,BL執行上述程序片段后,(AL

19、)= 01H ,(BL)= 0B5H ,CF= 1 ,OF= 0 2 閱讀如下程序片段MOV AL,0F3HMOV DL,0C4HADD AL,DLAND AL,0FH執行上述程序片段后,(AL)= 7H , CF= 0 ,OF= 0 ,PF= 0 3 閱讀如下程序片段MOV AL,7EHMOV CL,04HROL AL,CL執行上述程序片段后,(AL)= 0F9H ,(CL)= 04H ,CF= 1 ,OF= 無意義 4 閱讀如下程序片段MOV AX,0632HMOV BX,0C202HSUB AX,BXINC AX執行上述程序片段后,(AX)= 4421H ,(CF)= 1 ,OF= 0

20、,PF= 0 5 閱讀如下程序片段,假設(DS)=0100H,字節單元(01024H)=56H,字節單元(01025H)=28HMOV BX,0024HLEA BX,BXOR BX,0ADC BX,BX執行上述程序片段后,(BX)= 287AH ,(CF)= 0 ,OF= 0 ,PF= 0 6 閱讀如下程序片段,假設(SP)=0064HMOV AX,0001HMOV BX,0002HPUSH AXPUSH BXPOP AXPOP BX執行上述程序片段后,(AX)= 0002H ,(BX)= 0001H ,(SP)= 0064H 。(CF)= 0 7 DATA SEGMENTTAB DW 1,2

21、,3,4,5ENTRY DW 2 DATA ENDSMOV BX, OFFSET TABADD BX, ENTRYMOV AX, BXMOV CX, TYPE TABMOV DX, SIZE TAB 執行上述指令后,(AX)= 3 ,(CX)= 2 ,(DX)= 2 。8MOV AX, W IMUL X MOV BX, Y ADD BX, 6 IDIV BX MOV Z, AX MOV R,DX 上述程序段中X,Y,Z,R,W均為有符號數的字變量,試說明上述程序段完成什么功能。求數值表達式的值:(W*X)/(Y+6)"Z,余數"R9MOV AX, 1234HMOV CL,

22、8ROL AX, CL;這條指令執行后,(AX)= 3412H DEC AX ;這條指令執行后,CF 不變 MOV CX, 4MUL CX ;這條指令執行后,SF= 1 10 CMP DX, BXJG XJL YCMP AX, CXJA XX:Y:有兩個雙精度數a、b分別存儲于DX、AX及BX、CX中,上述程序段完成的功能是什么?完成的功能是:如果a.>b,則轉向X執行,否則轉向Y執行。11設有宏定義如下: TRANS MACRO BUF1, BUF2MOV AX, BUF1MOV BX, BUF2MOV BUF1, BXMOV BUF2, AX ENDM請說明宏指令完成的功能是什么?并

23、將宏調用TRANS WORD_VAR1, WORD_VAR2進行宏擴展。宏定義完成的功能是:將兩個存儲單元BUF1和BUF2的內容互換。宏調用TRANS WORD_VAR1, WORD_VAR2的宏擴展是MOV AX, WORD_VAR 1MOV BX, WORD_VAR 2MOV WORD_VAR 1, BXMOV WORD_VAR 2, AX12分析下面程序段,回答指定問題: XOR AL, AL CALL SUBROUT MOV BL, AL CALL SUBROUT RCR AL, 1 SUBROUT PROC NEAR NOT AL JS NEXT STCNEXT:RET SUBRO

24、UT ENDP上述程序執行后,(AL)= 80H ,(BL)= 0FFH 。13. 試回答下面程序段執行后完成什么功能? OLDS DB COMPUTER N EQU $-OLDS NEWS DB COMPUTORLEA SI, OLDS LEA DI, NEWS MOV CX, N CLD REPE CMPSB JNZ NEW_ADDRESSOLD_ADDRESS:NEW_ADDRESS:比較字符串OLDS和NEWS是否相同,若不相同則轉到NEW_ADDRESS執行,否則轉到OLD_ADDRESS14 MOV CX, L LEA DI, ARRAY MOV AL, 20H CLDREPNE

25、SCASB JNZ NOT_FOUNDNOT_FOUND:試回答上述程序段完成的功能是什么?在長度為L的字符串ARRAY中查找空格,若有空格在順序執行,否則轉向NOT_FOUND。六、計算題(共2小題)1 將十進制數100分別轉換為二進制、十六進制數,它們的表示形式分別為多少?二進制為 01100100B,十六進制為64H2 假設(DS)=0C00H,(BX)=0210H,對于指令MOV DS:100HBX,AL,其目的操作數的物理地址為多少?EA = (BX)+0100H = 0310H,物理地址 = 0C000H + 0310H = 0C310H七、程序設計題(共4題)1 試編寫一程序片段,實現BL高4位與低4位相互交換

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論