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

下載本文檔

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

文檔簡介

1、匯編語言期末復習題第1章:基礎(chǔ)知識1、在匯編語言程序的開發(fā)過程中使用宏功能的順序是( C    )。 A、宏定義,宏調(diào)用B、宏定義,宏展開C、宏定義,宏調(diào)用,宏展開D、宏定義,宏展開,宏調(diào)用2、匯編語言源程序中,每個語句由四項組成,如語句要完成一定功能,那么該語句中不可省略的項是( B    )。 A、名字項B、操作項C、操作數(shù)項D、注釋項3、可屏蔽中斷就是它的請求是否被CPU響應要受 ( IF )的控制。 4、使用LINK連接命令,執(zhí)行后可生成文件的擴展名為( EXE )。 5、在寄存器間接尋址中,如果指令中指定

2、的寄存器為BP,則操作數(shù)在 堆棧 段中,段地址在 SS 寄存器中。 6、注釋項用于說明程序段或是一條和幾條指令的功能,一般用 ;(或分號) 表示注釋的開始。 7、DOS系統(tǒng)功能調(diào)用方式為:(1)置入口參數(shù);(2)中斷程序編號送 AH 寄存器后執(zhí)行INT 21H。 8、通常主程序和子程序間參數(shù)傳送的方法有三種: 用寄存器傳遞 、 用存儲單元傳遞、用堆棧傳遞(順序可調(diào)換)。 9、 中斷 是CPU暫停當前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行處理緊急事務的程序,并在該事務處理完后能自動恢復執(zhí)行原先程序的過程。在此,稱引起緊急事務的事件為 中斷源 。 10、在字符串操作指令中,DS SI 指向源串,ES DI 指向目的

3、串。 11、計算機系統(tǒng)通過 接口 與外圍設(shè)備通信。 TK12、鍵盤I/O、顯示I/O和打印I/O分別對應 16H 、 10H 和 17H 號中斷。 13、字符顯示模式緩沖區(qū)中的一個字對應于屏幕上的一個字符。每個字的第一個字節(jié)為顯示字符的 ASCII碼 ,第二個字節(jié)為顯示字符的 屬性 。 TK14、簡述上機運行匯編語言程序的過程。 JD答:首先打開未來匯編,新建一個空的匯編文件,后綴為.asm,然后輸入?yún)R編程序代碼,保存,再編譯成機器指令,然后連接成可執(zhí)行文件,即exe文件,最后再運行。15、簡述程序中指令和偽指令的區(qū)別。 答:能被計算機識別并執(zhí)行的二進制代碼,它規(guī)定了計算機能完成的某一操作。偽

4、指令是對匯編起某種控制作用的特殊命令,其格式與通常的操作指令一樣,并可加在匯編程序的任何地方,但它們并不產(chǎn)生機器指令。16、十六進制數(shù)88H,可表示成下面幾種形式,請找出錯誤的表示( )。 無符號十進制數(shù)136 帶符號十進制數(shù)120 壓縮型BCD碼十進制數(shù)88 8位二進制數(shù)8的補碼表示 17、指令指針寄存器是(IP )。 18、匯編語言語句格式中對名字項的規(guī)定如下,請找出其中錯誤的說法(B) A名字的第一個字符可以是大寫英文字母及小寫英文字母B名字的第一個字符可以是字母、數(shù)字及、_ C名字的有效長度31個字符D在名字中不允許出現(xiàn)$19、CS寄存器屬于( 段寄存器 )。 20、已知物理地址(37

5、1F0H)=12H,(371F1H)=34H,(371F2H)=56H,如從地址371F0H中取出一個字的內(nèi)容是( 3412H )。 21、一個有16個字的數(shù)據(jù)區(qū),它的起始地址是70A0HDDF6H,則這個數(shù)據(jù)區(qū)最末一個字單元的物理地址是( 7E814H )。 22、簡述上機運行匯編語言程序的過程。 JD 答:首先打開未來匯編,新建一個空的匯編文件,后綴為.asm,然后輸入?yún)R編程序代碼,保存,再編譯成機器指令,然后連接成可執(zhí)行文件,即exe文件,最后再運行。第2章:8086/8088的尋址方式和指令系統(tǒng)1、下列指令屬于基址加變址尋址方式的是( MOV DX,DS:BPSI )。 2、當程序順序

6、執(zhí)行時,每取一條指令語句,IP指針增加的值是( D )。 A1 B2 C3 D由指令長度決定的3、下列屬于合法的指令是( D ) AMOV DS,ES BMOV SI,DI CMOV AX,BL DMOV DI,BL4、若AX=349DH,CX=000FH。則執(zhí)行指令AND AX,CX后,AX的值是( 000DH )。 5、設(shè)DS=8225H,DI=3942H,指令NEG BYTE PTRDI操作數(shù)的物理地址是(   85B92H    ) 6、下列寄存器組中在段內(nèi)尋址時可以提供偏移地址的寄存器組是(   

7、;  B    ) A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DXD、CS,DS,ES,SS7、對寄存器AX的內(nèi)容乘以4的正確指令序列是(    SHL AX,1     SHL,AX,1     )。 8、執(zhí)行INC指令除對SF、ZF有影響外,還要影響的標志位是(     OF,AF,PF    )。 9、設(shè)D

8、H=10H,執(zhí)行NEG DH指令后,正確的結(jié)果是(    DH=0F0H    CF=1     )。 10、下列傳送指令中有語法錯誤的是(    A     )。 A、MOV CS,AX B、MOV DS,AX C、MOV SS,AX D、MOV ES,AX11、下面指令執(zhí)行后,改變AL寄存器內(nèi)容的指令是(    D    

9、)。 A、TEST  AL,02H B、OR  AL,AL C、CMP  AL,BL D、AND  AL,BL12、執(zhí)行除法指令后,影響的標志位是(    AF,CF,OF,PF,SF,ZF都不確定     )。 13、執(zhí)行下面指令序列后,結(jié)果是(    AX=0FF82H     )。 MOV  AL,82HCBW14、與MOV  BX,OFFSET VAR指令完全等效的指令

10、是(    D     )。 A、MOV  BX,VAR B、LDS  BX,VAR C、LES  BX,VARD、LEA  BX,VAR15、在段定義時,如果定位類型用戶未選擇,就表示是隱含類型,其隱含類型是(    PARA )。 16、MOV  SP,3210HPUSH  AX 執(zhí)行上述指令序列后,SP寄存器的值是(     320EH  &

11、#160; )。 17、BUF  DW  10H DUP(3 DUP(2,10H),3,5)上述語句匯編后,為變量BUF分配的存儲單元字節(jié)數(shù)是(     100H    )。 18、MOV AH,7896H ADD AL,AH 上述指令執(zhí)行后,標志位CF和OF的值是( CF=1,OF=0 )。 19、完成將帶符號數(shù)AX的內(nèi)容除以2的正確指令是( SHR AX,1 )。 20、在匯編語言程序中,對END語句的敘述正確的是( C )。 AEND語句是一可執(zhí)行語句 BEND語句表示程序執(zhí)行到此結(jié)束 C

12、END語句表示源程序到此結(jié)束 DEND語句在匯編后要產(chǎn)生機器碼23、已知(AX)=1234H,執(zhí)行下述三條指令后,(AX)= (0000H)。 MOV BX,AXNEG BXADD AX,BXA1234HB0EDCCHC6DCCHD24、將DX的內(nèi)容除以2,正確的指令是(C)。 ADIV 2BDIV DX,2CSAR DX,1DSHL DX,125、有如下指令序列: ORG 40H DA1 DW 0AB12H,8574H MOV AX,DA1 MOV BX,OFFSET DA1上述指令執(zhí)行后,寄存器AX和BX的值分別為(AB12H,40H )。29、AL和VAR字節(jié)單元中分別存放一個帶符號數(shù),

13、執(zhí)行CMP AL,VAR時,如AL>VAR,那么溢出位和符號位 的關(guān)系是(    OF=SF     )。 30、下面是關(guān)于匯編語言程序中使用RET的描述,不正確的是( C )。 A每一個子程序中允許有多條RET指令。 B每一個子程序結(jié)束之前一定要有一條RET指令。 C每一個子程序中只允許有一條RET指令。 D以過程形式表示的代碼段,一定有RET指令存在。31、在串操作指令前使用重復前綴指令REPE,終止串的重復操作條件是( CX=0或ZF=0 )。 33、重復前綴指令REP的重復次數(shù)由 CX 決定。 35、

14、設(shè)(SP)=100H,(AX)=0FFFFH STC PUSH AX ADC AX,0 PUSH AX POP BX 上述程序段運行后,(BX)= 0 ,(SP)= 0FEH 。 36、假設(shè)數(shù)據(jù)段定義如下: DA1 DW C,D DA2 DB 18 DUP(?) DA3 DW $DA2 MOV BX,DA3MOV AX,DA1上述指令執(zhí)行后,BX寄存器中的內(nèi)容是12H(或18),AH寄存器中的內(nèi)容是 00H,AL寄存器中的內(nèi)容是43H 。 37、現(xiàn)有如下數(shù)據(jù)段 DATA SEGMENT ARRAY1 DB 1,26,3456 ARRAY2 DW 7,89H,10 VAL EQU ARRAY2-

15、ARRAY1 DATA ENDS 請問:該數(shù)據(jù)段已占有 12(或0CH) 字節(jié)的存儲空間。 39、AND,OR,XOR,NOT為四條邏輯運算指令,下面的解釋正確的是(C) A指令XOR AX,AX執(zhí)行后,AX內(nèi)容不變,但設(shè)置了標志位B指令OR DX,1000H執(zhí)行后,將DX最高位置1,其余各位置0C指令AND AX,OFH執(zhí)行后,分離出AL低四位DNOT AX,執(zhí)行后,將AX清040、完成對CL寄存器的內(nèi)容乘以4的正確操作是(C) AROL CL,1 BMUL 4 ROL CL,1 CSHL CL,1 DMOV CL,2SHL CL,1    

16、   SHL CL,CL43、REPZ CMPSW指令,重復執(zhí)行的終止條件是(CX=0或ZF=0) 44、下面程序段執(zhí)行后,AL中的內(nèi)容是(21H) MOV AX,8833HADD AL,AH45、完成將累加器AL清零,并使進位標志CF清零,下面錯誤的指令是( )。 MOV AL,00H AND AL,00H XOR AL,AL SUB AL,AL 46、下列指令執(zhí)行后總是使CF0,OF0的是( AND)。 47、完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。 MOV AX,BX MOV BX,AX PUSH AX POP BX MOV CX,AX MOV

17、 AX,BX MOV BX,CX 50、在串操作指令前使用重復前綴指令REPE,終止串的重復操作條件是(CX0或ZF0 )。 53、AL=0AH,下列指令執(zhí)行后能使AL=05H的是(C) ANOT ALBAND AL,0FH CXOR AL,0FHDOR AL,0FH54、DA1  DWAB,CD,EF,GH         MOV AX,DA1+3  指令執(zhí)行后AX中的內(nèi)容是(FC)。 55、在匯編語言程序中,對END語句的敘述正確的是( )。 END語句是一可執(zhí)行語句 END語句表示程序執(zhí)行到此結(jié)束

18、END語句表示源程序到此結(jié)束 END語句在匯編后要產(chǎn)生機器碼 57、下面指令執(zhí)行后,變量DAB中的內(nèi)容是(0F5H )。 DAW DW2A05H DAB DB 0FAH : MOV AL,BYTE PRT DAW SUB DAB,AL 58、執(zhí)行下列指令后,正確的結(jié)果是( )。 MOV AL,100 MOV BL,2 AL100H BL02H AL64H BL0FEH AL64H BL82H AL100H BL0FEH63、在串操作程序中,通常在重復前綴指令REPZ或REPNZ后,選用的串操作指令是_ STOS_或_ CMP_才有實際意義。 64、已知:BX=1357H,DI=2000H,DS

19、=2000H,CS=4000H,分別指出下面各指令中存儲器操作數(shù)的物理地址。 (1)MOV AL,BX 21357H(2)MOV CS:BX+DI,AH43357H66、下列語句在存儲器中分別為變量分配多少字節(jié)?  (1)AD2 DW 10 DUP(?),10 答案:(10+1)*2= 22 (2)AD3 DD 100 DUP(?) 答案:100*4=40067.68、在指令系統(tǒng)中,段內(nèi)、段間返回均為RET指令。試回答: (1)執(zhí)行段內(nèi)返回RET指令時,執(zhí)行的操作是:棧頂內(nèi)容IP,SP+2SP (2)執(zhí)行段間返回RET指令時,執(zhí)行的操作是:棧頂內(nèi)容IP,SP+2SP 棧頂內(nèi)

20、容CS,SP+2SP 70、設(shè)某數(shù)據(jù)段: DATA SEGMENTORG 20HNUM1=8NUM2=NUM1+10HDA1 DB 'COMPUTER'DB 0AH,0DHCOUNT EQU $-DA1DA2 DW'CO','MP','UT','ER'DATA ENDS試回答:(1)DA1的偏移地址是: 20H (2)COUNT的值是 0AH (3)DA2+5字節(jié)單元的內(nèi)容是 U的ASCII碼_71、已知AX=0FF60H,CF=1 MOV DX,96XOR DH,0FFHSBB AX,DX執(zhí)行上述指令序列后,AX

21、=_0_,CF=_0_。 72、設(shè)寄存器AL,BL,CL中內(nèi)容均為76H,XOR AL,0FHAND BL,0FHOR CL,0FH執(zhí)行上述指令序列后,AL=_79H _,BL=_06H _CL=_7FH_。 73、已知AX=0A33AH,DX=0F0F0HAND AH,DLXOR AL,DHNEG AHNOT AL執(zhí)行上述指令序列后,AH=_60H_,AL=_35H_。 CXFX74、假定(DX)=10111001B,(CL)=0.3,(CF)=1,試確定下列各條指令單獨執(zhí)行后,DX中的值。 (1)SHR DX,1 (2)RCR DL,1 (3)RCL DX,CL 答:(1) 005CH (

22、2) 00DCH (3) 05CCH 77、在某子程序的開始處要保護AX,BX,CX,DX四個寄存器信息,在子程序結(jié)束時要恢復這四個寄存器信息。例如: JD PUSH AX PUSH BX 保護現(xiàn)場 PUSH CX / PUSH DX/ : 恢復現(xiàn)場 試寫出恢復現(xiàn)場時的指令序列。 答:POP DX POP CX POP BX POP AX80、A DW 1234H B DW 5678H : PUSH A PUSH B POP A POP B 試回答: 上述程序段執(zhí)行后(A),(B) 設(shè)執(zhí)行前SP200H,執(zhí)行后SP 答:(A)=5678H(2分)(B)=1234H(2分) SP=2000H(2

23、分) 81、現(xiàn)有下列程序段: MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 試問上述程序段運行后, (AX)5400H (BL)06H(DX)2106H82、分析下面程序段, MOV AL,200 SAR AL,1 MOV BL,AL MOV CL,2 SAR AL,CL ADD AL,BL 試問程序段執(zhí)行后(BL)0E4H(AL)0DDH 83、DA3 EQU WORD PTR DA4DA4 DB 0ABH,89HSHR DA3,1MOV DX,DA3SHL DA4,1

24、MOV CX,DA3 上述程序段運行后,CX=_44AAH_,DX=_44D5H_。 STC PUSH AX ADC AX,0 PUSH AX POP BX 上述程序段運行后,(BX)= 0 ,(SP)= 0FEH 。 86、已知:BX=4567H   NEG BX   INC BX   NEG BX   DEC BX 程序段執(zhí)行后,BX=_4565H_,CF=_1_。 87、已知數(shù)據(jù)段中定義  DAT1 DB  12H,34H,56H,78H    MOV CX,

25、0    MOV AX,WORD PTR DAT1    MOV CL,DAT1+3  當程序段執(zhí)行完后AX=_3412H_,CX=_0078H_。 88、DA1  DB 83H,72H,61H,94H,5AH         MOV CX,WORD PTR DA1     AND CX,0FH     MOV AL,DA1+3   &#

26、160; SHL AL,CL 上述指令序列執(zhí)行后,AL=_0A0H_,CL=_03H_。 90、執(zhí)行下列程序段后,回答問題。 ORG 1221H MOV BX,OFFSET NUMNUM DW 12H MOV CL,BYTE PTR NUM+1 MOV CH,TYPE NUMMOV AX,NUM HLT請問:(AX)=_,(BX)=_,(CX)=_。答:(AX)=0012H (BX)=1221H (CX)=0200H91、執(zhí)行下列指令后AX、BX寄存器的內(nèi)容? MOV SI,10HMOV AX,1234HMOV SI+12H,AXLEA BX,SIMOV SI+14H,BX答:AX為1234H

27、,BX為22HLES BX,DWORD PTR SI+12H97、DA1  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 _。 98、DA3 EQU WORD PTR DA4DA4

28、DB 0ABH,89HSHR DA3,1MOV DX,DA3SHL DA4,1MOV CX,DA3上述程序段運行后,CX=_44AAH _,DX=_44D5H _。 第3章:8086匯編語言程序格式1、指令JMP FAR PTR DONE屬于(段間轉(zhuǎn)移直接尋址)。 2、下列敘述正確的是(C)。 DXA對兩個無符號數(shù)進行比較采用CMP指令,對兩個有符號數(shù)比較用CMPS指令B對兩個無符號數(shù)進行比較采用CMPS指令,對兩個有符號數(shù)比較用CMP指令C對無符號數(shù)條件轉(zhuǎn)移采用JAE/JNB指令,對有符號數(shù)條件轉(zhuǎn)移用JGE/JNL指令D對無符號數(shù)條件轉(zhuǎn)移采用JGE/JNL指令,對有符號數(shù)條件轉(zhuǎn)移用JAE/J

29、NB指令3、一個有128個字的數(shù)據(jù)區(qū),它的起始地址為12ABH:00ABH,請給出這個數(shù)據(jù)區(qū)最末一個字單元的物理地址是(12C59H)。 4、某存儲單元的物理地址是12345H,可以作為它的段地址有(D) DXA2345H B12345HC12340HD1234H5、在執(zhí)行DAA指令,當高四位BCD碼校正時產(chǎn)生進位,如要把此進位值送入AH中,對這進位值的操作應是(進位值在CF中,校正后根據(jù)CF內(nèi)容再加在AH中) 6、執(zhí)行后使BX=0的同時也使CF=0,OF=0的指令是(XOR BX,BX) 7、在執(zhí)行下列指令時,需要使用段寄存器DS的指令是(D) ASTOSW BADD AL,CLCNEG B

30、XDINC DABX8、無論BH中原有的數(shù)是奇數(shù)或偶數(shù),若要使BH中的數(shù)一定為奇數(shù),應執(zhí)行的指令是(OR BH,01H) 9、比較兩個帶符號的數(shù)A、B,當A=B時程序轉(zhuǎn)移,測試的條件為(ZF=1) 10、使用DOS系統(tǒng)功能調(diào)用時,使用的軟中斷指令是(B) AINT 21 BINT 10HCINT 16H DINT 21H11、十六進制數(shù)0FFF8H表示的十進制正數(shù)為_+65528_,表示的十進制負數(shù)為_-32760_。12、CPU的標志寄存器中標志位,可以分為兩大類,其中一類稱為_狀態(tài)_標志位,另一類稱為_控制_標志位。 13、當標志位_CF_=1時表示無符號數(shù)運算產(chǎn)生溢出,而當標志位_ OF

31、_=1是表示帶符號數(shù)運算產(chǎn)生溢出。 14、在程序執(zhí)行過程中,IP寄存器中始終保存的是 (下一條指令的首地址)。 15、PSW寄存器中共有_6_位條件狀態(tài)位,有_3_位控制狀態(tài)位。()。 第4章:順序程序設(shè)計1、編寫分支程序,在進行條件判斷前,可用指令構(gòu)成條件,其中不能形成條件的指令有( D    )。A、CMPB、SUBC、ANDD、MOV第5章:分支程序設(shè)計1、檢查二個無符號數(shù)的關(guān)系,若要實現(xiàn)ALBL時分支去LOP1處,那么在“CMP AL,BL”指令后應跟的分支指令是(JC LOP1) DX2、下面指令序列測試BH中的數(shù)是否為奇數(shù),若為奇數(shù)則轉(zhuǎn)移至K1處,橫線

32、處的指令應為( )。 TEST BH,01H JNEK1 3、測試BL寄存器內(nèi)容是否與數(shù)據(jù)4FH相等,若相等則轉(zhuǎn)NEXT處執(zhí)行,可實現(xiàn)的方法是( )。 TEST BL,4FH JZ NEXT XOR BL,4FH JZ NEXT AND BL,4FH JZ NEXT OR BL,4FH JZ NEXT 4、當一個帶符號數(shù)大于0FBH時程序轉(zhuǎn)移,需選用的條件轉(zhuǎn)移指令是( JNLE)。 5、   MOV BL,64H     MOV CL,03H     XOR AX,AX AGAIN:A

33、DD AL,BL    ADC AH,0    DEC CL    JNZ AGAIN 問:(1)該程序段完成的功能是:將AX內(nèi)容乘3送BX中 (2)AX=_012CH_。6、 MOV DL,AL   NOT DL   TEST DL,04H   JE NEXT         NEXT:   若上述程序段執(zhí)行時產(chǎn)生分支,說明AL中的數(shù)第

34、幾位一定為1?程序段執(zhí)行后CF是多少? 第2位;CF=012、 AND AL,AL JZ BRCH1 RCR AL,1 JZ BRCH2 RCL AL,1 INC AL JZ BRCH3 : 上述程序運行后,試回答: (1)當(AL)0時,程序轉(zhuǎn)向BRCH1 (2)當(AL)1時,程序轉(zhuǎn)向BRCH2 (3)當(AL)-1時,程序轉(zhuǎn)向BRCH3 18、下面程序的功能是什么? MOV AX,XCMP AX,YJGE LABXCHG AX,YLAB:MOV X,AX 答:選擇X,Y中的較大值存入X中19、某程序欲用單個字符顯示的2號功能調(diào)用去顯示STRING中的字符串COMPUTER(不顯示字符$!

35、).試在空白處填上適當?shù)囊粭l指令。  STRING DBCOMPUTER,$  MOV BX,0FFSET STRING LOP:MOV DL,BX    MOV AH,02H    INT 21H    _ INC BX_    _CMP BX,24H_JNE LOP23、試編制一源程序,統(tǒng)計DA1字單元中含0的個數(shù),如統(tǒng)計的個數(shù)為奇數(shù),則將進位位置1,否則進位位清0。     DATA  SE

36、GMENT    DA1  DW  XXXX    DATA ENDS答:CODE SEGMENT          ASSUME CS:CODE,DS:DATA       START: MOV  AX,DATA            &

37、#160; MOV  DS,AX              LEA  SI,DA1              MOV  CX,16              XOR BL,BL&#

38、160;      AGAIN: MOV  AL,SI              HL AL,1              JC NEXT            

39、;  INC BL       NEXT:INC SI              LOOP AGAIN              TEST BL,01H          

40、;    JNE  L1              CLC              JMP DONE           L1: STC     &

41、#160;   DONE: MOV AH,4CH               INT 21H         CODE ENDS              END START 26、下列程序片段用來分別統(tǒng)計ARRAY數(shù)組中奇數(shù)和偶

42、數(shù)的個數(shù)。請在空白處填寫合適的指令。 DATA SEGMENT ARRAY DW 23ABH,1570H,567,1765H,46,5210H COUNT EQU ($-ARRAY)/2 DA1 DB ? DA2 DB ? DATA ENDS LEA SI,ARRAY MOV CX,COUNT LOP1:MOV AX,SI TEST AX,0001H JZ LOP2 INC BL JMP LOP3 LOP2:INC BH LOP3: ADD SI,2 DEC CX JNZ LOP1 MOV DA1,BL MOV DA2,BH 28、寫一個把字符串中的大寫字母改寫為小寫字母的子程序(近過程)。設(shè)

43、字符串以0為結(jié)束標志。 ;子程序名:STRLWR ;功 能:把字符串中的所有大寫字母改寫為小寫字母 ;入口參數(shù):DSBX=存放改寫所需字符串的緩沖區(qū)首地址 ;出口參數(shù):無STRLWR PROC PUSH AX PUSH SI MOV SI,BX AGAIN: MOV AL,SI OR AL,AL JZ OK CMP AL,A JB NEXT CMP AL,Z JA NEXT OR AL,20H(或者ADD AL,30H) MOV SI,AL NEXT: INC SI JMP AGAIN OK: POP SI POP AX RET STRLWR ENDP 第6章:循環(huán)程序設(shè)計1、循環(huán)控制指令Lo

44、opNZ/LoopNE控制循環(huán)繼續(xù)執(zhí)行的條件是(CX0且ZF=0) 2、循環(huán)指令LOOPNZ終止循環(huán)的條件是(     CX=0,或ZF=1    )。 3、檢查BUF的內(nèi)容是否為正偶數(shù),如是正偶數(shù),則0TAL。下面程序段正確的是(   C   )。A、MOV AL,BUFJS K1SHR AL,1JNC K1MOV AL,0K1:B、MOV AL,BUFAND AL,11JNZ K2MOV AL,0K2:D、MOV AL,BUFJNP K4TEST AL,80HJ

45、NZ K4MOV AL,0K4:C、MOV AL,BUFTEST AL,81HJNZ K3MOV AL,0K3:4、下列描述中,執(zhí)行循環(huán)的次數(shù)最多的情況是( A )。 AMOV CX,0 BMOV CX,1 LOP:LOOP LOP LOP:LOOP LOP CMOV CX,0FFFFH DMOV CX,256 LOP:LOOP LOP LOP:LOOP LOP6、實現(xiàn)將DX:AX中存放的32位數(shù)擴大四倍,正確的程序段是( )。 SHL AX,2 ROL DX,2 RCL AX,2 SHL DX,2 MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOP LOP SHL AX,

46、1 SHL AX,1 RCL DX,1 RCL DX,1 7、在下列指令中, D 指令的執(zhí)行會影響條件碼中的CF位。 AJMP NEXTBJC NEXTCINC BXDSHL AX,18、下列指令執(zhí)行時出錯的是(A)。 AADD BUF1,BUF2 BJMP DWORD PTR DAT BX CMOV AX,BX+DI NUMDTEST AL,08H9、在下列指令的表示中,不正確的是(C)。 AMOV AL,BX+SIBJMP SHORT DONICDEC BXDMUL CL10、在進行二重循環(huán)程序設(shè)計時,下列描述正確的是(A)。 A外循環(huán)初值應置外循環(huán)之外;內(nèi)循環(huán)初值應置內(nèi)循環(huán)之外,外循環(huán)之

47、內(nèi)B外循環(huán)初值應置外循環(huán)之內(nèi);內(nèi)循環(huán)初值應置內(nèi)循環(huán)之內(nèi)C內(nèi)、外循環(huán)初值都應置外循環(huán)之外D內(nèi)、外循環(huán)初值都應置內(nèi)循環(huán)之外,外循環(huán)之內(nèi)11、條件轉(zhuǎn)移指令JNE的測試條件為(ZF=0)。 DX12、執(zhí)行如下程序:MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT執(zhí)行后(BX)=(101)。 13、上題的程序執(zhí)行后(AX)= (5050)。 14、對于下列程序段:AGAIN:MOV AL,SIMOV ES:DI,ALINC SIINC DILOOP AGAIN也可用_ REP MOVSB _指令完成同樣的功能。 16、程序段如下: BLK1 DB

48、46,84,34,5,20,122,73 : MOV CX,7 LEA S1,BLK1 NEXT: MOV AL,SI INC SI TEST AL,81H LOOPZ NEXT MOV BL,SI : 請回答程序段運行后:(AL)5或0FBH (BL)14H或20 17、下面程序的功能是什么? STRING DB 100 DUP(?)   MOV AX,SEG STRING   MOV DS,AX   LEA SI,STRING   MOV CX,100LAB: MOV AL,SI  

49、0;  CMP AL,a     JB  LAB1    CMP AL,z    JA  LAB1    SUB AL,32    MOV SI,ALAB1: INC SI    LOOP LAB將STRING里的小寫字母a-z轉(zhuǎn)成相應的大寫字母A-Z18、現(xiàn)有下列數(shù)據(jù)段: DATA SEGMENT STR1 DBABCDEFGHIJKL' COUNT EQU STR1

50、 BUF DB COUNT DUP(0) DATA ENDS 下面程序段是實現(xiàn)把STR1中所有字符逆向傳送到BUF緩沖區(qū)(即STR1中第一個字符送到BUF的最后一個單元,STR1中最后一字符送到BUF的第一個單元)。試把程序中所空缺的指令填上。 MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF MOV CX,COUNT CLD或 STD LOOP:MOVSB _ SUB SI,2_或_ ADD DI,2_ LOOP LOP 19、下述程序段完成計算220之間的偶數(shù)的和,并存于AX中。試把空白處填上適當?shù)闹噶睢?XOR AX,AX MOV BX,0 MOV CX,10或M

51、OV CX,0AH CONT: ADD AX,BX ADD BX,2 LOOP CONT(2) XCHG AL, DI(3) INC SI21、試編制一源程序,統(tǒng)計DA1字單元中含0的個數(shù),如統(tǒng)計的個數(shù)為奇數(shù),則將進位位置1,否則進位位清0。     DATA  SEGMENT    DA1  DW  XXXX    DATA ENDS 答:CODE SEGMENT          ASSUME CS:CODE,DS:DATA       START: MOV  AX,DATA              MOV  DS,AX     &

溫馨提示

  • 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

提交評論