.TITLE GETNUM - CONVERT A NUMBER TO BINARY .IDENT "01" ; ; ; ; ; COPYRIGHT 1975, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ; COPYRIGHT 1974, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. ; ; THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE ; ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION ; OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT ; AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. ; ; THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL ; EQUIPMENT CORPORATION. ; ; DEC ASUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY ; OF ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. ; ; ; VERSION: 01 ; BY: H. LEV ; DATE: 11/15/73 .MCALL CALL ;+ ; *** - $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