GCC 3.4.6 natively handles different character sets for source and target. It actually works fine, writing source code in ASCII targeting an EBCDIC destination.
However, __asm() doesn't seem to be working. As seen below, it is generating EBCDIC data in the ASCII assembler output. Those funny characters are in fact the EBCDIC code for "ABC" and "DEF". Anyone know how to fix this? Thanks. Paul. C:\scratch\bb99>type test.c extern int i; void foo(void) { i = 5; __asm("ABC"); __asm("DEF"); } C:\scratch\bb99>gccmvs-3_4_6-1_0 -S test.c C:\scratch\bb99>type test.s COPY PDPTOP CSECT * Program text area DS 0F * X-func foo prologue FOO PDPPRLG CINDEX=0,FRAME=88,BASER=12,ENTRY=YES B FEN0 LTORG FEN0 EQU * DROP 12 BALR 12,0 USING *,12 PG0 EQU * LR 11,1 L 10,=A(PGT0) * Function foo code L 2,=V(I) MVC 0(4,2),=F'5' ┴┬├ ─┼╞ * Function foo epilogue PDPEPIL * Function foo literal pool DS 0F LTORG * Function foo page table DS 0F PGT0 EQU * DC A(PG0) END C:\scratch\bb99>