MAGAZINE\MOTOR.BUG  ·  BUG  ·  906 B  ·  1991-01-01  ·  from PCPlus_Issue-52_Jan-1991_FluxEngine-360Kb
NMOTOR.COM
RCX
36
A
MOV	SI,81		;POINT TO PARAMETERS
LODSB			; PICK UP ONE CHARACTER
SUB	AL,30		; ADJUST FOR BINARY
JZ	114		; ZERO ? SET FOR L-O-O-O-N-G TIME
CMP	AL,DD		; CARRIAGE RTN ? FINISHED EARLY
JZ	131		;  YES - FINISHED EARLY
CMP	AL,F0		; LEADING SPACE ?
JZ	103		;  YES - REPEAT LOOP
CMP	AL,9		; IN RANGE 1-9 ?
JA	131		;  NO - REJECT AS BAD
MOV	AH,12		; SET TO MULTIPLY BY TIMEOUTS-PER-SECOND
MUL	AH		; DO IT !
PUSH	AX		; SAVE THE RESULT
LODSB			; PICK UP NEXT CHARACTER
CMP	AL,20		; IF ANYTHING, IT MUST BE A SPACE
JZ	119		;  YES - REPEAT LOOP
CMP	AL,D		; OTHERWISE IT SHD BE A CARRIAGE RTN
JNZ	131		;  NO - REJECT AS BAD
MOV	AX,351E		; DETERMINE VECTOR 1E ADDRESS
INT	21		; DO IT !
POP	AX		; RETRIEVE PARAMETER
ES:MOV [BX+2],AL	; PLACE NEW RESULT
MOV	AX,4C00		; FINISH WITH NO ERRORLEVEL SET
INT	21		; FIN
MOV	AX,4C01		; FINISH WITH ERRORLEVEL=1
INT	21		; FIN

W
Q