;====================================================
;?被乘數放置於al?中,?乘數放置於?bl中,?結果放置於ax中
MULT?PROC?NEAR
PUSH?DX PUSHF MOVAH,0 MOVDX,0 CMPBL,0 JE@MULTEXIT @MULT1:?SHRBL,1 JNC@MULT2 ADDDL,AL ADCDH,AH @MULT2:?SHLAL,1 RCLAH,1 CMPBL,0 JNE@MULT1 MOVAH,DH MOVAL,DL POPF POPDX RET @MULTEXIT: MOVAX,0 POPF POPDX RETMULT?ENDP
;==================================
;?將要顯示的無符號數置於?ax?中?
DISPAX?PROC?NEAR PUSH?AX PUSH?BX PUSH?CX PUSH?DX PUSH?SI PUSH?DI PUSH?BP PUSHF PUSH?DS PUSH?CS POPDS MOVBYTE?PTR?NZ,0 PUSH?AX LEASI,DIVARR MOVCX,5 @1: POPAX MOVDX,0 MOVBX,[SI] DIVBX PUSH?DX CMPAL,0 JNE@2 CMPBYTE?PTR?NZ,1 JE@2 CMPCX,1 JE@2 MOVDL,20H JMP@3 @2: ADDAL,30H MOVDL,AL MOVBYTE?PTR?NZ,1 @3: MOVAH,2 INT21H INCSI INCSI LOOP?@1 POPDX POPDS POPF POPBP POPDI POPSI POPDX POPCX POPBX POPAX RET DIVARR?DW10000,1000,100,10,1 NZ?DB0 DISPAX?ENDP;==============================================
CODE?ENDS
ENDSTART