習(xí)題及答案第4章與_第1頁
習(xí)題及答案第4章與_第2頁
習(xí)題及答案第4章與_第3頁
習(xí)題及答案第4章與_第4頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、習(xí)題一、選擇題1.下列描述正確的是_。A.匯編語言源程序可直接運行B.匯編語言屬于低級語言C.匯編程序是用匯編語言編寫的程序,運行速度高,閱讀方便,屬于面向用戶的程序語言。D.匯編語言可以移植答案:B2. 分析下面的程序,變量VAR2的偏移地址是_。DATA SEGMENT ORG 2VAR1 DB 2,3,4 ORG $+3VAR2 DW 1234HDATA ENDSA.02HB.04HC.05HD.08H答案:D3.為了使MOV AX, VAR指令執(zhí)行后,AX寄存器中的內(nèi)容為4142H,下面哪一種數(shù)據(jù)定義會產(chǎn)生不正確的結(jié)果?A.VAR DW 4142HB.VAR DW 16706C.VAR

2、 DB 42H, 41HD.VAR DW AB答案:C4.下列偽指令中_是正確的。A.ERR1:DW 99B.ERR2 DB 25*60C.COUNT EQU 20D.ONE DB ONE答案:C5.執(zhí)行下列指令后,寄存器CL的值是_。STR1DWABSTR2DB16DUP(?)CNTEQU$STR1MOVCX,CNTMOVAX,STR1HLTA.10HB.12HC.0EHD.0FH答案:B二、填空題1.匯編語言的調(diào)試過程如下:建立以_為擴展名的源文件;生成以_為擴展名的目標(biāo)文件;生成以_為擴展名的可執(zhí)行文件;使用DEBUG調(diào)試程序,調(diào)試可執(zhí)行目標(biāo)程序。答案:.asm .obj .exe2.執(zhí)

3、行下列指令后,(AX)=_,(BL)=_。ADWEFBDBABCDEFMOVAX,AMOVBL,B3HLT答案:4546H44H3.執(zhí)行下面程序段后,AL中的內(nèi)容是_。BUFDW1234H, 5678H, 0001HMOVBX,OFFSETBUFMOVAL,2XLAT答案:78H4.若符號定義語句如下,則L=_。BUF1DB1, 2, 12BUF2DB0LEQUBUF2-BUF1答案:45.執(zhí)行下列程序段后,BX寄存器間址單元的內(nèi)容是_。ORG1FFFHDB4FH, 50H, 51HMOVBX,1FFFHINCBXINCBXDECBX答案:4FH6.對于下面的數(shù)據(jù)定義,各條MOV指令單獨執(zhí)行后

4、,請?zhí)畛溆嘘P(guān)寄存器的內(nèi)容:TABLE1DB?TABLE2DW 20 DUP(?)TABLE3DBABCD.MOVAX,TYPE TABLE1;(AX)=_MOVBX,TYPETABLE2;(BX)=_MOVCX,LENGTH TABLE2; (CX)=_MOVDX,SIZETABLE2;(DX)=_MOVSI,LENGTH TABLE3; (SI)=_答案:1 2 20 40 1 7.下面是多字節(jié)加法程序,第一個數(shù)是8A0BH,第二個數(shù)是D705H。請?zhí)顚懗稣_結(jié)果。DATASEGNEBTFIRSTDB_, _, 0HSECONDDB_,_DATAENDSCODESEGMENTASSUMECS

5、:CODE, DS: DATASTART:MOVAX,DATAMOVDS,AXMOVCX,_MOVSI,0_NEXT:MOVAL,SECONDSIADCFIRSTSI,ALINCSILOOPNEXTMOVAL,0ADCAL,_MOVFIRSTSI,ALMOVAH,4CHINT21HCODEENDSENDSTART答案:0BH8AH05HD7H2CLC08.下面程序的功能是求有符號數(shù)中絕對值最小的數(shù),并將最小絕對值存放在DAT2字節(jié)中,填空使程序正確實現(xiàn)此功能。程序執(zhí)行后,DAT2單元中的內(nèi)容是_。DATA SEGMENTDAT1DB65H, 88H, 20H, 0F6HNEQU $-DAT1D

6、AT2DB ?DATAENDSCODESEGMENT_START:MOV AX, DATA_LEA SI, DAT1MOV CX, N-1MOV AL, SITEST AL, 80HJZ LP0NEG ALLP0:MOV DAT2, ALLP1:_MOV BL, SITEST BL, 80HJZ LP2NEG BLLP2:_JB LP3MOV DAT2, BLMOV AL, BLLP3:_MOV AH, 4CHINT 21HCODE ENDSENDSTART答案:ASSUME DS:DATA, SS:STACK, CS:CODEMOV DS, AXINC SICMP DAT2, BLLOOP

7、LP1DAT2單元中的內(nèi)容:0AH9.填空說明在下列程序段執(zhí)行過程中相應(yīng)寄存器中的值。假設(shè)程序執(zhí)行前DS=3000H,SS=2000H,SP=3000H,AX=4567H,BX=1234H,CX=6789H。AND BX, 00FFHCALL MYSUBNOP;SP=_;AX=_;BX=_HLTMYSUB PROCPUSH AXPUSH BXPUSH CXSUB AX, BX;SP=_POP CXPOP AXPOP BXNOP;SP=_RETMYSUB ENDP答案:3000H 0034H 4567H 2FF8H 2FFEH10.完善程序。BUFFER單元開始放置一個數(shù)據(jù)塊,BUFFER單元存

8、放預(yù)計數(shù)據(jù)塊的長度為20H,BUFFER+1單元存放的是實際從鍵盤輸入的字符串的長度,從BUFFER+2開始存放的是從鍵盤接收的字符,請將這些從鍵盤接收的字符再在屏幕上顯示出來。MOV DX, OFFSET BUFFERMOV AH, _INT 21H;讀入字符串LEA DX, _MOV AL, _;實際讀入的字符串的字符個數(shù)MOV AH, 0ADD BX, AXMOV AL, _MOV BX+1, ALMOV AH, _INC DX;確定顯示字符串的首址INT 21HMOV AH, _;系統(tǒng)返回DOSINT 21H答案:0AH BUFFER+1 BX $或24H 9 4CH三、問答題1.變量

9、和標(biāo)號有哪些屬性?它們的區(qū)別是什么?答案:變量、標(biāo)號還有常量是匯編語言中使用的操作數(shù),是3種基本的數(shù)據(jù)項。變量和標(biāo)號都有段屬性、偏移屬性和類型屬性3種屬性,但含義不同。變量通常指存放在存儲單元中的值,在程序的運行中是可以修改的。所有的變量都具有3個屬性。(1)段屬性:指變量所在段的段基址,此值必須在一個段寄存器中。(2)偏移屬性:指變量所在地址與所在段的段首地址之間的地址偏移字節(jié)數(shù)。(3)類型屬性:指變量中每個元素所包含的字節(jié)數(shù)。標(biāo)號是可執(zhí)行指令語句的地址的符號表示,它可作為轉(zhuǎn)移指令和調(diào)用指令CALL的目標(biāo)操作數(shù),以確定程序轉(zhuǎn)向的目標(biāo)地址,它也具有3個屬性: (1)段屬性:指標(biāo)號所在段的段基址

10、。標(biāo)號的段是它所出現(xiàn)的那個代碼段,由CS指示。(2)偏移屬性:指標(biāo)號所在地址與所在段的段首地址之間的地址偏移字節(jié)數(shù)。(3)類型屬性:標(biāo)號的類型屬性指在轉(zhuǎn)移指令中標(biāo)號可轉(zhuǎn)移的距離,也稱距離屬性。NEAR和FAR2.指出下列偽指令語句中的錯誤:(1) DATA DB 395(2)PRGM SEG PRGM ENDS(3)ALPHA EQU BETA(4) COUNT EQU 100 COUNT EQU 65(5) GOON DW 10DUP(?) JMP GOON答案:(1)字節(jié)變量,范圍在0255(2)定義段的偽指令為SEGMENT(3)BETA必須先定義(4)EQU不能重復(fù)定義,在下一次定義前

11、必須用PURGE撤消(5)轉(zhuǎn)移指令必須轉(zhuǎn)移到指令上,不允許轉(zhuǎn)移到數(shù)據(jù)變量上。3.一數(shù)據(jù)段如下:DATA SEGMENT PARA DATA AT 46HQA EQU 255QA1=QA GT 3000QA2=0FFFHQA3 EQU QA2 XOR 255QA4=88 MOD 5QA5=88H SHR 2QA6 EQU QA3/16+15 ORG 1060HG1 DB 32, QA, 98/2, NOT 25G2 DW 0FF6H, OFFSET G2G3 DW 3DUP(5)G4 DW SEG G1SA EQU LENGTH G3SB EQU SIZE G3SC=TYPE G3 ORG 12

12、00HF1 EQU THIS WORDF2 DB 11H, 22H, 33H, 44HFF DD 12345HDATA ENDS(1)寫出每個符號所對應(yīng)的值(2)畫出內(nèi)存分配圖(3)執(zhí)行下列指令后,對應(yīng)的寄存器的值為多少MOV AX, WORE PTR FFAND AX, 0FFHMOV BX, WORD PTR G1MOV BX, 255 AND 0FHADD AX, OFFSET F2MOV BX, F1答案:(1)DATA SEGMENT PARA DATA AT 46HQA EQU 255;QA=255QA1=QA GT 3000;255大于3000,命題假,QA1=0QA2=0FFF

13、H;QA2=0FFFHQA3 EQU QA2 XOR 255;QA3=0FFFH0FFH=0F00HQA4=88 MOD 5;QA4=3QA5=88H SHR 2;QA5=22HQA6 EQU QA3/16+15;QA6=10FH ORG 1060HG1 DB 32, QA, 98/2, NOT 25G2 DW 0FF6H, OFFSET G2G3 DW 3DUP(5)G4 DW SEG G1SA EQU LENGTH G3;SA=3SB EQU SIZE G3;SB=32=6SC=TYPE G3;SC=2 ORG 1200HF1 EQU THIS WORD;F1的偏移地址為1200H,類型為

14、字F2 DB 11H, 22H, 33H, 44HFF DD 12345HDATA ENDS(2)內(nèi)存分配:DS:1060HG120HFFH31HE6HDS:1064HG2F6H0FH64H10HDS:1068HG305H00H05H00H05H00HDS:106EHG446H00HDS:1200HF211H22H33H44HDS:1204HFF45H23H01H00H(3)存儲器的值:MOV AX, WORE PTR FF;AX=2345HAND AX, 0FFH;AX=0045HMOV BX, WORD PTR G1;BX=0FF20HMOV BX, 255 AND 0FH;BX=000F

15、HADD AX, OFFSET F2;AX=1245HMOV BX, F1;BX=2211H4.以下程序的執(zhí)行結(jié)果是_。ADB1234BDW5 DUP(2,3 DUP(0)CDWAB,C,DL1:MOVAL,TYPE BMOVBL,LENGTH BMOV AH,SIZE AMOVBH,SIZE CMOVCL,TYPEL1MOVCH,SIZEB答案:AX=0102H,BX=0205HCX=0AFFH5.有下列數(shù)據(jù)段,寫出數(shù)據(jù)段中MAX、VAL1、VAL2、LEND符號所對應(yīng)的值。DATA SEGMENTMAX EQU 0FFFHVAL1 EQU MAX MOD 10HVAL2 EQU VAL1*

16、2BUFF DB 1,2,3,123EBUFF DB ?LEND EQU EBUFF-BUFFDATA ENDS答案:MAX=0FFFH VAL1=000FH VAL2=001EH LEND 66.現(xiàn)有程序如下:DATA SEGMENTA DB 23B DB 0F0HC DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS: DATASTART:MOV AX, DATAMOV DS, AXMOV AL, ACMP AL, BJZ LJG MMOV C, -1JMP EXITL:MOV C, 0JMP EXITM:MOV C, 1EXIT:MOV AH, 4C

17、HINT 21HCODEENDSEND START請回答:(1)該程序完成什么功能?(2)程序運行完后,C中的內(nèi)容是什么?答案:判斷兩個有符號數(shù),若A=B,則C=0;若AB,則C=1;若AB,則C=-1。C=1。7.設(shè)有無符號數(shù)X,Y,編寫求的程序。已知X為1234H,Y為5678H,X、Y、Z均為存放于數(shù)據(jù)段的字變量。答案:DATA SEGMENTX DW 1234HY DW 5678HZ DW 0DATA ENDSSTACK SEGMENT STACKST1 DW 64 DUP(?)TOP EQU $-ST1STACK ENDSCODE SEGMENT ASSUME CS:CODE, DS

18、:DATA, SS:STACKSTART:MOV AX, DATAMOV DS,AXMOV AX, STACKMOV SS, AXMOV SP, TOPMOV AX, XSUB AX, YJNC NEXTNEG AXNEXT:MOV Z, AXMOV AH, 4CHINT 21HCODE ENDSEND START8.閱讀下列程序,回答下列問題:(1)程序執(zhí)行后,RESULT單元的內(nèi)容為多少?(2)程序完成的功能是什么?(3)該程序所占的數(shù)據(jù)區(qū)為多少個字節(jié)?DATA SEGMENTFEN DB 85, -90, 64, -120, 95, 77, 88, 120, 60, 83COUNT EQU $-FENRESULT DB ?DATA ENDSSTACK SEGMENT PARA STACK DB 100 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE, DATA:DATA, SS:STACKSTART:MOV AX,DATAMOV DS, AXMOV SI, OFFSET FENMOV CX, COUNTDEC CXMOV

溫馨提示

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

最新文檔

評論

0/150

提交評論