彙編基礎練習題11:在資料區定義一個字型變數a1,a1中有10個元素,讀取a1中的值並利用2題中的輸出子程式輸出顯示。
阿新 • • 發佈:2018-12-30
彙編基礎練習題11:
在資料區定義一個字型變數a1,a1中有10個元素,讀取a1中的值並利用2題中的輸出子程式輸出顯示。
編譯工具:Masm for Windows 整合實驗環境2012.5
(附帶一個工具下載地址https://download.csdn.net/download/qq_36931762/10825773
有需要可以去下載)
程式碼思路:
---------------------------------------可愛的程式碼區別線----------------------------------
DATAS SEGMENT ;此處輸入資料段程式碼 a1 DW 123 a2 DW 10 DUP (20) DATAS ENDS STACKS SEGMENT ;此處輸入堆疊段程式碼 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX MOV SI,OFFSET a2 MOV BX,0 LO: CMP BX,20 JE EN MOV AX,[SI+BX] MOV AH,0 CALL PRINTAX ADD BX,2 ;輸出回車部分,回車表示那個退格 MOV DL,0DH MOV AH,02H INT 21H MOV DL,0AH;輸出換行 MOV AH,02H INT 21H JMP LO EN: MOV AH,4CH INT 21H 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給點鼓勵總是好的)嘻嘻