;********* ; * ; BASIC1 * ; * ;********* ; ;PDP-11 FLOATING POINT PACKAGE ; ; RND00 - RANDOM NUMBER GENERATOR ; ; ; ATOF00 - ASCII TO FLOATING CONVERSION ; ON ENTRY: ; R1 POINTS TO START OF NUMERIC STRING ; ON EXIT: ; V-BIT IS SET IF ERROR ; R1 POINTS TO FIRST NON-NUMERIC CHAR. ; ; OTHER REGISTERS USED: R2, R3, R4 ; ; FTOA00 - FLOATING POINT TO ASCII ROUTINE ; ; FTOA - FLOATING POINT TO ASCII ROUTINE ; ; ITOA00 - INTEGER TO ASCII CONVERSION ; ; ITOA - INTEGER TO ASCII ROUTINE ; ON ENTRY: ; R0 CONTAINS ADDRESS OF OUTPUT STRING ; R1 CONTAINS NUMBER TO CONVERT ; ; ON EXIT: ; R0 POINTS PAST CONVERTED STRING (O BYTE INSERTED) ; ; OTHER REGISTERS USED, R2 ; ; ; ATOI00 - ASCII TO INTEGER CONVERSION ; ; ASCII TO INTEGER ROUTINE ; USED FOR LINE NUMBER CONVERSION ; ; ABS00 - ABSOLUTE VALUE FUNCTION ; SGN00 - GET SIGN OF OPERAND ; INT00 - GET INTEGER PART OF NUMBER ; PWRF00 - POWER FUNCTION ; LOG00 - FLOATING POINT NATURAL LOG ROUTINE ; EXPF00 - FLOATING POINT EXPONENTIAL ROUTINE ; SIN00 - SINE FUNCTION ; COS00 - COSINE FUNCTION ; ATN00 - ARC-TANGENT FUNCTION ; SQRT00 - SQUARE ROOT FUNCTION ; INX - INDEX (POSITION) STRING FUNCTION ; POS - POSITION (INDEX) STRING FUNCTION ; STRCOM ; SUBROUTINE TO EVALUATE A SINGLE STRING ARGUMENT. ; ON ENTRY: ; R1 POINTS TO START OF STRING ARG ; ; ON EXIT: ; R1 POINTS TO DELIMITING CHAR ; (SP) HAS STRING LEN ; 2(SP) HAS STRING ADD ; ENUDAT POINTS PAST END OF STRING ; R5 SAME AS ENUDAT ; ; OTHER REGISTERS USED: ; POTENTIALLY ALL ; ; LEN00 - LENGTH OF STRING FUNCTION ; VAL00 - VALUE STRING FUNCTION ; AR500 - ASCII TO RAD50 CONVERSION ; ASC00 - NUMERIC VALUE OF ASCII CODE ; NRC00 - NUMBER OF RECORDS IN A FILE ; CHR$ - ASCII CODE OF NUMERIC VALUE ; SBS00 - SUBSTRING FUNCTION ; SEG00 - SUBSTRING FUNCTION ; ON EXIT R3 CONTAINS THE ADDRESS AND R4 CONTAINS THE LENGTH ; OF THE RESULTING STRING. ; ; PIEC0 - SUBSTRING BY DELIMITER STRING FUNCTION ; ; STCM: SUBROUTINE TO SLIDE STRING2 ALONG STRING1 ; LOOKING FOR A MATCH ; ON ENTRY: ; AC2 LEN OF STRING2 ; AC3 ADD OF STRING2 ; R0 LEN OF STRING1 ; R1 ADD OF STRING1 ; ; ON EXIT: ; R0 HAS REMAINING LEN OF STRING1 ; R1 HAS ADDRESS OF MATCH START ; 'Z' SET IF MATCH, CLEAR IF NOT ; OTHER REGISTERS USED: ALL ; ; FCHR00 - NUMERIC TO CHARACTER STRING ; TRM00 - TRAILING BLANK TRIM FUNCTION ; LTR00 - LEADING BLANK TRIM FUNCTION ; OCT$ - NUMERIC TO UNSIGNED OCTAL ; OCS$ - NUMERIC TO SIGNED OCTAL ; R5A00 - RAD50 TO ASCII CONVERSION ; DAT00 - DATE FUNCTION ; TIM00 - TIME FUNCTION ; ; DATE AND TIME FUNCTIONS. ; EACH RETURNS AN 8 CHAR STRING ADDRESS IN R3 AND LENGTH IN R4 (8.) ; DATE IS IN FORM: MO/DA/YR. ; TIME IS IN FORM: HR:MI:SC ; ; DCEN - DAY OF CENTURY AND DATE VALIDITY CHECK ; SEC - SECONDS FROM TIME FUNCTION ; FRMT$ - NUMERIC TO STRING FORMAT FUNCTION ; RJS00 - RIGHT JUSTIFY STRING FUNCTION ; ON RETURN: R3 CONTAINS ADDRESS ; R4 CONTAINS LENGTH