PRINT_DECIMAL	PROC	NEAR

	  PUSH  AX
	  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
	  POP   AX
	  RET

PRINT_DECIMAL	ENDP

READ_DECIMAL	PROC	NEAR
	  PUSH  AX
	  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
	  POP   AX
	  RET
READ_DECIMAL	ENDP
