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>

Reply via email to