




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上1. 順序程序設計將兩個多位十進制數相加,要求被加數、加數均以ASC碼形式各自順序存放在以DATA1和DATA2為首的五個內存單元中(低位在前),結果送回DATA1處。 DATA SEGMENT DATA1 DB 34H,35H,39H,38H,36H,' ' ;被加數 DATA2 DB 37H,34H,33H,36H,32H,' ' ;加數 DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DA
2、TA1 ;有效地址送SI,為調用顯示子程序做準備 CALL DISPLAY ;調用顯示子程序 CALL CRLF ;調用回車換行子程序 LEA SI,DATA2 ;有效地址送SI,為調用顯示子程序做準備,同時為加法運算做準備 CALL DISPLAY ;調用顯示子程序 CALL CRLF ;調用回車換行子程序 LEA DI,DATA1 ;有效抵制送DI,為加法運算做準備 MOV AX,0 MOV BX,0 MOV CL,05H ;記錄循環次數 ADDS: MOV AL,SI ;將加數送往AL SUB AL,30H ADD AL,BL ;加上進位 MOV BL,DI ;將被加數送往BL SUB
3、BL,30H ADD AL,BL ;加法運算 ADD AL,30H CMP AL,3AH JA SUBA ;結果>=10,跳到SUBA JB NSUBA SUBA: SUB AL,0AH ;減去10的值,并置BL為1 MOV BL,01H JMP CONTINUE NSUBA: MOV BL,00H ;置BL為0 CONTINUE:MOV DI,AL ;將相加的結果從AL送往DI的地址,即DATA1的地址 INC DI ;地址加1 INC SI ;地址加1 LOOP ADDS ;循環 JC SHUCHU JNC SHUCHU2 SHUCHU2: MOV AL,31H ;CF為1設置結果最
4、高位為1 JMP CONTINUE2 SHUCHU:MOV AL,30H ;CF為0設置結果最高位為0 CONTINUE2:MOV DI,AL LEA SI,DATA1 ;將DATA1的有效地址送往SI,為調用DISPLAY子程序做準備 CALL DISPLAY ;調用DISPLAY子程序 MOV AX,4C00H ;返回DOS INT 21H MAIN ENDP CRLF PROC NEAR ;回車、換行 于功能 MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH MOV AH,02H INT 21H RET CRLF ENDPDISPLAY PROC NEAR
5、 ;顯示于功能 MOV BX,0006H ;記錄循環次數 DSL: MOV DL,SI+BX-1 ;將有效地址內的內容送往DL MOV AH,02 ;2號功能輸出 INT 21H DEC BX ;BX自動減1 JNZ DSL RET DISPLAY ENDPCODE ENDS END START2 分支程序設計實驗接收鍵盤輸入字符,將其中的小寫字母轉換為大寫字母并顯示。CODE SEGMENTMAIN PROC FAR ASSUME CS:CODESTART: MOV AH,00H INT 16H CMP AL,0DH JZ OVER CALL JUDGE MOV DL,AL MOV AH,0
6、2H INT 21H JMP STARTOVER: MOV AH,4CH INT 21HMAIN ENDPJUDGE PROC NEAR CMP AL,'a' JB STOP CMP AL,'z' JA STOP SUB AL,20HSTOP: RETJUDGE ENDPCODE ENDS END START3 循環程序設計實驗統計一個有10人的班中,男、女生的人數各為多少。將男生人數存入變量MAN、女生人數存入變量WOMAN中。DATA SEGMENT MAN DB 0,0 WOMAN DB 0,0 STRING DB ' iuput people n
7、umber! (man is 0, woman is 1 ) $' SM DB 'man is :$' SW DB 'woman is :$'DATA ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AH,09H ;將STRING的內容輸出 MOV DX,OFFSET STRING INT 21H CALL CRLF MOV CX,10 ;男女生總人數AA: MOV AH,01H ;從鍵盤輸入,0為男,1為女 INT 21H CMP
8、AL,30H ;與'0'比較 JNZ ADDW ;不為'0',女生人數加1 INC MAN ;否則男生人數加1BB: LOOP AA JMP DISPLY ;打印ADDW: INC WOMAN JMP BBDISPLY: CALL CRLF MOV AH,09H ;字符串輸出 MOV DX,OFFSET SM INT 21H MOV AH,02H ;男生人數統計結果輸出 MOV DL,MAN ADD DL,30H CALL JUDGE CALL CRLF MOV AH,09H ;字符串輸出 MOV DX,OFFSET SW INT 21H MOV AH,02H
9、;女生人數統計結果輸出 MOV DL,WOMAN ADD DL,30H CALL JUDGE MOV AH,4CH ;返回DOS INT 21HMAIN ENDPJUDGE PROC NEAR ;判斷結果是否為39H CMP DL,3AH JZ SHICC: INT 21H RETSHI: MOV DL,31H INT 21H MOV DL,30H JMP CCJUDGE ENDP CRLF PROC NEAR ;回車換行子程序 MOV AH,02H ;回車 MOV DL,0DH INT 21H MOV DL,0AH ;換行 INT 21H RETCRLF ENDPCODE ENDS END
10、START4 子程序設計實驗1 鍵盤輸入字符,依次顯示在行的最左端(即每接受一個字符,顯示在屏幕上并回車換行。)2 對頻繁使用的回車換行編寫為子程序,在主程序中調用完成分行顯示。CODE SEGMENTMAIN PROC FAR ASSUME CS:CODESTART: MOV CX,10 ;設置循環次數NEXT: MOV AH,01H ;從鍵盤輸入一個字符 INT 21H CALL CRLF ;調用回車換行子程序 LOOP NEXT MOV AH,4CH ;返回DOS INT 21HMAIN ENDPCRLF PROC NEAR ;回車換行子程序 MOV AH,02H ;回車 MOV DL,
11、0DH INT 21H MOV DL,0AH ;換行 INT 21H RETCRLF ENDPCODE ENDS END START5 碼制轉換程序實驗 將ASC碼數據轉換成二進制數據。要求從鍵盤上輸入十進制整數(假定范圍032767),然后轉換成二進制格式存儲。DATA SEGMENT STRING1 DB 'PLEASE INPUT A NUMBER(032767):$' STRING2 DB 'THE ASCII IS:$' STRING3 DB 'THE BINARY IS:$'DATA ENDSCODE SEGMENT ASSUME C
12、S:CODE,DS:DATAMAIN PROC FARSTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET STRING1 MOV AH,09H INT 21H CALL CRLFINPUT: MOV AH,01H ;輸入數據 INT 21H CMP AL,0DH JZ NEXT SUB AL,30H JL INPUT CMP AL,39H JG INPUT CBW XCHG AX,BX ;AX為輸入值,BX保存結果,兩個對調為MUL做準備 MOV DX,10D ;將上一次結果乘10 MUL DX XCHG AX,BX ;AX為本次輸入的值,BX為之前的結果 A
13、DD BX,AX JMP INPUTNEXT: CALL CRLF MOV CL,4D MOV CH,4D MOV DX,OFFSET STRING2 MOV AH,09H INT 21H CALL CRLFLOOP0: ROL BX,CL ;循環左移,將最高為存到BL的低四位 MOV AL,BL AND AL,0FH ; ADD AL,30H CMP AL,3AH JL OUTPUT ADD AL,07HOUTPUT:MOV AH,02H MOV DL,AL INT 21H DEC CH JNZ LOOP0 CALL CRLF MOV DX,OFFSET STRING3 MOV AH,09H
14、 INT 21H CALL CRLF MOV CH,16D MOV CL,1DLOOP1: ROL BX,CL MOV AL,BL AND AL,01H ADD AL,30H MOV AH,02H MOV DL,AL INT 21H DEC CH JNZ LOOP1 MOV AH,4CH INT 21HMAIN ENDPOUTS PROC NEAR ;字符串輸出子程序 MOV AH,09H INT 21H RETOUTS ENDPCRLF PROC NEAR ;回車換行子程序 MOV AH,02H ;回車 INT 21H MOV DL,0AH ;換行 INT 21H RETCRLF ENDPC
15、ODE ENDS END START6 兩個數相乘的實驗 實現十進制數的乘法,被乘數和乘數均以ASC碼形式放在內存中,乘積在屏幕上顯示出來。 DATA SEGMENT MBCS DW 0 MCS DW 0 RESULT DW 0 STRING1 DB 'THE BEICHENGSHU IS:$' STRING2 DB 'THE CHENGSHU IS:$' STRING3 DB 'THE RESULT IS:$' STRING DB 'THE ASCII IS:$'DATA ENDSCODE SEGMENTMAIN PROC FA
16、R ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET STRING1 CALL OUTS CALL INPUT ;輸入被乘數 MOV DX,OFFSET STRING CALL OUTS CALL CRLF CALL ASCII ;被乘數轉化為ASCII碼輸出 CALL CRLF MOV MBCS,BX ;被乘數保存到MBCS中 MOV DX,OFFSET STRING2 CALL OUTS CALL INPUT ;輸入乘數 MOV DX,OFFSET STRING CALL OUTS CALL CRLF CALL
17、 ASCII ;乘數轉化為ASCII碼輸出 CALL CRLF MOV MCS,BX ;乘數保存到MCS中 MOV DX,OFFSET STRING3 CALL OUTS CALL CRLF MOV AX,MBCS ;被乘數 MUL BX ;乘數與被乘數相乘,結果高位DX,低位AX MOV RESULT,AX ;將AX中的內容保存到RESULT中 MOV BX,DX ;將高位DX的值送給BX輸出 CALL ASCII MOV BX,RESULT ;將低位AX的值送給BX輸出 CALL ASCII MOV AH,4CH INT 21HMAIN ENDPINPUT PROC NEAR ;輸入十進制
18、數,將其轉化為ASCII碼存到BX中 CALL CRLF MOV BX,0AA: MOV AH,01H INT 21H CMP AL,0DH JZ STOP SUB AL,30H JL AA CMP AL,39H JG AA CBW XCHG AX,BX ;AX為輸入值,BX保存結果,兩個對調為MUL做準備 MOV DX,10D ;將上一次結果乘10 MUL DX XCHG AX,BX ;AX為本次輸入的值,BX為之前的結果 ADD BX,AX JMP AASTOP: CALL CRLF RETINPUT ENDPASCII PROC NEAR MOV CL,4D MOV CH,4DCC: R
19、OL BX,CL ;循環左移,將最高為存到BL的低四位 MOV AL,BL AND AL,0FH ; ADD AL,30H CMP AL,3AH JL BB ADD AL,07HBB: MOV AH,02H MOV DL,AL INT 21H DEC CH JNZ CC RETASCII ENDPOUTS PROC NEAR MOV AH,09H INT 21H RETOUTS ENDPCRLF PROC NEAR ;回車換行子程序 MOV AH,02H ;回車 MOV DL,0DH INT 21H MOV DL,0AH ;換行 INT 21H RETCRLF ENDPCODE ENDS EN
20、D START7 從鍵盤輸入數據并顯示的程序編寫程序將鍵盤接收到的四位十六進制數據轉換為等值的二進制數,再顯示在終端上。DATA SEGMENT STRING1 DB 'Please enter a four-digit hexadecimal number:$'DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN PROC FARSTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET STRING1 MOV AH,09H INT 21H CALL CRLF MOV CL,4DINPUT: MOV AH,
21、01H INT 21H CMP AL,'0' JB INPUT CMP AL,'9' JA ZIMU SUB AL,30H JMP NEXTZIMU: CMP AL,'A' JB INPUT CMP AL,'Z' JA INPUT SUB AL,37HNEXT: CBW XCHG AX,BX MOV DX,16D MUL DX XCHG AX,BX ADD BX,AX LOOP INPUT CALL CRLF MOV CL,1D MOV CH,16DTO: ROL BX,1 MOV DL,BL AND DL,01H ADD DL,30H MOV AH,02H INT 21H DEC CH JNZ TO MOV AH,4CH INT 21HMAIN ENDPCRLF PROC NEAR ;回車換行子程序 MOV AH,02H ;回車 MOV DL,0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業互聯網平臺霧計算協同機制在智能工廠生產效率評估中的應用報告001
- 2025年新能源商用車輛在快遞分揀中心的運用與市場需求報告
- 綠色供應鏈管理在軌道交通制造業的應用與綠色生產2025年行業洞察報告
- 市場代理分銷協議及補充協議說明
- 我的語文老師:一位影響深遠的人像作文13篇范文
- 森林童話故事創作6篇
- 寵物醫療健康合作協議
- 軟件企業軟件產品創新開發流程設計
- 化工工藝流程及操作原理試題集
- 論生活態度的議論文11篇范文
- 檢察機關保密知識培訓
- 3D打印技術與應用知到智慧樹期末考試答案題庫2024年秋西北工業大學
- 《常州紅梅公園》課件
- 軟件正版化工作培訓
- Dahua大華7系報警柱快速操作手冊
- 2024年公司現金管理制度(三篇)
- 04事理說明文閱讀-2022-2023學年八年級語文下冊知識梳理與能力訓練
- 2025高考物理步步高同步練習必修3練透 帶電粒子在電場中的運動
- 2024人形機器人產業半年研究報告
- 高二語文-京登建康賞心亭教學課件4
- 某化纖毛紡廠總配變電所及高壓配電系統設計
評論
0/150
提交評論