匯編語言期末復習資料_第1頁
匯編語言期末復習資料_第2頁
匯編語言期末復習資料_第3頁
匯編語言期末復習資料_第4頁
匯編語言期末復習資料_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、單項選擇題(本大題共10小題,每小題3分,共30分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。1.CPU要訪問的某一存儲單元的實際地址稱(C)A. 段地址B. 偏移地址C. 物理地址D. 邏輯地址2.某存儲單元的物理地址是12345H,可以作為它的段地址有(D)A. 2345H B. 12345H C. 12340HD. 1234H3.執(zhí)行后使BX=0的同時也使CF=0,OF=0的指令是(A)A. XOR BX,BX B. OR BX,BX C. AND BX,BX D. CMP BX,BX4.循環(huán)控制指令LoopNZ/Loo

2、pNE控制循環(huán)繼續(xù)執(zhí)行的條件是(B)A. CX0且ZF=1B. CX0且ZF=0 C. CX0或ZF=1 D. CX0或ZF=05.在執(zhí)行DAA指令,當高四位BCD碼校正時產生進位,如要把此進位值送入AH中,對這進位值的操作應是(C)A. DAA校正指令的功能已自動加在AH中B. 進位值在AF中,校正后根據AF內容再加在AH中C. 進位值在CF中,校正后根據CF內容再加在AH中D. 進位值在AL最高位上,校正后根據AL最高位內容再加在AH中6. AND,OR,XOR,NOT為四條邏輯運算指令,下面的解釋正確的是(C)A. 指令XOR AX,AX執(zhí)行后,AX內容不變,但設置了標志位B. 指令OR

3、 DX,1000H執(zhí)行后,將DX最高位置1,其余各位置0C. 指令AND AX,OFH執(zhí)行后,分離出AL低四位D. NOT AX,執(zhí)行后,將AX清07. 在執(zhí)行下列指令時,需要使用段寄存器DS的指令是(D)A. STOSWB. ADD AL,CLC. NEG BXD. INC DABX8. 無論BH中原有的數是奇數或偶數,若要使BH中的數一定為奇數,應執(zhí)行的指令是(B)A. ADD BH,01HB. OR BH,01HC. XOR BH,01HD. TEST BH,01H9. 比較兩個帶符號的數A、B,當A=B時程序轉移,測試的條件為(A)A. ZF=1 B. ZF=0C. SF=1 D. S

4、F=010.下面各傳送指令中,正確的是(C)A. MOV DI,SI B. MOVDX+DI,ALC. MOV WORD PTR BX,0100HD. MOV AL,BX11. 匯編語言語句格式中對名字項的規(guī)定如下,請找出其中錯誤的說法(B)A. 名字的第一個字符可以是大寫英文字母及小寫英文字母B. 名字的第一個字符可以是字母、數字及、_C. 名字的有效長度31個字符D. 在名字中不允許出現$12. 要實現使BETA的值為56,應采用語句為( C )A .BETA DB 56B. BETA DB 56HC. BETA EQU 56D. BETA EQU 56H13. REPZ CMPSW指令,

5、重復執(zhí)行的終止條件是( A )A. CX=0或ZF=0 B. CX=0且ZF=0C. CX=0或ZF=1 D. CX=0且ZF=114. 下面程序段執(zhí)行后,AL中的內容是(B )MOV AX,8833HADD AL,AHDAAA. 21B .21H C. 0C1HD. 0DDH15. 比較兩個帶符號的數A、B,當A=B時程序轉移,測試的條件為(A)A. ZF=1B. ZF=0 C. SF=1D. SF=016. 檢查二個無符號數的關系,若要實現ALBL時分支去LOP1處,那么在“CMP AL,BL”指令后應跟的分支指令是( C )A. JNC LOP1B. JA LOP1 C. JC LOP1

6、D. JGE LOP117. 在下列串操作指令中,同時使用源串和目的串地址指針的指令是( D )A. STOSW B. LODSWC. SCASW D. CMPSW18. 設AL=0AH,下列指令執(zhí)行后能使AL=05H的是( C )A. NOT AL B. AND AL,0FHC. XOR AL,0FHD. OR AL,0FH19. DA1 DWAB,CD,EF,GH( D )MOV AX,DA1+3指令執(zhí)行后AX中的內容是A. EF B. CD C. BC D. FC20. 使用DOS系統(tǒng)功能調用時,使用的軟中斷指令是(B)A. INT 21 B. INT 10H C. NT 16H D.

7、INT 21H二、簡答題(每題10分,共30分)1.簡述循環(huán)程序常用的控制方法。解: 技術控制:適用于循環(huán)次數已知,包括正計數與倒計數兩種。采用循環(huán)指令LOOP和JCXZ實現,將最大循環(huán)次數置入CX,最后用LOOP對CX減1并判斷是否為0。 條件控制:用于循環(huán)次數未知。需要用轉移指令判斷循環(huán)條件,轉移指令可以指定目的標號來改變程序運行順序目的標號指向一個重復執(zhí)行的語句開始或結束,就構成了循環(huán)控制結構,循環(huán)體為標號語句至轉移指令。 混合控制:包括開關控制和邏輯尺控制,前者適用于循環(huán)內部有一定規(guī)律分支,循環(huán)前預置開關走向,結束前設置下一個開關方向。邏輯尺控制適用于內部分支不規(guī)律,用位來控制每次循環(huán)

8、的操作。計數控制:循環(huán)次數已知,每循環(huán)一次+、-1:;常用LOOP指令實現條件控制:循環(huán)次數未知,須根據條件控制循環(huán);用條件轉移指令實現狀態(tài)控制:根據事先設置或實時檢測的狀態(tài)來控制循環(huán)2.比較參數傳遞的三種方法,并分析遞歸調用時為什么不能采用約定存儲單元法來傳遞數據?寄存器:將入口參數和出口參數放在與約定的寄存器,數據傳遞速度快,編程方便,節(jié)約內存單元,但是寄存器數量有限,適用較少的子程序 約定存儲單元:不占用寄存器、參數個數任意,數據都有獨立的存儲單元,但定義變量有難度。 堆棧:不占用寄存器和存儲單元,參數放在公共堆棧區(qū),處理后恢復,注意參數的位置斷點保存和恢復。  參數傳遞的方法

9、主要有約定寄存器法、約定存儲器法與堆棧法三種。1.約定寄存器法    約定寄存器法直接利用CPU內部寄存器傳送參數。在轉向子程序之前,主程序將入口參數送入指定寄存器中;調用子程序后,子程序從指定寄存器引用這些參數。經加工處理的結果也放入指定的寄存器中,這樣從子程序返回主程序后可以從指定的寄存器中獲得處理結果。這種方法最簡單,但由于寄存器資源有限,故僅適用傳遞參數較少的情況。2.約定存儲器法   約定存儲器法是在存儲器中專門指定一些單元存放入口參數和出口參數。在轉子程序之前,主程序用數據傳送指令將入口參數存入入口參數的存儲單元中。調用子

10、程序后,子程序按照約定從入口參數存儲單元中取出這些參數進行處理。子程序完成處理,將處理結果送入指定的出口參數存儲單元中,返回后主程序可從這些特定存儲單元中獲取需要的處理結果。 約定存儲器法傳送速度比約定寄存器法要慢些,適合于傳遞參數較多的情況。3.堆棧法堆棧法使用堆棧來完成數據傳遞。在調用子程序之前將參數壓入堆棧,轉入子程序后通過sP指針獲得壓入堆棧的參數地址,從而將其取出。子程序的處理結果亦送入堆棧保存。返回主程序后再通過出棧指令取出結果。使用該方法時應明了堆棧的變化情況,特別注意參數入棧與出棧順序。   堆棧法適合于參數較多且子程序有嵌套、遞歸調用的

11、場合。3.簡述外部中斷和軟件中斷的中斷過程。中斷是用以提高計算機工作效率、增強計算機功能的一項重要技術。外部中斷:當中斷源向CPU發(fā)出中斷請求,CPU接受請求在一定條件下暫停執(zhí)行原程序進行中斷處理,執(zhí)行完中斷服務程序后再返回斷點繼續(xù)執(zhí)行原程序。軟件中斷:是一條CPU指令,用以自陷一個中斷。由于軟中斷指令通常要運行一個切換CPU至內核態(tài)的子例程,它常被用作實現系統(tǒng)調用.4.簡述循環(huán)程序結構的一般組成。 初始化部分:在循環(huán)程序的開頭,先執(zhí)行。設置地址指針的初值、計數器的初值及程序中用到的某些寄存器和某些內存單元的初值,只執(zhí)行一遍。 工作部分:從初始化部分設置的初值開始,動態(tài)地反復執(zhí)行相同的操作,實

12、現循環(huán)程序的功能。修改部分:對參加運算的數據或地址指針和記過單元地址指針修改 控制部分:按預定循環(huán)次數的執(zhí)行和正常退出循環(huán)。 5.簡述多分支程序實現的一般步驟與常用處理方法。使用條件轉移JCC指令和無條件專題JMP指令實現分支程序結構。獲得條件變量->對應轉換為地址表入口偏移->BX=BX+入口偏移JMPBX跳轉到相應位置。常用地址表的方法。無法使用地址表,只能通過多條條件轉移指令實現。6.簡述完整子程序結構所包含的內容。子程序也是一段程序,由文字說明和子程序本身構成。一般由子程序名、子程序的功能。子程序選用的寄存器名和存儲單元分配、子程序入口參數、子程序出口參數。三.編寫程序,計

13、算兩個64位數的和,不考慮和的進位。(20分)由于64位數占用的寄存器比較多,故適合于用約定存儲單元法來進行處理。程序中將64位加數mMl和MM2存放在兩個雙字單元內。由于不考慮和的進位,所以和也可用兩個雙字單元來存放。程序如下:DATA SEGMENTNUMl DD 1234H,12345678H:M7Ml為123456781234HMM2 DD 432lH,8765432lH:NIM2為87654321432lHSUM DD?,?DATA ENDSSTACK SEGMENT PARA STACKSTACKDB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME C

14、S:CODE,SS:STACK,DS:DATA,ES:DArAMAIN PAR:主程序BEGIN:PUSH DSMOV AX,0PUSH AXMOV AX,DuAMOV DS,AXMOV ES,AXCALL ADD64;調用子程序ADD64RETMAIN ENDP:子程序名稱:ADD64;子程序功能:兩個64位數的相加;輸入參數:MUMl一被加數的地址; NUM2一加數地址:輸出參數:SUM一和數地址ADD64 PROC PUSHFPUSH AX:保護現場PUSH BXPUSH CXLEA BX,Mmll:Bx指向被加數單元MOV CX,4CLCAGAIN: MOV Ax,Bx】;取被加數的相

15、應字一AxADc Ax,Bx+8】;與加數相應字相加MOV 【Bx+lOH】,Ax;保存和INC BXINC BXLOOP AGAINPOP Cx:恢復現場POP BXPOP AXPOPFRETADD64 ENDPCODE ENDSEND BEGIN 四.編寫程序,將一個十六位二進制數轉換為ASCLL碼,并以十進制數形式在屏幕上輸出。(20分)DATA SEGMENT BINARY DW 0110110000001100BBUF DW 9 DUPDATA ENDS STACKI SEGMENT PARA STACK STACK DB 100H DUP STACK ENDSCODE SEGMEN

16、T ASSUME CS: CODE, DS: DATASTART PROC FAR; PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV CX, BINARY ;CX CAALL CONV ; CALL DISPLAY ; RETSTART ENDP;子程序名稱: CONV ;子程序功能: 將CX中十六位二進制數轉換為十進制數;入口參數: CX;調用子程序: CHANGECONV PROC NEAR PUSH AX PUSH BX PUSH DX PUSH SI LEA BX, BUF MOV AL , 0AH MOV BX , AL ;

17、 INC BX MOV AL , CH; OR AL , AL JNS PLUS ; NEG CX ; MOV AL ;- MOV BX , AL ; JMP GOON PLUS: MOV AL , + MOV BX , AL ;GOON: INC BX MOV SI , 10000 ; CALL CHANGE MOV SI , 1000 ; CALL CHANGE MOV SI , 100; CALL CHANGE MOV SI, 10; CALL CHANGE MOV AL , CL ; ADD AL , 30H MOV BX , AL INC BX MOV AL , $; MOV BX

18、, AL POP SI POP DX POP BX POP AX RETCONV ENDP;子程序名稱; CHANGE ;子程序功能; 統(tǒng)計CX中所包含權(在SI中)的個數; 并把個數轉換為ASCH碼 ,存入緩沖區(qū)中;入口參數: CX;調用子程序: CHANGECONV PROC NEAR PUSH AX; PUSH BX PUSH DX PUSH SI LEA BX , BUF MOV AL , 0DH MOV BX, AL; INC BX MOV AL, CH; OR AL, AL JNS PLUS; NEG CX; MOV AL, - MOV BX, AL; JMP GOONPLUS: MOV AL, + MOV BX, AL;CHANGE ENDP;子程序名稱:DISPLAY;子程序功能: 輸出以$結尾的一個字符串;調用子程序: 系統(tǒng)09號功能DISPLAY PROC NEAR PUSH AX MOV DX,OFFSET BUF MOV AH,9 INT 21H POP AX RETDISPLAY ENDP CODE ENDS END START五.編寫程序,將輸入的大寫字母轉換為小寫字母。(20分)DATAS SEGMENTa db "input",0dh,0ah,"$"DATA

溫馨提示

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

評論

0/150

提交評論