.TITLE CBTA ; ; COPYRIGHT (C) 1977 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. ; ; MODIFICATIONS: ; ; 04A -- HANDLE FEILD WIDTH CORRECTLY IF RADIX IS ODD OR IF ; FEILD WIDTH IS GREATER THAN 15. ; .IDENT /04A/ .PSECT .BLK.=. .=.BLK.+66 CLRB R2 ; CLEAR BITS THAT SHIFT INTO FEILD WIDTH SWAB R2 ; POSITION REMAINING DATA TO LOW BYTE ASR R2 ; SHIFT OFF MAGNITUDE FLAG BCC 10$ ; IF C/C UNSIGNED CONVERSION TST R1 ; POSITIVE VALUE? BPL 10$ ; IF PL YES NEG R1 ; MAKE IT POSITIVE MOVB #'-,(R0)+ ; INSERT A MINUS SIGN 10$: MOV R0,R4 ;SHIFT OFF SUPPRESS FLAG ROR R2 ; .=.BLK. .END