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