版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章作業(yè)答案4.1 分析匯編語言源程序應(yīng)該由哪些邏輯段組成?各段的作用是什么?語句標號和變量應(yīng)具備哪3種屬性?【解答】匯編語言源程序應(yīng)該由若干個邏輯段組成,可以有若干個數(shù)據(jù)段、代碼段、堆棧段和附加數(shù)據(jù)段,至少要有一個代碼段。各段的作用如下:(1)代碼段用來存放程序和常數(shù)。(2)數(shù)據(jù)段用于數(shù)據(jù)的保存。(3)堆棧段用于保護數(shù)據(jù),尤其在子程序調(diào)用、中斷過程中進行現(xiàn)場信息保護。(4)附加數(shù)據(jù)段用于數(shù)據(jù)的保存。語句標號和變量應(yīng)具備的3種屬性:段屬性、偏移屬性和類型屬性。4.2 指出下列程序中的錯誤: STAKSG
2、 SEGMENT DB 100 DUP(?) STA_SG ENDS DTSEG SEGMENT
3、 DATA1 DB ? DTSEG END CDSEG SEGMENT MAIN PROC
4、; FAR START: MOV DS,DATSEG MOV AL,34H
5、160; ADD AL,4FH MOV DATA,AL
6、60; START ENDP CDSEG ENDS END答案:改正后:STAKSG SEGMENT DB &
7、#160; 100 DUP(?)STAKSG ENDSDTSEG SEGMENTDATA1 DB ?DTSEG
8、0; ENDSCDSEG SEGMENTMAIN PROC FAR ASSUME CS: CDSEG, DS: DTSEG, SS: STAKSGSTART: MOV
9、0; AX, DTSEGMOV DS, AXMOV AL, 34HADD AL, 4FHMOV DATA1, ALMOV AH, 4CHINT 21HMAIN END
10、PCDSEG ENDS END S4.3. 將下列文件類型填入空格:(1) .obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map
11、160; 編輯程序輸出的文件有_; 匯編程序輸出的文件有_; 連接程序輸出的文件有_。答案:編輯程序輸出文件: (4)匯編程序輸出文件: (1), (3), (5)連接程序輸出文件: (2), (6)4.4 下面的數(shù)據(jù)項定義了多少個字節(jié)? DATA_
12、1 DB 6 DUP(4 DUP(0FFH)答案: 24字節(jié)4.5. 對于下面兩個數(shù)據(jù)段,偏移地址為10H和11H的兩個字節(jié)中的數(shù)據(jù)是一樣的嗎?為什么? DTSEG SEGMENT
13、60;| DTSEG SEGMENT ORG 10H |
14、 ORG 10H DATA1 DB 72H |
15、0; DATA1 DW 7204H DB 04H | &
16、#160; DTSEG ENDS DTSEG ENDS |答案:不一樣. 分別是72H, 04H和04H, 72H. 存儲字時低8位存在低字節(jié),高8位存在高字節(jié).4.6. 下面的數(shù)據(jù)項設(shè)置了多少個字節(jié)?
17、; (1) ASC_DATA DB '1234' (2) HEX_DATA DB 1234H答案: (1) 設(shè)置了4個字節(jié) (2) 設(shè)置了2個字節(jié)4.7. 執(zhí)行下列指令后,
18、 AX寄存器中的內(nèi)容是什么? TABLE DW 10,20,30,40,50 ENTRY DW 3
19、 . . .MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BX答案:
20、160; (AX)=404.8. 分析下列程序的功能,寫出堆棧最滿時各單元的地址及內(nèi)容。 SSEG SEGMENT 'STACK' AT 1000H ; 堆棧的段地址為1000H
21、60; DW 128 DUP(?) TOS LABEL WORD SSEG
22、; ENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DSEG SEGMENT DW
23、; 32 DUP(?) DSEG ENDS; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CSEG SEGMENT MAIN
24、0; PROC FAR ASSUME CS:CSEG, DS SEG,SS:SSEG START: MOV
25、 AX,SSEG MOV SS,AX MOV
26、160; AX,DSEG MOV DS,AX MOV
27、0; AX,4321H CALL HTOA RETN: MOV AH,4CH &
28、#160; INT 21H MAIN ENDP ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
29、0; HTOA PROC NEAR CMP AX,15
30、0; JLE B1 PUSH AX PUSH
31、160; BP MOV BP,SP MOV BX
32、,BP+2 AND BX,0FH MOV BP+
33、2,BX POP BP MOV CL,4
34、0; SHR AX,CL CALL HTOA B1:
35、; POP AX B2: ADD AL,30H &
36、#160; JL PRT ADD AL,07 PRT:
37、0; MOV DL,AL MOV AH,2
38、160; INT 21H RET HTOA ENDP CSEG &
39、#160; ENDS ; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - END
40、 START答案:1000:0F2HB11000:0F4H31000:0F6HB11000:0F8H21000:0FAH B11000:0FCH 11000:0FEH RETN1000:100H 4.9 下面是將內(nèi)存一字節(jié)數(shù)據(jù)高4位和低4位互換并放回原位置的程序,找出錯誤并改正。 DATA SEGMENTDD1 DB 23HDATA ENDSCODE SEGMENTASSUME CS
41、:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA SI,OFFSET DD1MOV AL,SIMOV CL,4RCR AL,CLMOV SI,ALMOV AH,4CHINT 21HCODE ENDS END START【解答】程序第8行錯誤:LEA SI,OFFSET DD1,應(yīng)去掉OFFSET;程序第10行錯誤:RCR AL,CL,應(yīng)使用ROR或ROL,改為ROR AL,CL4.10 編寫程序,比較兩個字符串STRING1和STRING2所含字符是否完全相同,若相同則顯示"MATCH",若不同則顯示"N
42、O MATCH"。答案:datarea segment string1 db 'asfioa' string2 db 'xcviyoaf'
43、 mess1 db 'MATCH','$' mess2 db 'NO MATCH','$'datarea endsprognam segmen
44、t assume cs:prognam,ds:datareamain proc far start: push dssub ax,axpush axmov
45、; ax,datareamov ds,axmov es,axbegin: mov cx, string2-string1 mov
46、60; bx, mess1-string2 cmp bx,cx jnz dispnolea
47、dx,addrlea si,string1lea di,string2repe cmpsbjne dispno
48、0; mov ah,9 lea dx,mess1int 21h retdispno: mov &
49、#160; ah, 9 lea dx, mess2 int 21hretmain
50、; endpprognam ends end start4.11根據(jù)字節(jié)變量control中的各位被置位情況控制程序轉(zhuǎn)移到8個遠過程中的一個?!窘獯稹緿ATASEGMENTSUBSTABLE DW SUBR1 DW SUBR2DW SUBR3DW SUBR4 DW SU
51、BR5 DW SUBR6 DWSUBR7 DWSUBR8CONTROL DB 40HDATAENDSSS_SEGSEGMENTSTACKDB100DUP(0)SS_SEGENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:SS_SEGMAINPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVBX,OFFSET SUBSTABLEMOVAL,CONTROLDIVERT:RCRAL,1JCGETAGADDBX,2JMPSHORTDIVERTGETAG:CALLBXRETMAINENDPSUBR1PROC RETSUBR1EN
52、DP SUBR8PROC RETSUBR8ENDPCODEENDSENDMAIN4.12 編寫一個程序,接收從鍵盤輸入的10個十進制數(shù)字,輸入回車符則停止輸入,然后將這些數(shù)字加密后(用XLAT指令變換)存入內(nèi)存緩沖區(qū)BUFFER。加密表為; 輸入數(shù)字: 0,1,2,3,4,5,6,7,8,9 密碼數(shù)字: 7,5,9,1,3,6,8,0,2,4答案:Data segmentscode db
53、7,5,9,1,3,6,8,0,2,4buffer db 10 dup(?)Data endsCode segmentassume cs:prognam,ds:datareastart: mov ax, Datamov ds,ax mov si,0 mov cx,10 lea bx,scode
54、input: mov ah,01 int 21h cmp al,0ahjz exitand al,0fhxlatmov buffersi,alinc siloop inputexit:mov ah,4chint 21h Code ends End sta
55、rt4.13 從鍵盤輸入一系列字符,以回車符結(jié)束,編程統(tǒng)計其中非數(shù)字字符的個數(shù)。【解答】DATA SEGMENT BLOCK DB 100 DUP (?) COUNT DB ?DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX MOV DL,0 LEA SI,BLOCKLP: MOV AH,1INT 21HCMP AL,0DHJZ EXIT MOV SI,AL CMP AL,30HJAE NEXTCMP AL,39HJBE NEXT INC DLNEXT: INC SI JMP LPEXIT: MOV
56、COUNT,DLMOV AH,4CH INT 21HCODE ENDS END START4.14請用16進制和10進制分別顯示內(nèi)存單元中一個字節(jié)的有符號數(shù)。【解答】DATASEGMENT DATA1DB088H DATA2 DB 4 DUP(0)DATAENDSSTACKSEGMENTSTACKDB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKMAINPROCFARPUSHDSXOR AX,AXPUSHAXMOVAX,DATAMOVDS,AX HEXN:MOVAL,DATA1 MOV CL,4 SHR AL,CL CAL
57、LDISPL1 MOVAL,DATA1 AND AL,0FH CALL DISPL1 DECN:MOV AL,DATA1 SHL AL,1 JNC EEE MOV DL,'-' MOV AH,2 INT 21H MOV AL,DATA1 NEG AL JMP DECN0 EEE:MOV AL,DATA1 DECN0:LEA BX,DATA2 XOR SI,SI MOV DL,10 DECN1:XOR AH,AH DIV DL MOV BX+SI,AH INC SI AND AL,0FFH JZ AAA JMP DECN1 AAA:DEC SI JZ BBB MOV AL,BYT
58、E PTR BX+SI CALL DISPL1 JMP AAA BBB:MOV AL,BYTE PTR BX CALL DISPL1 RETMAIN ENDPDISPL1 PROC PUSH AX ADD AL,30H CMP AL,39H JNA CCC ADD AL,07H CCC:MOV DL,AL MOV AH,2 INT 21H POP AX RETDISPL1ENDPCODEENDSENDMAIN4.15在數(shù)據(jù)段中以buffer單元開始連續(xù)存放10個8位二進制無符號數(shù),將其中最大數(shù)找出來,存于max單元中,試編程?!窘獯稹縟ata segmentbufferdb27, 17, 10
59、0, 65, 12, 36, 79, 41,88,3maxdb?data endsss_segsegment stackdb100 dup(0)ss_segendscodesegment assumecs:code, ds:data, ss:ss_segmainprocfarmovax, datamovds, axmovcx, 9movbx, 0moval, bufferbxmain1:addbx,2cmpal, bufferbxjgenextmoval, bufferbxnext:loopmain1movmax, almovax, 4c00hint21hmainendpcodeendsend
60、main4.16在數(shù)據(jù)段longdata中存放32位二進制無符號數(shù)(低位在前),將該變量以16進制形式顯示輸出,試編程?!窘獯稹緿ATASEGMENTLONGDATADD0123ABC56HSTRINGDB 'THE NUBER IS:$'DATAENDSSTACKSEGMENTSTACKDB 100 DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKMAINPROCFARPUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVDX,OFFSETSTRINGMOVAH,9INT21HMOVB
61、X,OFFSETLONGDATAADDBX,3MOVCX,0404HBBB:MOVDL,BXDECBXMOVDH,DLSHRDL,CLCALLDISPLANDDH,0FHMOVDL,DHCALLDISPLDECCHJNZBBBMOVDL,48HINT21HJMPZZZDISPLPROCMOVAH,2ADDDL,30HCMPDL,39HJNAEEEADDDL,07HEEE:INT21HRETDISPLENDPZZZ:RETMAINENDPCODEENDSENDMAIN4.17在數(shù)據(jù)段中以buffer單元開始連續(xù)存放10個8位二進制無符號數(shù),將其按由大到小的順序排列,試編程。【解答】DATASEGMENTBUFFERDB37,36,39,32,35,38,31,34,30,33COUNTEQU$-BUFFERDATAENDSSTACKSEGMENTDB20DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKMAINPROCMOVAX,DATAMOV
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深基坑計算書課程設(shè)計
- 生態(tài)監(jiān)測與大數(shù)據(jù)分析應(yīng)用考核試卷
- 電氣cad課程設(shè)計目的
- 電容器介質(zhì)損耗與絕緣電阻測試考核試卷
- 特效教學課程設(shè)計
- 2024年智慧農(nóng)業(yè)示范園農(nóng)產(chǎn)品種植技術(shù)服務(wù)及推廣協(xié)議3篇
- 礦產(chǎn)勘查安全規(guī)范考核試卷
- 烘焙食品原料替代品開發(fā)考核試卷
- 2024年度新能源項目第三方抵押擔保合同3篇
- 2024年度文化傳承師徒合作協(xié)議范本3篇
- 燃燒仿真.燃燒仿真軟件:OpenFOAM:湍流燃燒仿真原理
- 2024-2025學年七年級語文上冊第一學期 期末綜合模擬測試卷(人教版)
- 浙江省臺金七校2023-2024學年高一下學期4月期中考試英語試題
- 09D101-6 礦物絕緣電纜敷設(shè)
- 從零開始學韓語智慧樹知到期末考試答案章節(jié)答案2024年青島酒店管理職業(yè)技術(shù)學院
- 《稻草人》整本書導讀課(教學設(shè)計)2023-2024學年統(tǒng)編版語文三年級上冊
- 園區(qū)改造合同范本
- 小學單位換算-體積
- 情緒管理國內(nèi)外研究現(xiàn)狀
- 成人流行性感冒抗病毒治療專家共識(2022年)解讀
- 走進民航智慧樹知到期末考試答案2024年
評論
0/150
提交評論