彙編基礎練習題7:編寫輸入子程式,功能是從鍵盤輸入數字字元,利用程式得到對應的數值,並在主程式中驗證。
阿新 • • 發佈:2018-12-30
彙編基礎練習題7:
編寫輸入子程式,功能是從鍵盤輸入數字字元,利用程式得到對應的數值,並在主程式中驗證。
編譯工具:Masm for Windows 整合實驗環境2012.5
(附帶一個工具下載地址https://download.csdn.net/download/qq_36931762/10825773
有需要可以去下載)
程式碼思路:
隨便輸入一個數(可以是一位兩位三位四位的數,但是最大不能超過2559的)(PIN函式)輸出(PRINTAX函式)出來
---------------------------------------可愛的程式碼區別線----------------------------------
DATAS SEGMENT ;此處輸入資料段程式碼 DATAS ENDS STACKS SEGMENT ;此處輸入堆疊段程式碼 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX CALL PIN CALL PRINTAX MOV AH,4CH INT 21H PIN PROC PUSH BX PUSH CX PUSH DX MOV CX,0 MOV DL,10 CIN: MOV AH,1 INT 21H SUB AL,48 MOV AH,0 MOV BX,AX MOV AX,CX CMP BX,9 JA EN CMP BX,0 JB EN MUL DL ADD AX,BX MOV CX,AX JMP CIN EN: POP DX POP CX POP BX RET PIN ENDP PRINTAX PROC PUSH BX PUSH CX PUSH DX MOV BL,10 MOV CL,0 CMP AX,10 JB PRINTF W: DIV BL PUSH AX INC CL MOV AH,0 CMP AX,0 JA W p: POP DX DEC CL MOV DL,DH ADD DL,48 MOV AH,2 INT 21H CMP CL,0 JNE P POP DX POP CX POP BX RET PRINTF: MOV DL,AL ADD DL,48 MOV AH,2 INT 21H POP DX POP CX POP BX RET PRINTAX ENDP CODES ENDS END START
--------------------------------------------程式碼區別線----------------------------------
輸出結果:
看不懂歡迎提問啦,也歡迎提出我程式碼中的問題和提出程式碼優化方案,大家一起學習嘛。
原創看過隨手點個贊吧!(雖然我也不太知道點贊有啥用emmm給點鼓勵總是好的)嘻嘻