win32: wincon.h: support more console mode flags
[tinycc.git] / tests / tests2 / 98_al_ax_extend.c
blob1cd65857e0f319541f96577288ec2d2327c8bc72
1 #include <stdio.h>
2 #include <stdlib.h>
3 asm (
4 ".text;"
5 ".globl _us;.globl _ss;.globl _uc;.globl _sc;"
6 "_us:;_ss:;_uc:;_sc:;"
7 "movl $0x1234ABCD, %eax;"
8 "ret;"
9 );
11 #ifndef __leading_underscore
12 #define us _us
13 #define ss _ss
14 #define uc _uc
15 #define sc _sc
16 #endif
18 int main()
20 unsigned short us(void);
21 short ss(void);
22 unsigned char uc(void);
23 signed char sc(void);
25 unsigned short (*fpus)(void) = us;
26 short (*fpss)(void) = ss;
27 unsigned char (*fpuc)(void) = uc;
28 signed char (*fpsc)(void) = sc;
30 printf("%08X %08X\n", us() + 1, fpus() + 1);
31 printf("%08X %08X\n", ss() + 1, fpss() + 1);
32 printf("%08X %08X\n", uc() + 1, fpuc() + 1);
33 printf("%08X %08X\n", sc() + 1, fpsc() + 1);
34 printf("\n");
35 printf("%08X %08X\n", fpus() + 1, us() + 1);
36 printf("%08X %08X\n", fpss() + 1, ss() + 1);
37 printf("%08X %08X\n", fpuc() + 1, uc() + 1);
38 printf("%08X %08X\n", fpsc() + 1, sc() + 1);
40 return 0;