第45楼
2006-06-06
职务:普通用户
积分:13370
等级:
技术总监
金钱:
0
精华:
38
|
fill_rectangle的汇编函数如下:
AREA |.text|, CODE, ARM
|fill_rectangle| PROC
; Line 383
stmdb sp!, {r4 - r6, lr}
|$M13326|
mov r6, r0
; Line 387
ldr r4, [sp, #0x14]
mul r0, r1, r4
; Line 388
mul r5, r3, r4
; Line 393
cmp r0, #2
bne |$L5804|
cmp r2, #2
bne |$L13307|
; Line 395
ldr r0, [sp, #0x10]
cmp r4, #4
addne r0, r0, r0, lsl #8
mov r0, r0, lsl #16
mov r1, r0, lsr #16
strh r1, [r6, +r5]
strh r1, [r6]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13307|
; Line 396
cmp r2, #4
bne |$L5849|
; Line 400
ldr r0, [sp, #0x10]
cmp r4, #4
add r1, r6, r5, lsl #1
addne r0, r0, r0, lsl #8
mov r0, r0, lsl #16
mov r2, r0, lsr #16
add r0, r5, r5, lsl #1
strh r2, [r0, +r6]
strh r2, [r1]
strh r2, [r6, +r5]
strh r2, [r6]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L5804|
; Line 401
cmp r0, #4
bne |$L5817|
cmp r2, #1
bne |$L13308|
; Line 402
cmp r4, #4
ldreq r1, [sp, #0x10]
streq r1, [r6]
; Line 440
ldmeqia sp!, {r4 - r6, pc}
; Line 402
ldr r2, [pc, #0x29C]
ldr r0, [sp, #0x10]
mul r1, r0, r2
str r1, [r6]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13308|
; Line 403
cmp r2, #2
bne |$L13309|
; Line 405
cmp r4, #4
bne |$L13293|
ldr r1, [sp, #0x10]
str r1, [r6, +r5]
str r1, [r6]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13293|
; Line 405
ldr r0, [sp, #0x10]
ldr r2, [pc, #0x264]
mul r1, r0, r2
str r1, [r6, +r5]
str r1, [r6]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13309|
; Line 406
cmp r2, #4
bne |$L5849|
; Line 410
cmp r4, #4
bne |$L13295|
ldr r1, [sp, #0x10]
add r0, r5, r5, lsl #1
str r1, [r0, +r6]
str r1, [r6, +r5]
str r1, [r6]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13295|
; Line 410
ldr r0, [sp, #0x10]
ldr r2, [pc, #0x224]
mul r1, r0, r2
add r0, r5, r5, lsl #1
str r1, [r0, +r6]
str r1, [r6, +r5]
str r1, [r6]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L5817|
; Line 411
cmp r0, #8
bne |$L5833|
cmp r2, #1
bne |$L13310|
; Line 413
cmp r4, #4
bne |$L13297|
ldr r1, [sp, #0x10]
str r1, [r6]
str r1, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13297|
; Line 413
ldr r0, [sp, #0x10]
ldr r2, [pc, #0x1DC]
mul r1, r0, r2
str r1, [r6]
str r1, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13310|
; Line 414
cmp r2, #2
bne |$L13311|
; Line 418
cmp r4, #4
bne |$L13299|
ldr r1, [sp, #0x10]
mov r0, r6
str r1, [r0, +r5]!
str r1, [r0, #4]
str r1, [r6]
str r1, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13299|
; Line 418
ldr r0, [sp, #0x10]
ldr r2, [pc, #0x198]
mul r1, r0, r2
mov r0, r6
str r1, [r0, +r5]!
str r1, [r0, #4]
str r1, [r6]
str r1, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13311|
; Line 419
cmp r2, #4
bne |$L5849|
; Line 423
cmp r4, #4
bne |$L13301|
ldr r2, [sp, #0x10]
add r0, r5, r5, lsl #1
mov r1, r6
str r2, [r0, +r6]!
mov r3, #0
str r2, [r1, +r5, lsl #1]!
str r3, [r0, #4]
mov r0, r6
str r3, [r1, #4]
str r2, [r0, +r5]!
str r3, [r0, #4]
; Line 437
str r2, [r6]
str r3, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13301|
; Line 423
ldr r1, [sp, #0x10]
ldr r4, [pc, #0x12C]
umull r2, r0, r1, r4
mla r3, r1, r4, r0
add r0, r5, r5, lsl #1
str r2, [r0, +r6]!
mov r1, r6
str r2, [r1, +r5, lsl #1]!
str r3, [r0, #4]
mov r0, r6
str r3, [r1, #4]
str r2, [r0, +r5]!
str r3, [r0, #4]
; Line 437
str r2, [r6]
str r3, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L5833|
; Line 424
cmp r0, #0x10
bne |$L5849|
cmp r2, #2
bne |$L13312|
; Line 428
cmp r4, #4
bne |$L13303|
ldr r2, [sp, #0x10]
; Line 437
mov r0, r6
mov r3, #0
str r2, [r0, +r5]!
str r3, [r0, #0xC]
str r2, [r0, #8]
str r3, [r0, #4]
str r2, [r6, #8]
str r3, [r6, #0xC]
str r2, [r6]
str r3, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13303|
; Line 428
ldr r1, [sp, #0x10]
ldr r4, [pc, #0xA4]
umull r2, r0, r1, r4
mla r3, r1, r4, r0
; Line 437
mov r0, r6
str r2, [r0, +r5]!
str r3, [r0, #0xC]
str r2, [r0, #8]
str r3, [r0, #4]
str r2, [r6, #8]
str r3, [r6, #0xC]
str r2, [r6]
str r3, [r6, #4]
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13312|
; Line 429
cmp r2, #4
bne |$L5849|
; Line 437
cmp r4, #4
ldreq r2, [sp, #0x10]
moveq r3, #0
beq |$L13306|
ldr r1, [sp, #0x10]
ldr r4, [pc, #0x54]
umull r2, r0, r1, r4
mla r3, r1, r4, r0
|$L13306|
add r0, r5, r5, lsl #1
str r2, [r0, +r6]!
mov r1, r6
str r2, [r1, +r5, lsl #1]!
str r3, [r0, #4]
str r2, [r0, #8]
str r3, [r0, #0xC]
mov r0, r6
str r3, [r1, #4]
str r2, [r1, #8]
str r3, [r1, #0xC]
str r2, [r0, +r5]!
str r3, [r0, #0xC]
str r2, [r0, #8]
str r3, [r0, #4]
str r2, [r6, #8]
str r3, [r6, #0xC]
str r2, [r6]
str r3, [r6, #4]
|$L5849|
; Line 440
ldmia sp!, {r4 - r6, pc}
|$L13329|
DCD 0x1010101
|$M13327|
ENDP ; |fill_rectangle|
|