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>