.TITLE BYTCON ; ;+ ; ; BYTCON -- A SET OF ROUTINES FOR THE CONVERSION ; OF NUMERICAL BYTES TO ASCII STRINGS. ; ; ROUTINES: ; ; .BOMGB - BINARY TO OCTAL MAGNITUDE ; .BOSGB - BINARY TO OCTAL SIGNED ; .BDMGB - BINARY TO DECIMAL MAGNITUDE ; .BDSGB - BINARY TO DECIMAL SIGNED ; ; INPUTS: R0 - BUFFER ADDRESS ; R1 - NUMBER TO CONVERT ; R2 - SUPPRESSION INDICATOR ; 0 =>SUPPRESS LEADING 0'S ; ^0 =>DON'T SUPPRESS ; ; OUTPUTS: R0 - UPDATED ; R1,R2 - UNCHANGED ; ; AUTHOR: W. KORENDYK ; VERSION: 01 ; DATE: JULY 16/77 ; ;- .BOSGB::MOV R1,-(SP) BGE 1$ MOVB #'-,(R0)+ NEG R1 1$: CALL .BOMGB MOV (SP)+,R1 RETURN ; .BOMGB::MOV #$CBOMG,ROUTN BR GO ; ; .BDSGB::MOV R1,-(SP) BGE 1$ MOVB #'-,(R0)+ NEG R1 1$: CALL .BDMGB MOV (SP)+,R1 RETURN ; .BDMGB::MOV #$CBDMG,ROUTN BR GO ; ; THE WORKER ; GO: MOV R0,-(SP) MOV R2,-(SP) BEQ 1$ MOV #BUFFER,R0 1$: CALL @ROUTN MOV (SP)+,R2 BEQ 2$ MOV (SP),R0 MOV R1,-(SP) MOV #BUFFER+3,R1 MOVB (R1)+,(R0)+ MOVB (R1)+,(R0)+ MOVB (R1)+,(R0)+ MOV (SP)+,R1 2$: TST (SP)+ RETURN ; ; ROUTN: .WORD $CBOMG BUFFER: .BLKB 6 ; .END