Блин, какие стартапы? Листинг одной функции (assembler sourse). Пример Файл на Си
int test(int nVar1, int nVar2)
{
if(nVar1 & 0x0080)
nVar2 = (nVar1 << 6) + (nVar2 ^ 0x5678);
else
nVar2 = (nVar1 & 0x7777) - (nVar2 | nVar1);
return nVar2;
}
Ассемблерный файл:
NAME main
RTMODEL "ARMv4M", "USED"
RTMODEL "ARMv4T", "USED"
RTMODEL "StackAlign4", "USED"
RTMODEL "__cpu_mode", "__pcs__interwork"
RTMODEL "__data_model", "absolute"
RTMODEL "__endian", "little"
RTMODEL "__rt_version", "6"
RSEG CSTACK:DATA:NOROOT(2)
PUBLIC test
FUNCTION test,0203H
LOCFRAME CSTACK, 4, STACK
CFI Names cfiNames0
CFI StackFrame CFA R13 HUGEDATA
CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, CPSR:32, R13:32
CFI Resource R14:32, SPSR:32
CFI VirtualResource ?RET:32
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 2
CFI DataAlign 4
CFI ReturnAddress ?RET CODE
CFI CFA R13+0
CFI R0 Undefined
CFI R1 Undefined
CFI R2 Undefined
CFI R3 Undefined
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI R8 SameValue
CFI R9 SameValue
CFI R10 SameValue
CFI R11 SameValue
CFI R12 Undefined
CFI CPSR SameValue
CFI R14 Undefined
CFI SPSR SameValue
CFI ?RET R14
CFI EndCommon cfiCommon0
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock0 Using cfiCommon0
CFI Function test
CODE16
test:
PUSH {LR}
CFI ?RET Frame(CFA, -4)
CFI CFA R13+4
MOV R2,R0
LSL R2,R2,#+0x18
BPL ??test_0
LSL R0,R0,#+0x6
LDR R2,??test_1 ;; 0x5678
EOR R2,R1
ADD R1,R0,R2
B ??test_2
??test_0:
LDR R2,??test_1+0x4 ;; 0x7777
AND R2,R0
ORR R0,R1
SUB R1,R2,R0
??test_2:
MOV R0,R1
POP {R1}
BX R1 ;; return
DATA
??test_1:
DC32 0x5678
DC32 0x7777
CFI EndBlock cfiBlock0
END
//
// 40 bytes in segment CODE
//
// 40 bytes of CODE memory
//
//Errors: none
//Warnings: none
О каких стартапах идет речь? Я не предлагаю весь проект, а только одну функцию отдельным файлом на выходе компилятора (до линковки)