[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] WinCE ARM code
From: |
Timo VJ Lähde |
Subject: |
[Tinycc-devel] WinCE ARM code |
Date: |
Thu, 15 Apr 2010 18:21:10 +0300 |
tcc compiled with TCC_TARGET_ARM and TCC_TARGET_PE
tcc MsgBox.c -nostdlib -lcoredll
--------------------------------------------------------------------
/* MsgBox.c */
void _start(void)
{
MessageBoxW(0, "T\0e\0s\0t\0", "T\0e\0s\0t\0", 0);
}
--------------------------------------------------------------------
Dump of MsgBoxCE-4.exe
File type: EXE
[00011000] E1A0C00D mov ip, sp
[00011004] E92D5800 stmdb sp!, {fp, ip, lr}
[00011008] E28DB00C add fp, sp, #C
[0001100C] E1A00000 nop ; = mov r0,r0
[00011010] E3A00000 mov r0, #0
[00011014] E59F1000 ldr r1, [pc] ; PC+8+0 = 0001101C
[00011018] EA000000 b 00011020
[0001101C] 00012000 andeq r2, r1, r0
[00011020] E59F2000 ldr r2, [pc] ; PC+8+0 = 00011028
[00011024] EA000000 b 0001102C
[00011028] 00012009 andeq r2, r1, r9
[0001102C] E3A03000 mov r3, #0
[00011030] EB000000 bl 00011038
[00011034] E91BA800 ldmdb fp, {fp, sp, pc}
[00011038] 204825FF strcsd r2, [r8], #-5F
[0001103C] 00000001 andeq r0, r0, r1
[00011040] 00000000 andeq r0, r0, r0
[00011044] 00000000 andeq r0, r0, r0
...
--------------------------------------------------------------------
Is that correct code ?
[00011038] 204825FF strcsd r2, [r8], #-5F
[0001103C] 00000001 andeq r0, r0, r1
Should it be more something like this:
[00011038] E59FC000 ldr ip, [pc] ; PC+8+0 = 00011040
[0001103C] E59CF000 ldr pc, [ip]
[00011040] 00012030 andeq r2, r1, r0, lsr r0
- [Tinycc-devel] WinCE ARM code,
Timo VJ Lähde <=