Author Id: 12296 Author Name: cosarara97 Post Content: LOL! Si lo siguiente es thumb significa que ya se como hacer que arm-eabi-gcc compile thumb: [spoiler=THUMB?] .cpu arm7tdmi .fpu softvfp .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 1 .eabi_attribute 30, 2 .eabi_attribute 18, 4 .code16 .file"asdf.c" .text .align2 .globalPlotPixel3 .code16 .thumb_func .typePlotPixel3, %function PlotPixel3: lslr3, r1, #4 subr1, r3, r1 lslr1, r1, #4 addr0, r1, r0 movr3, #192 lslr3, r3, #19 lslr0, r0, #1 addr0, r0, r3 strhr2, [r0] @ sp needed for prologue bxlr .sizePlotPixel3, .-PlotPixel3 .align2 .globalmain .code16 .thumb_func .typemain, %function main: push{lr} @ 15 "asdf.c" 1 @# using function @ 0 "" 2 .code16 movr2, #248 ldrr3, .L10 ldrr1, .L10+4 lslr2, r2, #2 .L3: strhr2, [r3] addr3, r3, #2 cmpr3, r1 bne.L3 @ 20 "asdf.c" 1 @# using inline @ 0 "" 2 .code16 ldrr3, .L10+8 ldrr2, .L10+12 movr1, #31 .L4: strhr1, [r3] addr3, r3, #2 cmpr3, r2 bne.L4 .L8: b.L8 .L11: .align2 .L10: .word100670976 .word100671456 .word100669056 .word100669536 .sizemain, .-main .ident"GCC: (devkitARM release 32) 4.5.1" [/spoiler] Esta en plan cutre tal como ha salido del compilador, pero por eso de ".thumb_func" estoy bastante seguro de que es thumb =D Bueno, a ver, el comando exacto que he usado: $ /opt/devkitpro/devkitARM/bin/arm-eabi-gcc -I /opt/devkitpro/tonclib/include/ -O2 -mthumb -mthumb-interwork -S input.c -o output.s Que generalmente sería: $ arm-eabi-gcc -O2 -mthumb -mthumb-interwork -S input.c -o output.s Donde input.c es el codigo en c que hemos escrito y output.s es el código en asm que se va a generar. Lo que está en negrita es opcional. Si no lo ponemos el output se guardará en un archivo *.s llamado igual que el input (sin el ".c") El "-O2" también es opcional, y sirve para optimizar. El arm-eabi-gcc está en /opt/devkitpro/devkitARM/bin/arm-eabi-gcc siendo /opt/devkitpro/ el directorio donde está instalado devkitpro. Naturalmente esto es una ruta linux. En windows estará más o menos por una ruta así: C:\devkitpro\devkitARM\bin\arm-eabi-gcc.exe Aún así voy a aprender asm, pero está bien saberlo :D Lo he sacado del tutorial de asm que hay en [url=http://www.coranac.com/tonc/text/asm.htm#ssec-asm-gcc]tonc[/url]. Recordad que el thumb en el fondo es un tipo de arm, porque funciona en el procesador ARM7TDMI. EDIT: Lo siento por el doble post, espero que no pase nada...