.NLIST TTM .TITLE EBTOAS V01.02 .IDENT /V01.02/ ; .GLOBL EBTOAS EBTOAS: MOV 2(R5), R0 ; MOVE ADDRESS OF BLOCK BUFFER INTO R0 MOV @4(R5), R2 ; MOVE # BYTES TRANSFERRED INTO R2 TLOOP: CLR R1 MOVB (R0), R1 ; MOVE DATA AT BLOCK ADDRESS IN R0 ; INTO R1 SWAB R1 CLRB R1 ; CLEAR UPPER BYTE OF R1 - NOTE THAT ; SIGN WAS EXTENDED THROUGH THE HIGH ; ORDER BYTE FOR EBCDIC VALUES GREATER ; THAN OCTAL 277 SWAB R1 ADD #ASCII, R1 ; ADD ASCII TABLE ADDRESS TO VALUE IN R1 MOVB (R1), (R0)+ ; REPLACE EBCDIC CODE WITH ASCII CODE SOB R2, TLOOP ; LOOP AGAIN IF NOT FINISHED END: RTS PC ASCII: .ASCII <0><1><2><3>/ /<11>/ /<177>/ /<13><14><15><16><17> .ASCII <20><21><22><23>/ /<10>/ /<30><31>/ /<34><35> .ASCII <36><37>/ /<12><27><33>/ /<5><6><7>/ / .ASCII <26>/ /<4>/ /<24><25>/ /<32>/ / .ASCII <133><56><74><50><53><136><46>/ /<41><44> .ASCII <52><51><73><134><55><57>/ /<174><54><45><137> .ASCII <76><77>/ /<140><72><43><100><47><75><42> .IF EQ UPPER .ASCII / /<141><142><143><144><145><146><147><150><151> .ASCII / /<152><153><154><155><156><157><160><161><162> .ASCII / /<176><163><164><165><166><167><170><171><172> .ENDC .IF NE UPPER .ASCII / ABCDEFGHI/ .ASCII / JKLMNOPQR/ .ASCII / /<176>/STUVWXYZ/ .ENDC .ASCII / /<173>/ABCDEFGHI / .ASCII <175>/JKLMNOPQR /<135>/ STUVWXYZ 01/ .ASCII /23456789 / .EVEN .END