.TITLE GETNUM - CONVERT A NUMBER TO BINARY .IDENT "01" ; ; ; ; ; ; ; VERSION: 01 ; BY: H. LEV ; DATE: 11/15/73 .MCALL CALL .PSECT CODE,RO ;+ ; *** - $GTNUM - CONVERT AN ASCII NUMBER TO BINARY. ; IF NUMBER ENDS WITH DECIMAL POINT INTERPRET ; AS A DECIMAL NUMBER. IF NOT, INTERPRET AS AN ; OCTAL NUMBER ; ; INPUT: ; R0 - BUFFER ADDRESS ; ; OUTPUT: ; R0 - UPDATED BUFFER POINTER ; R1 - CONVERT NUMBER IN BINARY ; R2 - LAST CHAR SCANNED (NOT DECIMAL POINT IF FOUND ; BUT CHAR AFTER IT). ; ;- $GTNUM::MOV R0,-(SP) ; SAVE BUFFER POINTER CALL $CDTB ; CONVERT DECIMAL TO BINARY CMPB R2,#'. ; END IN DECIMAL POINT ? BNE 10$ ; NO MOVB (R0)+,R2 ; YES, POINT BEYOND IT BR 20$ ; 10$: MOV (SP),R0 ; RETIEVE BUFFER POINTER CALL $COTB ; CONVERT TO OCTAL 20$: TST (SP)+ ; POP BUFFER ADDRESS RETURN .END