gcc 3.4.6 asm charset error

Paul Edwards mutazilah@gmail.com
Thu Sep 22 07:35:00 GMT 2016


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>



More information about the Gcc mailing list