PRINT_DECIMAL PROC NEAR PUSH BX PUSH CX PUSH DX XOR CX,CX MOV BX,10 _CALC_DIGS: XOR DX,DX DIV BX PUSH DX INC CX CMP AX,0 JNE _CALC_DIGS _PRINT_DIGS: POP DX MOV AH,02H ADD DL,'0' INT 21H LOOP _PRINT_DIGS POP DX POP CX POP BX RET PRINT_DECIMAL ENDP READ_DECIMAL PROC NEAR PUSH BX PUSH CX PUSH DX MOV BX,10 XOR AX,AX _READ_CHAR: PUSH AX MOV AH,01H INT 21H CMP AL,0DH JE _DONE SUB AL,'0' MOV CL,AL POP AX MUL BX ;TIMES 10 ADD AX,CX JMP _READ_CHAR _DONE: POP AX POP DX POP CX POP BX RET READ_DECIMAL ENDP