版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
編程復(fù)習(xí)程序分析1、閱讀如下程序段,回答所提出的問題。
MOV BX,1110000011110001B XOR AX,AX MOV CX,16NEXT: ROL BX, 1 JC SKIP INC AXSKIP: LOOP NEXT指出程序段完成的功能?程序段執(zhí)行完后,寄存器AX的值是多少?
統(tǒng)計(jì)BX中數(shù)的二進(jìn)制表示中0的個(gè)數(shù),并存放在AX中。(AX)=8程序分析2、閱讀如下程序段,回答所提出的問題。
X DW 3,-5,8,7,-2,0,0,0,0,0 Y DW 20,80,10,50,40,30,60,10,20,70 ZDW 10DUP(0)
...... MOV SI,0 SUB DX,DXAGAIN:MOV AX,X[SI] ADD DX,AX CMP AX,0 JZ EXIT JL NEXT ADD AX,X[SI]NEXT:ADD AX,Y[SI] MOV Z[SI],AX ADD SI,2 JMP AGAINEXIT:
問執(zhí)行后(1)DX和SI的內(nèi)容是多少?(2)(Z+2)、(Z+4)、(Z+16)的內(nèi)容是什么?267526643800注、十進(jìn)制數(shù)DX:11SI:10程序分析3.在ARY中存放了COUNT個(gè)無符號(hào)數(shù),下面程序段找出最小奇數(shù)并送入EMIN單元中,請(qǐng)?jiān)诿總€(gè)橫線處填一條指令補(bǔ)充完整。ARY DB11,10,21,5,34H,57,97H,127,77H,…COUNTEQU$-ARYEMIN DB?…… LEA BX,ARY MOV CX,COUNT MOV AL,ARYLOP1:CMP[BX],AL
JE NEXT MOV AL,[BX]NEXT:
LOOP LOP1 MOV EMIN,ALJAENEXT(或JANEXT)
TEST BYTEPTR[BX],01H
INCBX或ADDBX,1程序分析4、已知(CS)=2300H,(IP)=32B4H,且在數(shù)據(jù)段中有定義:
ARYDB0AH,28H,00H,3FH
分別給出下列指令執(zhí)行后的CS和IP的內(nèi)容:
A、LEABX,ARYJMPWORDPTR[BX]B、MOVBX,OFFSETARYCALLWORDPTR[BX]C、MOVBX,OFFSETARYJMPDWORDPTR[BX](CS)=2300H(IP)=280AH(CS)=2300H(IP)=280AH(CS)=3F00H(IP)=280AH程序分析5、
MOVAL,0MOVBL,0MOVCX,10L1:INCBLINCBLADDAL,BLLOOPLI程序的功能是
,畫出程序的流程圖。
程序的功能是求2468101214161820的和
程序分析6、MOVAX,4BD5HMOVBL,0MOVDL,0MOVCX,16L1:SHLAX,1JCL2INCBLJMPL3L2:INCDLL3:LOOPL1程序的功能是___________,程序執(zhí)行后BL=_________,DL=_________,AX=_________。
程序的功能是分別統(tǒng)計(jì)4BD5H中的0、1的個(gè)數(shù),0的個(gè)數(shù)放BL,1的個(gè)數(shù)放DL,程序執(zhí)行后BL=7,DL=9,AX=0。編程題1按如下要求,編寫一個(gè)完整的字符串輸入、處理和輸出程序,其中3、4、5要求各采用一個(gè)子程序?qū)崿F(xiàn)。1.編寫數(shù)據(jù)段,定義80個(gè)字節(jié)的字符串存儲(chǔ)區(qū)String1,String2,String3,并定義其它所需的變量和數(shù)據(jù)。2.編寫完整的代碼段和主程序,調(diào)用如下子程序,實(shí)現(xiàn)字符串輸入、處理和輸出。3.編寫輸入子程序,從鍵盤輸入最多80字符的字符串并存放到String1中。4.編寫字符串處理子程序,實(shí)現(xiàn)如下功能:1)將String1中的數(shù)字用‘*’代替,然后存放在String2中;2)將String1中的小寫字母轉(zhuǎn)換成大寫字母,結(jié)果存放在String3中;本子程序的參數(shù)定義要求如下:bx----String1的首地址;si----String2的首地址;di----String3的首地址;cx---字符串的長度。5.編寫輸出子程序,按String2,String3的順序輸出處理后的字符串。編程題參考代碼;1)DATASEGMENTSTRING1DB80,?,81DUP(?)STRING2DB81DUP(?)STRING3DB81DUP(?)DATA ENDS;2)CODE SEGMENT ASSUMECS:CODE,DS:DATAMAIN PROC FARSTART:PUSH DS SUB AX,AX PUSH AX MOV AX, DATA MOV DS,AX CALL INPUT LEA BX,STRING1+2 LEA SI,STRING2 LEA DI,STRING3 MOV CL,STRINg1+1 MOV CH,0 CALL STR_REP CALL OUTPUT RETMAIN ENDP
編程題參考代碼;3)INPUTPROCNEAR LEADX,STRING1 MOVAH, 0AH INT 21H RETINPUTENDP;4)STR_REPPROCNEARNEXT:MOVAL,[BX] CMPAL,30H JLL1 CMPAL,39H JGL1 MOVAL,‘*’L1: MOV[SI],AL MOVAL,[BX] CMPAL,‘a(chǎn)’ JLL2 CMPAL,‘z’ JGL2 SUBAL,20HL2: MOV[DI],AL INCDI INCSI LOOP NEXT RETSTR_REPENDP編程題參考代碼;5)OUTPUTPROCNEAR MOVBL,STRING1+1 MOVBH,0 MOVSTRING2[BX],’$’ MOVSTRING3[BX],’$’ LEASTRING2 MOVAH, 09H INT21H LEASTRING3 MOVAH, 09H INT21H RETOUTPUT ENDPCODE ENDS ENDSTART編程題2用移位指令將X乘以30,結(jié)果存入Y單元。
DatasegmentXDB?Ydw?DataendsCodesegmentAssumecs:code,ds:dataStart: Movax,data Movds,ax MovAL,X MOVAH,0 MovCL,1 MOVDX,AX SHLDX,CL MOVCL,5 SHLAX,CL SUBAX,DX MOVY,AX Movah,4ch Int21hCodeendsENDSTART編程題3從鍵盤輸入一個(gè)字符串,再將它按相反次序輸出在下一行。DatasegmentStrDB50,?,50dup(?)DataendsCodesegmentAssumecs:code,ds:dataStart: Movax,data Movds,ax MOVAH,10 LEADX,STR INT21H MOVCL,STR+1 MOVCH,0 MOVBX,CXNEXT:MOVDL,STR[BX+1] MOVAH,2 INT21H DECBX LOOPNEXT Movah,4ch Int21hCodeendsENDSTART編程題4從鍵盤輸入兩個(gè)一位數(shù),求它們的和,將結(jié)果輸出,分別用子程序完成。
CodesegmentAssumecs:codeMAINPROCFARPUSHDSMOVAX,0PUSHAXMOVAH,1INT21HMOVDL,ALINT21HMOVBL,ALCALLADDITIONCALLSHOWRETMAINENDPADDITIONPROCNEAR;參數(shù)是DL、BL,返回DLSUBBL,30HSUBDL,30HADDDL,BLRETADDITIONENDPSHOWPROCNEAR;參數(shù)是DL MOVAL,DL CBW MOVBL,10 DIVBL;分離個(gè)位與十位數(shù)
MOVBH,AH CMPAL,0 JENEXT MOVDL,AL;十位數(shù)
ADDDL,30H MOVAH,2 INT21HNEXT:MOVDL,BH;個(gè)位數(shù)
ADDDL,30H MOVAH,2 INT21H RETSHOWENDPCodeendsENDmain數(shù)據(jù)定義按照給定的條件為程序定義一個(gè)數(shù)據(jù)段,并畫出存儲(chǔ)單元的示意圖:1、STR是字符串THISISADATA_SEGMENT。2、DAT1是字節(jié)變量,初值為23,4BH,126,0D3H。3、DAT2是16進(jìn)制數(shù)字變量,初值為100,255,2DUP(3,5)4、LEN是以上存儲(chǔ)單元的字節(jié)數(shù)。答:DATASEGMENT STRDB‘THISISADATA_SEGMENT’ DAT1DB23,4BH,126,0D3H DAT2DW100,255,2DUP(3,5) LENEQU$-STR DATAENDS
存儲(chǔ)區(qū)內(nèi)容數(shù)據(jù)數(shù)值舉例數(shù)據(jù)數(shù)值舉例數(shù)據(jù)數(shù)值舉例數(shù)據(jù)數(shù)值舉例54‘T’4117230048544B4B0349417E12600535F‘_’D30D30520‘
‘53‘S’641000049‘I’45005347FF20‘
‘4D0041‘A’450320‘
‘4E0044‘D’5405寫程序段1、將AL中的兩位BCD碼分離,分別存放DL和DH中。答:MOVDH,ALMOVDL,ALANDDL,0FHMOVCL,4SHRDH,CLANDDH,0FH
2、將DL中的4位二進(jìn)制數(shù)轉(zhuǎn)換成16進(jìn)制數(shù)的ASCII碼。答:ADDDL,30HCMPDL,3aHJBNEXTADDDL,7NEXT:寫程序段3、將AL中的8位二進(jìn)制數(shù)高4位和低4位交換。答: MOVCL,4 RORAL,CL4、將AL和BL中的非壓縮BCD碼合并成一個(gè)壓縮的BCD碼,存在AL中。答: ANDAL,0FH MOVCL,4 SHLAL,CL ANDBL,0FH ORAL,BL5、將AL中的8位有符號(hào)數(shù)轉(zhuǎn)換成它的絕對(duì)值。6、用串掃描指令在一個(gè)字符串中查找字符'*'。答:設(shè)字符串變量為str,長度在CX中。
MOVAL,’*’ LEADI,STR REPNESCASB JNEEXIT DECDI;DI指向的為“*”EXIT:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院老人家庭溝通制度
- 數(shù)碼產(chǎn)品租賃合同(2篇)
- 2024年物業(yè)設(shè)施管理合同3篇
- 2025年平頂山貨運(yùn)駕駛員從業(yè)資格證考試題庫答案
- 2025年林芝貨運(yùn)從業(yè)資格證模擬考試下載
- 2025年懷化經(jīng)營性道路客貨運(yùn)輸駕駛員從業(yè)資格考試
- 《催眠治療》課件
- 2024年教育設(shè)施融資租賃擔(dān)保合同示例2篇
- 2025年東莞a2駕駛證貨運(yùn)從業(yè)資格證模擬考試
- 2024年版礦業(yè)開發(fā)合同
- 中資企業(yè)在哈薩克斯坦發(fā)展報(bào)告 2023-2024
- 《復(fù)雜網(wǎng)絡(luò)入門必讀》課件
- 國開《小學(xué)數(shù)學(xué)教學(xué)研究》形考期末大作業(yè)答案
- 倉庫管理培訓(xùn)課件
- 傳感器基礎(chǔ)知識(shí)單選題100道及答案解析
- 總裁秘書勞動(dòng)合同模板
- 傳播學(xué)概論習(xí)題與參考答案
- 政治-湖南省長沙市(炎德英才大聯(lián)考)長郡中學(xué)2025屆高三上學(xué)期月考試卷(三)試題和答案
- 2023級(jí)《中國特色社會(huì)主義》學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024年學(xué)校聯(lián)席會(huì)議制度范例(五篇)
- 瑞士萬通831KF卡爾費(fèi)休水分測(cè)定儀干貨-庫侖法
評(píng)論
0/150
提交評(píng)論