📄 avcall-arm.s
字号:
#include "asmarm.h"// Generated by gcc 2.6.3 for ARM/RISCiXrfp .req r9sl .req r10fp .req r11ip .req r12sp .req r13lr .req r14pc .req r15.text .align 0 .global C(__builtin_avcall) DECLARE_FUNCTION(__builtin_avcall)C(__builtin_avcall:) // args = 0, pretend = 0, frame = 1024 // frameC(needed) = 0, current_function_anonymous_args = 0 stmfd sp!, {r4, lr} mov ip, $4 sub sp, sp, $1024 mov r4, r0 ldr r3, [r4, $20] sub r3, r3, $32 rsb r3, r4, r3 mov r0, r3, asr $2 cmp ip, r0 bge L3 add r1, r4, $16 add r2, sp, $16L5: ldr r3, [r1, $32] add r1, r1, $4 str r3, [r2, $-16] add ip, ip, $1 cmp ip, r0 add r2, r2, $4 blt L5L3: ldr r0, [r4, $32] ldr r3, [r4, $44] ldr r2, [r4, $40] ldr r1, [r4, $36] mov lr, pc ldr pc, [r4, $0] mov ip, r0 ldr r3, [r4, $12] cmp r3, $1 beq L8 cmp r3, $0 beq L60 cmp r3, $2 beq L61 cmp r3, $3 beq L61 cmp r3, $4 beq L61 cmp r3, $5 beq L62 cmp r3, $6 beq L62 cmp r3, $7 beq L60 cmp r3, $8 beq L60 cmp r3, $9 beq L60 cmp r3, $10 beq L60 ldr r2, [r4, $12] sub r3, r2, $11 cmp r3, $1 bls L63 cmp r2, $13 ldreq r3, [r4, $8] streq r0, [r3, $0] // float beq L8L31: cmp r2, $14 ldreq r3, [r4, $8] stmeqia r3, {r0, r1} // double beq L8L33: cmp r2, $15 beq L60 cmp r2, $16 bne L8 ldr r3, [r4, $4] tst r3, $1 beq L38 ldr r3, [r4, $16] cmp r3, $1 ldreq r2, [r4, $8] ldreqb r3, [ip, $0] streqb r3, [r2, $0] beq L8L39: cmp r3, $2 bne L41 ldr r2, [r4, $8] ldr r3, [ip, $0] // movhi strb r3, [r2, $0] mov r3, r3, asr $8 strb r3, [r2, $1] b L8L41: cmp r3, $4 ldreq r2, [r4, $8] ldreq r3, [ip, $0] streq r3, [r2, $0] beq L8L43: cmp r3, $8 bne L45 ldr r2, [r4, $8] ldr r3, [ip, $0] str r3, [r2, $0] ldr r2, [r4, $8] ldr r3, [ip, $4] str r3, [r2, $4] b L8L45: add r3, r3, $3 mov r1, r3, lsr $2 sub r1, r1, $1 cmp r1, $0 blt L8L49: ldr r2, [r4, $8] ldr r3, [ip, r1, asl $2] str r3, [r2, r1, asl $2] sub r1, r1, $1 cmp r1, $0 bge L49 b L8L38: tst r3, $512 beq L8 ldr r3, [r4, $16] cmp r3, $1 bne L53L61: ldr r3, [r4, $8] strb ip, [r3, $0] b L8L53: cmp r3, $2 bne L55L62: ldr r2, [r4, $8] strb ip, [r2, $0] mov r3, ip, asr $8 strb r3, [r2, $1] b L8L55: cmp r3, $4 bne L57L60: ldr r3, [r4, $8] str ip, [r3, $0] b L8L57: cmp r3, $8 bne L8L63: ldr r3, [r4, $8] str ip, [r3, $0] ldr r3, [r4, $8] str r1, [r3, $4]L8: mov r0, $0 add sp, sp, $1024 ldmfd sp!, {r4, pc}^
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -