版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
編程復習程序分析1、閱讀如下程序段,回答所提出的問題。
MOV BX,1110000011110001B XOR AX,AX MOV CX,16NEXT: ROL BX, 1 JC SKIP INC AXSKIP: LOOP NEXT指出程序段完成的功能?程序段執(zhí)行完后,寄存器AX的值是多少?
統(tǒng)計BX中數(shù)的二進制表示中0的個數(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注、十進制數(shù)DX:11SI:10程序分析3.在ARY中存放了COUNT個無符號數(shù),下面程序段找出最小奇數(shù)并送入EMIN單元中,請在每個橫線處填一條指令補充完整。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)計4BD5H中的0、1的個數(shù),0的個數(shù)放BL,1的個數(shù)放DL,程序執(zhí)行后BL=7,DL=9,AX=0。編程題1按如下要求,編寫一個完整的字符串輸入、處理和輸出程序,其中3、4、5要求各采用一個子程序實現(xiàn)。1.編寫數(shù)據(jù)段,定義80個字節(jié)的字符串存儲區(qū)String1,String2,String3,并定義其它所需的變量和數(shù)據(jù)。2.編寫完整的代碼段和主程序,調用如下子程序,實現(xiàn)字符串輸入、處理和輸出。3.編寫輸入子程序,從鍵盤輸入最多80字符的字符串并存放到String1中。4.編寫字符串處理子程序,實現(xiàn)如下功能:1)將String1中的數(shù)字用‘*’代替,然后存放在String2中;2)將String1中的小寫字母轉換成大寫字母,結果存放在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,結果存入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從鍵盤輸入一個字符串,再將它按相反次序輸出在下一行。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從鍵盤輸入兩個一位數(shù),求它們的和,將結果輸出,分別用子程序完成。
CodesegmentAssumecs:codeMAINPROCFARPUSHDSMOVAX,0PUSHAXMOVAH,1INT21HMOVDL,ALINT21HMOVBL,ALCALLADDITIONCALLSHOWRETMAINENDPADDITIONPROCNEAR;參數(shù)是DL、BL,返回DLSUBBL,30HSUBDL,30HADDDL,BLRETADDITIONENDPSHOWPROCNEAR;參數(shù)是DL MOVAL,DL CBW MOVBL,10 DIVBL;分離個位與十位數(shù)
MOVBH,AH CMPAL,0 JENEXT MOVDL,AL;十位數(shù)
ADDDL,30H MOVAH,2 INT21HNEXT:MOVDL,BH;個位數(shù)
ADDDL,30H MOVAH,2 INT21H RETSHOWENDPCodeendsENDmain數(shù)據(jù)定義按照給定的條件為程序定義一個數(shù)據(jù)段,并畫出存儲單元的示意圖:1、STR是字符串THISISADATA_SEGMENT。2、DAT1是字節(jié)變量,初值為23,4BH,126,0D3H。3、DAT2是16進制數(shù)字變量,初值為100,255,2DUP(3,5)4、LEN是以上存儲單元的字節(jié)數(shù)。答:DATASEGMENT STRDB‘THISISADATA_SEGMENT’ DAT1DB23,4BH,126,0D3H DAT2DW100,255,2DUP(3,5) LENEQU$-STR DATAENDS
存儲區(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位二進制數(shù)轉換成16進制數(shù)的ASCII碼。答:ADDDL,30HCMPDL,3aHJBNEXTADDDL,7NEXT:寫程序段3、將AL中的8位二進制數(shù)高4位和低4位交換。答: MOVCL,4 RORAL,CL4、將AL和BL中的非壓縮BCD碼合并成一個壓縮的BCD碼,存在AL中。答: ANDAL,0FH MOVCL,4 SHLAL,CL ANDBL,0FH ORAL,BL5、將AL中的8位有符號數(shù)轉換成它的絕對值。6、用串掃描指令在一個字符串中查找字符'*'。答:設字符串變量為str,長度在CX中。
MOVAL,’*’ LEADI,STR REPNESCASB JNEEXIT DECDI;DI指向的為“*”EXIT:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度健康養(yǎng)生類產(chǎn)品包裝設計合同3篇
- 二零二五版租賃房屋租賃合同網(wǎng)絡安全保障協(xié)議4篇
- 2025年度集裝箱裝卸運輸操作規(guī)范合同
- 二零二五年度民間個人借款合同金融創(chuàng)新服務細則
- 二零二五版農(nóng)業(yè)保險代理服務合同范本8篇
- 2025年度房產(chǎn)抵押經(jīng)營性貸款合同樣本
- 2025年南京住建部房屋租賃合同規(guī)范版
- 課題申報參考:面向微生物組中介效應的群落水平關聯(lián)檢驗方法研究
- 課題申報參考:美式“小多邊主義”沖擊下中國伙伴關系的升級與轉型研究
- 2025年木材銷售企業(yè)庫存管理服務合同
- 人教版小學數(shù)學一年級上冊小學生口算天天練
- 九年級上冊-備戰(zhàn)2024年中考歷史總復習核心考點與重難點練習(統(tǒng)部編版)
- 三年級數(shù)學添括號去括號加減簡便計算練習400道及答案
- 蘇教版五年級上冊數(shù)學簡便計算300題及答案
- 澳洲牛肉行業(yè)分析
- 老客戶的開發(fā)與技巧課件
- 計算機江蘇對口單招文化綜合理論試卷
- 成人學士學位英語單詞(史上全面)
- KAPPA-實施方法課件
- GB/T 13813-2023煤礦用金屬材料摩擦火花安全性試驗方法和判定規(guī)則
- GB/T 33084-2016大型合金結構鋼鍛件技術條件
評論
0/150
提交評論