.TITLE RAD50 .IDENT /V1.1/ SPA = 40 ; SPACE ;+ ; *** $RAD50 ; ; THIS ROUTINE CONVERTS A RADIX-50 WORD TO THREE ASCII ; CHARACTERS FOR FILENAME AND TYPE CONVERSION ; WE MUST MAKE SURE THAT NO BLANKS ARE INSERTED INTO ; THE OUTPUT, OTHERWISE ...AT. MAY MISTAKE PART OF ; THE FILESPEC AS A PARAMETER IF THE NAME OF THE JOB ; DESCRIPTION FILE DOES NOT CONTAIN A MULTIPLE OF ; 3 CHARACTERS. ; ; INPUTS: ; R0 BUFFER POINTER ; R5 POINTER TO RADIX-50 WORD ; ; OUTPUTS: ; R0 UPDATED (IF NOT THREE BLANKS) ; R1 USED ; R5 (INPUT R5) + 2 ; ;- $RAD50::MOV (R5)+,R1 ; GET RADIX-50 WORD BEQ RAD50R ; IF EQ THEY ARE ALL BLANKS CALL $C5TA ; CONVERT TO ASCII SUB #2,R0 ; BACK UP POINTER TO 2ND CHARACTER CMPB (R0),#SPA ; WAS IT A SPACE? BEQ RAD50R ; YES, LEAVE POINTER WHERE IT IS INC R0 ; NO, POINT TO 3RD CHARACTER CMPB (R0),#SPA ; WAS THIS ONE A SPACE? BEQ RAD50R ; YES, LEAVE POINTER WHERE IT IS INC R0 ; NO, GO BACK TO WHERE WE STARTED RAD50R: RETURN ; RETURN TO CALLER .END