匯編語言習題與答案_第1頁
匯編語言習題與答案_第2頁
匯編語言習題與答案_第3頁
匯編語言習題與答案_第4頁
匯編語言習題與答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.匯編語言習題與答案一、填空題:把答案填在題中橫線上。1. 8位無符號整數(shù)的表示范圍為0255,寫成16進制形式為00H_;8位有符號整數(shù)的表示范圍為-128+127,寫成16進制形式為_。2. 8086/8088分段管理存儲空間,但每段容量最大不超過_。3. 邏輯地址為F000:100的存儲單元,其物理地址是_。4. 用來指示堆棧棧頂?shù)钠频刂返氖莀寄存器。5. 若要測試AL寄存器D4、D2、D0位是否都為0,則可使用_指令語句(含操作數(shù)),以產(chǎn)生轉(zhuǎn)移條件。這條指令執(zhí)行后 將利用標志位_實現(xiàn)轉(zhuǎn)移。 6. 若定義:bdata db 2 dup(1,2,2dup(3),4),則dbata變量前5

2、個單元從低地址到高地址的數(shù)據(jù)依次是_。7. 假設(shè)varw是一個16位變量,則指令“mov varw,ax”的目的操作數(shù)的尋址方式是_。二、選擇題:在每小題給出的四個選項中,只有一項是符合題目要求的,請把所選項前的字母填在題后的括號內(nèi)。1.對匯編語言源程序進行翻譯,形成OBJ文件的是A.匯編程序 B.連接程序 C.編輯程序 D.調(diào)試程序 2.下列各個8位二進制數(shù)的補碼中,真值最大的是A.10001000 B.11111111 C.00000000 D.00000001 3.MASM語句中,表達常數(shù)不正確的形式是A.01101001B B. A346HC.A D. 5600 4.如果SS=600H

3、,則說明堆棧段物理地址起始于A.60H B.600HC.6000H D.60000H 5.dw 50 dup(?)預留了存儲空間的字節(jié)數(shù)是A.25 B.50C.100 D.200 6.下列指令中有操作數(shù)在代碼段中的是A.mov ax,34h B.add ax,bxC.inc word ptr 34h D.cmp ax,34h 7.假設(shè)AL=5,要使得AL=0FAH,應執(zhí)行的指令是A. not al B.and al,0fhC.xor al,0f0h D.or al,0fh 8.設(shè)置邏輯段應該采用的一對偽指令是A.segment/ends B.start/end startC.proc/endp

4、 D.macro/endm 9.條件轉(zhuǎn)移指令JNE條件是A.CF=0 B.CF=1C.ZF=0 D.ZF=1 10.邏輯移位指令SHL可用于A.有符號數(shù)乘以2 B.有符號數(shù)除以2C.無符號數(shù)乘以2 D.無符號數(shù)除以2 11.執(zhí)行“in al, dx”指令后,進入AL寄存器的數(shù)據(jù)來自A.寄存器 B.存儲器C.立即數(shù) D.外設(shè)端口 12.將十進制數(shù)75以壓縮BCD碼送入AX,正確的指令是A.mov ax,0075 B. mov ax,0705C.mov ax,0075h D. mov ax,0705h 13.如下指令可將AX寄存器內(nèi)容改變的是A. cmp ax,bx B. test ax,bxC.

5、 and ax,bx D. xchg ax,bx 14.設(shè)AH=10H,執(zhí)行“neg ah”指令后,正確的結(jié)果是A. AH=10H、CF=1 B. AH=F0H、CF=0C. AH=10H、CF=0 D. AH=F0H、CF=1 15.如下程序段:again: mov es:di,al inc di loop again可用指令_完成相同的功能。A. rep movsb B. rep lodsbC. rep stosb D. rep stosw 三、問答題: 1.說明8086/8088兩類標志各自的作用是什么?2.子程序文檔說明主要包含那些內(nèi)容?3.試述mov ax,offset var和le

6、a ax,var兩條語句的異同點。4.循環(huán)結(jié)構(gòu)程序具有哪3個組成部分?各自的作用是什么?5.已知DS2000H、BX100H、SI2,存儲單元21200H21203H依次存放(十六進制)2A 4C B7 65,說明下列每條指令執(zhí)行完后AX寄存器的內(nèi)容。 mov ax,1200h mov ax,bx+1101h mov ax,bx si+1100h四、程序閱讀題: 1.執(zhí)行如下程序段后,AL、ZF。 mov al,ahnot aladd al,ahinc al 2.對于如下數(shù)據(jù)定義,給出各條指令執(zhí)行后的結(jié)果。fldb dw 0a24fhtable db 32h,52h,0a2h,215array

7、 db ABCDcount equ $-array mov ax,fldb ;AL mov cl,table2 ;CL mov ch,array ;CH mov dx,count ;DX 3.現(xiàn)有程序段如下, test al,80hjz oneblmov ah,1jmp doneonebl: mov ah,0ffhdone: 在情況下,該程序段執(zhí)行結(jié)果AH1;在情況下,該程序段執(zhí)行結(jié)果AHFFH。4.下列指令段的功能是在數(shù)組中查找數(shù)據(jù)3,請在空格中填入應有的內(nèi)容。 org 0120h data1 dw 0,1,2,3,4,5,6,7,8,9 count equ $-data1 mov di,o

8、ffset data1 mov ax,3 cldmov cx, scasw 又,該命令序列執(zhí)行后,CX、DI。5.設(shè)X、Y、Z、V均為16位帶符號數(shù),分別裝在X、Y、Z、V存儲單元中,閱讀如下程序段,得出它的運算公式,并說明運算結(jié)果存于何處。 mov ax,X imul Y mov cx,ax mov bx,dx mov ax,Z cwd add cx,axadc bx,dx sub cx,540 sbb bx,0 mov ax,V cwd sub ax.cx sbb dx,bx idiv X 五、程序設(shè)計題: 1.按照如下要求各編寫一段語句序列: 定義字節(jié)變量unpak,其中以非壓縮BCD碼

9、形式存放十進制數(shù)1234; 寫出指令,將一個字節(jié)數(shù)據(jù)58H輸出到端口43H; 將DX、BX、AX中的48位數(shù)右移1位。2.已知數(shù)據(jù)段變量datax、datay、dataz定義如下: datax dw 5678h,89abh datay dw 9ef0h,1234h dataz dw 2 dup (?)編寫一個程序段,實現(xiàn)將datax和datay中雙字數(shù)據(jù)相加,并存入dataz單元。3.用一個程序段完成“REP MOVSW”指令的功能。4.編寫一個程序段,用空格符將字符區(qū)char-field填滿,該字符區(qū)的字符數(shù)在count字節(jié)變量中保存。5.寫一個子程序,將AX的內(nèi)容以二進制的形式顯示到屏幕上

10、。6.請編寫一個完整的匯編語言源程序。要求如下: 數(shù)據(jù)段定義一個月份變量,存放數(shù)據(jù)112之間的月份;它對應12個月份的英文縮寫,JAN、FEB、MAR、APR、MAY、JUN、JUL、AUG、SEP、OCT、NOV、DEC。 主程序?qū)⒃路輦魉徒o子程序。匯編語言參考答案一、 填空題1. 8位無符號整數(shù)的表示范圍為0255,寫成十六進制形式為00H FFH ,8位有符號整數(shù)的表示范圍為-128+127,寫成十六進制形式為 80H 7FH 。2. 8086/8088分段管理存儲空間,但每段容量最大不超過 64KB 。3. 邏輯地址為F000:100的存儲單元,其物理地址是 F0100H 。4. 用來

11、指示堆棧棧頂?shù)钠频刂返氖?SP 寄存器。5. 若要測試AL寄存器D4、D2、D0位是否都為0,則可使用 test al,00010101b 指令語句(含操作數(shù)),以產(chǎn)生轉(zhuǎn)移條件。這條指令執(zhí)行后 將利用標志位 ZF 實現(xiàn)轉(zhuǎn)移。 6. 若定義:bdata db 2 dup(1,2,2dup(3),4),則dbata變量前5個單元從低地址到高地址的數(shù)據(jù)依次是 1,2,3,3,4 。7. 假設(shè)varw是一個16位變量,則指令“mov varw,ax”的目的操作數(shù)的尋址方式是 存儲器直接尋址方式 。二、 選擇題1.A 2.D 3.B 4.C 5.C 6.A 7.A 8.A 9.C 10.C 11.D

12、12.C 13.C 14.D 15.C三、 問答題1. 狀態(tài)標志記錄指令執(zhí)行結(jié)果的有關(guān)狀態(tài),例如,進位、溢出、符號等;控制標志用來控制處理器執(zhí)行指令的方式,例如,可否中斷、是否單步執(zhí)行指令等。2.子程序名和子程序功能: 子程序的入口參數(shù)和出口參數(shù); 子程序的調(diào)用說明等。3. 相同這兩條指令都用來獲取var的偏移地址。 不同傳送指令“mov ax,offset var”是在匯編階段由匯編程序計算出偏移地址而“l(fā)ea ax,var”則是在處理器執(zhí)行該指令時再計算偏移地址。4. 循環(huán)初始部分為開始循環(huán)設(shè)置參數(shù),例如,循環(huán)次數(shù)、初值等。 循環(huán)體部分重復執(zhí)行的程序段,包括對循環(huán)條件的改變。 循環(huán)控制部分

13、判斷循環(huán)條件是否成立、確定是否退出循環(huán)。5. AX=4c2ah AX=b74ch AX=65b7h四、 程序閱讀題1. AL 0 、ZF 1 。2. mov ax,fldb ;AL 4fh mov cl,table2 ;CL a2h mov ch,array ;CH A mov dx,count ;DX 4 3. 在 AL寄存器中最高位為1 情況下,該程序段執(zhí)行結(jié)果AH=1;在 AL寄存器中最高位為0 情況下,該程序段執(zhí)行結(jié)果AH=FFH。4. mov di,offset data1 mov ax,3 cld mov cx, count/2 repnz scasw該命令序列執(zhí)行后,CX06h、

14、DI128h。5. 計算公式:V(XYZ540)X 計算結(jié)果:商存在AX中,余數(shù)存在DX中。五、 程序設(shè)計題1. 定義字節(jié)變量unpak,其中以非壓縮BCD碼形式存放十進制數(shù)1234; unpak db 4,3,2,1 寫出指令,將一個字節(jié)數(shù)據(jù)58H輸出到端口43H; mov al,58h out 43h,al 將DX、BX、AX中的48位數(shù)右移1位。 shr dx,1 rcr bx,1 rcr ax,12. mov ax,datax add ax,datay mov da,datax+2 adc dx,datay+2 mov dataz,ax mov dataz+2,dx3. push ax

15、 again: mov ax,si mov es:di,ax add si,2 ; sub si,2 add di,2 ; sub di,2 loop again pop ax4. mov cl,count mov ch,0 mov di,offset char-field cld mov al, rep stowb5. bdisp proc push ax push cx push dx mov cx,16 again mov dx,0 shl ax,1 ;從高位到低位顯示 push ax adc dx,30h ;轉(zhuǎn)換為0或1的ASCII碼 mov ah,2 ;顯示 int 21h pop

16、ax loop again pop dx pop cx pop ax ret bdisp endp6. stack segment stack ;堆棧段 db 1024 dup(0) stack ends data segment ;數(shù)據(jù)段 mnum db 4 month db JAN,FEB,MAR,APR,MAY,JUN db JUL,AUG,SEP,OCT,NOV,DEC data ends code segment code ;代碼段 assume cs:code,ds:data,ss:stack start: mov ax,data ;程序開始點 mov ds,ax mov al,mnum call msch

溫馨提示

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

最新文檔

評論

0/150

提交評論