完整匯編語言程序設計試題及答案合集_第1頁
完整匯編語言程序設計試題及答案合集_第2頁
完整匯編語言程序設計試題及答案合集_第3頁
完整匯編語言程序設計試題及答案合集_第4頁
完整匯編語言程序設計試題及答案合集_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、匯編語言程序設計試題及答案合集 匯編語言程序設計試題及答案 1對于有符號的數來說,下列哪個值最大(D) A:0F8H 11010011B B:D : C:82 123Q 2下列有關匯編語言中標號的命名規(guī)則中,錯誤的是(D) A:通常由字母打頭的字符、數字串組成 B:標號長度不能超過31個字符 C:?和$不能單獨作為標號 D: 號不可位于標號首 38088/8086存儲器分段,每個段不超過(D ) A.64K個字 B.32K個字節(jié) D.64K個字節(jié) C.1兆個字節(jié) 4尋址指令MOV CX, BX + DI + 20使用的是哪一種尋址方式(B) A:寄存器尋址 B:相對基址變址尋址 C:變址尋址D

2、:基址變址尋址 5若AX= - 15要得到AX=15應執(zhí)行的指令是(A ) A.NEG AX B.NOT AX D.DEC AX C.INC AX 68086/8088系統(tǒng)執(zhí)行傳送指令MOV時( A) A.不影響標志位 B.影響DF方向標志 D.影響C.影響SF符號標志 CF進位標志 7.若要求一個操作數中的若干位維持不變,若干位置“1”,可以使用(B) A:NOT B:OR C:AND D:XOR 8下列指令中段默認為堆棧段的是( C) A.MOV AX,BX+SI+10 B.ADD AX,ES:SI C.SUB BX,BPDI D. MOV DX,1000H 9關于8086/8088微機系

3、列,下列說法哪個是正確的(D) 個二進制位組成,簡稱字。16:一個存儲單元由AB:當存儲一個字數據時,低字節(jié)放高地址位,高字節(jié)放低地址位。 C:在內存空間中,可以無限分配段,且段的大小不受限制。 D:段與段之間可以鄰接,也可以重疊。 10下列關于堆棧的說法,錯誤的是(D) A:以“先入后出”為原則。 B:棧區(qū)最高地址單元的前一個單元為棧底。 C:運行中SP寄存器動態(tài)跟蹤棧頂位置。 D:壓棧和彈出都是以字節(jié)為單位。 11表示過程定義結束的偽指令是( A) A.ENDP B.ENDS C.END D.ENDM 12BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $

4、BUF1 符號COUNT等價的值是( B) A.6 B.18 C.16 D.9 13下列標志位中,可以用來判斷計算結果正負的是(B) A:PF B:SF C:DF D:OF 14下列指令正確的是( CD) A. MOV 100H, BX B.MOV DS, ES D.MOV AX, 34H C. ADD VBX, CX 15下列哪個寄存器是屬于指針寄存器(C) A:SI B C :SP :DX D:ES 二、填空題 (每小題4 分,共 20 分) 1 下列程序段求數組FLD的平均值,結果在AL中。請將程序填寫完整(不考慮溢出) FLD DW 10, -20, 30, -60, -71, 80,

5、 79, 56 _LEA SI,FLD_ MOV CX, 8 XOR AX, AX R1:_ADD AX ,SI_ ADD SI, 2 LOOP R1 MOV CL, 8 IDIV CL HLT 2MOV AX, 1090H SUB AX, 4AE0H JC L1 JO L2 JMP L3 上述程序執(zhí)行后AX=_C5B0_,程序轉向_L1_ 3假設寄存器AX=1234H,DX=0A000H MOV BX, 0 MOV CX, BX SUB CX, AX SBB BX, DX MOV AX, CX MOV DX, BX 上述程序段執(zhí)行后AX=_0EDCCH_ ,DX=_5FFFH_ 4MOV A

6、X, 234H MOV CL, 3 ROL AX, CL DEC AX MOV CX, 4 MUL CX _467CH_ _4_ , (CX)= 此段程序執(zhí)行完后,(AX)=5DA1 DB 83H,72H,61H,94H,5AH MOV CX,WORD PTR DA1 AND CX,0FH MOV AL,DA1+3 SHL AL,CL 上述指令序列執(zhí)行后,AL=_0A0H_,CL=_03H_。 三、簡答題 (每小題4 分,共 20 分) 1如TABLE為數據段中0100單元的符號名,其中存放的內容為0FF00H,試問以下兩條指令有什么區(qū)別?指令執(zhí)行后,AX寄存器的內容是什么? MOV AX,T

7、ABLE MOV AX,OFFSET TABLE 2對于下面的數據定義 TAB1 DW 10 DUP(?) TAB2 DB 10 DUP(?) TAB3 DB 1234 MOV AX,SIZE TAB1 MOV BL,SIZE TAB2 MOV CL,SIZE TAB3 三個寄存器中值分別為多少? 4已知某個人計算機0000:00800000:00B0區(qū)域的內容如下: 0000:0080 CC A1 C8 00 80 89 A8 98 65 43 35 23 12 45 C4 00 0000:0090 A4 78 98 56 90 00 00 78 49 03 28 B7 B8 9C A2 B

8、8 0000:00A0 CC A1 C3 00 80 89 A8 98 65 43 35 23 12 45 C4 00 2A 1B C8 04 00 33 11 23 DC 41 54 BB 90 45 33 00B0 0000: 01 試求執(zhí)行軟中斷指令INT 23H時,系統(tǒng)將轉移到哪里進入中斷服務程序。 5試計算邏輯地址4017:000A,4015:0002A和4010:0007A對應的物理地址。這三個物理地址說明了什么問題? 四、編程題 (每小題30 分,共 30分) 1試編制一程序,統(tǒng)計DT_W字數組中正數、負數和0的個數,并分別保存在C1,C2和C3變量中。 匯編語言程序設計試題及答

9、案 一 名詞解釋(本大題共5小題,每小題3分,共15分)試解釋下列名詞的含義。 1 邏輯地址:邏輯地址由兩個16位的地址分量構成,其中一個為段基值,另一個為偏移量,兩個分量均為無符號數編碼。物理地址=段基值16+偏移量 2 物理地址:CPU通過地址總線向外發(fā)送的20位地址,在訪問內存單元前,CPU必須先將CPU內部的邏輯地址轉換為物理地址。 3 標志寄存器:標志寄存器(Flag Register)又稱程序狀態(tài)字(Program Status Word),是8086/088中唯一按位操作的寄存器,該寄存器為16位,有效的標志位共9位。其中,CF,PF,AF,ZF,SF,OF為狀態(tài)標志,用于反映最

10、近一次影響標志位的算術或邏輯運算中運算過程、運算結果的一些性質;TF,IF,DF為控制標志,用于控制CPU對某些特定事件的處理方式以及CPU的工作模式。 4 存儲器尋址方式:發(fā)生在指令的執(zhí)行周期,需要在執(zhí)行周期內單獨啟動總線操作來完成。比寄存器尋址、立即數尋址速度都慢。 5 補碼:計算機系統(tǒng)內部用于表示帶符號數的一種編碼,正整數的補碼為其真值本身,負整數的補碼為其真值變反加1的結果。 二 計算題(本大題共5小題,每小題4分,共20分)試按照各小題的要求給出計算結果。 1 將十進制數100分別轉換為二進制、十六進制數,它們的表示形式分別為多少? 解:二進制為 01100100B,十六進制為64H

11、。 2 假設(DS)=0B00H,(BX)=0210H,對于指令MOV DS:120HBX,AL,其目的操作數的物理地址為多少? 解:EA=(BX)+0120H=0330H,物理地址=(DS)*16+EA=B330H 3 假設(BX)=0210H,(DI)=0060H,對于指令ADD DL,BXDI,其源操作數的偏移量為多少? 解:偏移量=(BX)+(DI)=0270H 4 假設當前(SP)=0060H,連續(xù)執(zhí)行5條PUSH指令后,(SP)=? 解:(SP)=0060H 5*2 =0060H -000AH = 0056H 5 對于一個十進制數 65,其二進制補碼表示形式為多少? 解:先求二進制

12、真值-01000001,變反加一補碼為10111111 三 排錯題(本大題共4小題,每小題5分,共20分)每小題列出了一條指令,判斷該指令有無語法錯誤,如果存在語法錯誤,請指出具體的錯誤原因,判斷正確給2分,分析正確給3分,判斷錯誤不給分。 1 PUSH 5588H 錯誤,操作數不能用立即數; 2 MOV DS, 1720H 錯誤,MOV指令不能對段寄存器直接傳送立即數; 3 ADD AX, CL 錯誤,寄存器長度不匹配; 4 AND AX,DX 錯誤,DX不用于存儲器尋址。 分)每小題列出了一段小的程30分,共5小題,每小題6程序分析題(本大題共 四序片段和相關存儲單元的初始值,請按題目的要

13、求分析各程序片段的運行結果。(寄存器中的內容請使用十六進制形式給出) 1 閱讀如下程序片段 MOV AL,4CH MOV BL,0B5H ADD AL,BL 執(zhí)行上述程序片段后,(AL)= 01H (1分),(BL)= 0B5H (1分), CF= 1 (1分),OF= 0 (1分),PF= 0 (1分) 2 閱讀如下程序片段 MOV AL,0F3H MOV DL,0C4H ADD AL,DL AND AL,0FH 執(zhí)行上述程序片段后,(AL)= 07H (1分),(AF)= 不確定 (1分), CF= 0 (1分),OF= 0 (1分),PF= 0 (1分) 3 閱讀如下程序片段 MOV A

14、L,7EH MOV CL,04H ROL AL,CL 執(zhí)行上述程序片段后,(AL)= 0F9H (2分),(CL)= 04H (1分), CF= 1 (1分),OF= 無意義 (1分) 4 閱讀如下程序片段 MOV AX,0632H MOV BX,0C202H SUB AX,BX INC AX 執(zhí)行上述程序片段后,(AX)= 4431H (2分),(CF)= 1 (2分), OF= 0 (1分) 5 閱讀如下程序片段,假設(DS)=0100H,字節(jié)單元(01024H)=56H,字節(jié)單元(01025H)=28H MOV BX,0024H LEA BX,BX OR BX,0 ADC BX,BX 執(zhí)

15、行上述程序片段后,(BX)= 287AH (3分),(CF)= 0 (2分), OF= 0 (1分) 6 閱讀如下程序片段,假設(SP)=0064H MOV AX,0001H MOV BX,0002H PUSH AX PUSH BX POP AX POP BX ,分)2(= 0001H )BX(,分)2(= 0002H )AX(執(zhí)行上述程序片段后,(SP)= 0064H (1分) 五 程序設計題(本大題共2小題,第一小題7分,第二小題8分,共15分) 1 試編寫一程序片段,實現(xiàn)BL高4位與低4位相互交換(7分) 解:MOV CL,4; ROL BL,CL 2 試編寫一程序片段,不使用乘除法指令

16、,實現(xiàn)(AX)*5+14)/ 2的功能(AX中的數據理解為補碼)(8分) 解:MOV BX,AX MOV CX,2 SAL AX,CX ADD AX,BX ADD AX,14 SAR AX,1 匯編語言程序設計試題及答案 六 名詞解釋(本大題共5小題,每小題3分,共15分)試解釋下列名詞的含義。 6 寄存器:計算機系統(tǒng)內,位于CPU內部的存儲單元,CPU訪問此類存儲單元不需要使用總線。 7 物理地址:CPU通過地址總線向外發(fā)送的20位地址,在訪問內存單元前,CPU必須先將CPU內部的邏輯地址轉換為物理地址。 8 段基值:邏輯地址的一個組成部分,用于指示一個段在內存中的起始地址。 9 尋址方式:

17、指令獲取操作數的方式。 10 補碼:計算機系統(tǒng)內部用于表示帶符號數的一種編碼,正整數的補碼為其真值本身,負整數的補碼為其真值變反加1的結果。 七 計算題(本大題共5小題,每小題4分,共20分)試按照各小題的要求給出計算結果。 6 將十進制數100分別轉換為二進制、十六進制數,它們的表示形式分別為多少? 答案:二進制為 01100100B,十六進制為64H 7 假設(DS)=0C00H,(BX)=0210H,對于指令MOV DS:100HBX,AL,其目的操作數的物理地址為多少? 答案:EA = (BX)+0100H = 0310H,物理地址 = (DS)*16 + EA = 0C000H +

18、0310H = 0C310H 8 假設(BX)=0100H,(SI)=0020H,對于指令ADD DL,BXSI,其源操作數的偏移量為多少? 答案:EA = (BX)+(SI)+ 0 = 0120H 9 假設當前(SP)=0060H,連續(xù)執(zhí)行5條PUSH指令后,(SP)=? 答案:每執(zhí)行一條PUSH指令,(SP)被減2,因此執(zhí)行5條PUSH指令后,(SP)=0060H 5*2 =0060H -000AH = 0056H 10 對于一個十進制數 80,其二進制補碼表示形式為多少? 答案:首先求得二進制真值為 01010000B,負數補碼為變反加1的結果,即 10110000B 八 排錯題(本大題

19、共4小題,每小題5分,共20分)每小題列出了一條指令,判斷該指令有無語法錯誤,如果存在語法錯誤,請指出具體的錯誤原因,判斷正確給2分,分析正確給3分,判斷錯誤不給分。 5 MOV CS, 0600H 參考答案:錯誤,不能使用MOV指令傳遞立即數給CS 6 PUSH 074CH 參考答案:錯誤,單操作數指令不能使用立即數 7 ADD AX, CL 參考答案:錯誤,寄存器長度不匹配 8 OR BX,CX 參考答案:錯誤,CX不能用于存儲器尋址 九 程序分析題(本大題共6小題,每小題5分,共30分)每小題列出了一段小的程序片段和相關存儲單元的初始值,請按題目的要求分析各程序片段的運行結果。(寄存器中

20、的內容請使用十六進制形式給出) 7 閱讀如下程序片段 MOV AL,4CH MOV BL,86H ADD AL,BL 執(zhí)行上述程序片段后,(AL)= 0D2H (1分),(BL)= 86H (1分), CF= 0 (1分),OF= 0 (1分),PF= 1 (1分) 閱讀如下程序片段 8 MOV AL,0F3H MOV DL,0C4H ADD AL,DL AND AL,0FH 執(zhí)行上述程序片段后,(AL)= 07H (1分),(AF)= 不確定 (1分), CF= 0 (1分),OF= 0 (1分),PF= 0 (1分) 注意:邏輯運算指令中,除NOT指令外,CF、OF均置0,AF為不確定 9

21、 閱讀如下程序片段 MOV AL,6FH MOV CL,04H ROL AL,CL 執(zhí)行上述程序片段后,(AL)= 0F6H (2分),(CL)= 04H (1分), CF= 0 (1分),OF= 不確定 (1分) 注意:移位指令中,當指令的移位次數大于1時,OF為不確定 10 閱讀如下程序片段 MOV AX,0632H MOV BX,0C202H SUB AL,BL SBB AH,BH INC AX 執(zhí)行上述程序片段后,(AX)= 4431H (2分),(CF)= 1 (2分), OF= 0 (1分) 注意:INC指令不影響CF標志位 11 閱讀如下程序片段,假設(DS)=0100H,字節(jié)單元(01024H)=56H,字節(jié)單元(01025H)=28H MOV BX,0024H LEA BX,BX AND BX,0FFH ADC BX,BX 執(zhí)行上述程序片段后,(BX)= 287AH (3分),(CF)= 0 (2分), OF= 0 (1分) 12 閱讀如下程序片段,假設(SP)=0064H MOV AX,0001H MOV

溫馨提示

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

評論

0/150

提交評論