newer version of tcc almost working
This commit is contained in:
parent
c42c5d94b8
commit
826d1afd58
442 changed files with 90400 additions and 24506 deletions
41
05/tcc-0.9.27/tests/tests2/98_al_ax_extend.c
Normal file
41
05/tcc-0.9.27/tests/tests2/98_al_ax_extend.c
Normal file
|
@ -0,0 +1,41 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
asm (
|
||||
".text;"
|
||||
".globl _us;.globl _ss;.globl _uc;.globl _sc;"
|
||||
"_us:;_ss:;_uc:;_sc:;"
|
||||
"movl $0x1234ABCD, %eax;"
|
||||
"ret;"
|
||||
);
|
||||
|
||||
#if 1
|
||||
#define us _us
|
||||
#define ss _ss
|
||||
#define uc _uc
|
||||
#define sc _sc
|
||||
#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
unsigned short us(void);
|
||||
short ss(void);
|
||||
unsigned char uc(void);
|
||||
signed char sc(void);
|
||||
|
||||
unsigned short (*fpus)(void) = us;
|
||||
short (*fpss)(void) = ss;
|
||||
unsigned char (*fpuc)(void) = uc;
|
||||
signed char (*fpsc)(void) = sc;
|
||||
|
||||
printf("%08X %08X\n", us() + 1, fpus() + 1);
|
||||
printf("%08X %08X\n", ss() + 1, fpss() + 1);
|
||||
printf("%08X %08X\n", uc() + 1, fpuc() + 1);
|
||||
printf("%08X %08X\n", sc() + 1, fpsc() + 1);
|
||||
printf("\n");
|
||||
printf("%08X %08X\n", fpus() + 1, us() + 1);
|
||||
printf("%08X %08X\n", fpss() + 1, ss() + 1);
|
||||
printf("%08X %08X\n", fpuc() + 1, uc() + 1);
|
||||
printf("%08X %08X\n", fpsc() + 1, sc() + 1);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue