Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .align 2
- .type KEY_NSPIRE_ESC, %object
- .size KEY_NSPIRE_ESC, 20
- KEY_NSPIRE_ESC:
- .word 28
- .word 128
- .word 28
- .word 128
- .byte 0
- .space 3
- .global RGB332to565lookupTable
- .align 2
- .type RGB332to565lookupTable, %object
- .size RGB332to565lookupTable, 512
- RGB332to565lookupTable:
- .short 0
- .short 10
- .short 21
- .short 31
- .short 288
- .short 298
- .short 309
- .short 319
- .short 576
- .short 586
- .short 597
- .short 607
- .short 864
- .short 874
- .short 885
- .short 895
- .short 1152
- .short 1162
- .short 1173
- .short 1183
- .short 1440
- .short 1450
- .short 1461
- .short 1471
- .short 1728
- .short 1738
- .short 1749
- .short 1759
- .short 2016
- .short 2026
- .short 2037
- .short 2047
- .short 8192
- .short 8202
- .short 8213
- .short 8223
- .short 8480
- .short 8490
- .short 8501
- .short 8511
- .short 8768
- .short 8778
- .short 8789
- .short 8799
- .short 9056
- .short 9066
- .short 9077
- .short 9087
- .short 9344
- .short 9354
- .short 9365
- .short 9375
- .short 9632
- .short 9642
- .short 9653
- .short 9663
- .short 9920
- .short 9930
- .short 9941
- .short 9951
- .short 10208
- .short 10218
- .short 10229
- .short 10239
- .short 18432
- .short 18442
- .short 18453
- .short 18463
- .short 18720
- .short 18730
- .short 18741
- .short 18751
- .short 19008
- .short 19018
- .short 19029
- .short 19039
- .short 19296
- .short 19306
- .short 19317
- .short 19327
- .short 19584
- .short 19594
- .short 19605
- .short 19615
- .short 19872
- .short 19882
- .short 19893
- .short 19903
- .short 20160
- .short 20170
- .short 20181
- .short 20191
- .short 20448
- .short 20458
- .short 20469
- .short 20479
- .short 26624
- .short 26634
- .short 26645
- .short 26655
- .short 26912
- .short 26922
- .short 26933
- .short 26943
- .short 27200
- .short 27210
- .short 27221
- .short 27231
- .short 27488
- .short 27498
- .short 27509
- .short 27519
- .short 27776
- .short 27786
- .short 27797
- .short 27807
- .short 28064
- .short 28074
- .short 28085
- .short 28095
- .short 28352
- .short 28362
- .short 28373
- .short 28383
- .short 28640
- .short 28650
- .short 28661
- .short 28671
- .short -28672
- .short -28662
- .short -28651
- .short -28641
- .short -28384
- .short -28374
- .short -28363
- .short -28353
- .short -28096
- .short -28086
- .short -28075
- .short -28065
- .short -27808
- .short -27798
- .short -27787
- .short -27777
- .short -27520
- .short -27510
- .short -27499
- .short -27489
- .short -27232
- .short -27222
- .short -27211
- .short -27201
- .short -26944
- .short -26934
- .short -26923
- .short -26913
- .short -26656
- .short -26646
- .short -26635
- .short -26625
- .short -20480
- .short -20470
- .short -20459
- .short -20449
- .short -20192
- .short -20182
- .short -20171
- .short -20161
- .short -19904
- .short -19894
- .short -19883
- .short -19873
- .short -19616
- .short -19606
- .short -19595
- .short -19585
- .short -19328
- .short -19318
- .short -19307
- .short -19297
- .short -19040
- .short -19030
- .short -19019
- .short -19009
- .short -18752
- .short -18742
- .short -18731
- .short -18721
- .short -18464
- .short -18454
- .short -18443
- .short -18433
- .short -10240
- .short -10230
- .short -10219
- .short -10209
- .short -9952
- .short -9942
- .short -9931
- .short -9921
- .short -9664
- .short -9654
- .short -9643
- .short -9633
- .short -9376
- .short -9366
- .short -9355
- .short -9345
- .short -9088
- .short -9078
- .short -9067
- .short -9057
- .short -8800
- .short -8790
- .short -8779
- .short -8769
- .short -8512
- .short -8502
- .short -8491
- .short -8481
- .short -8224
- .short -8214
- .short -8203
- .short -8193
- .short -2048
- .short -2038
- .short -2027
- .short -2017
- .short -1760
- .short -1750
- .short -1739
- .short -1729
- .short -1472
- .short -1462
- .short -1451
- .short -1441
- .short -1184
- .short -1174
- .short -1163
- .short -1153
- .short -896
- .short -886
- .short -875
- .short -865
- .short -608
- .short -598
- .short -587
- .short -577
- .short -320
- .short -310
- .short -299
- .short -289
- .short -32
- .short -22
- .short -11
- .short -1
- .global numVerts
- .data
- .align 2
- .type numVerts, %object
- .size numVerts, 4
- numVerts:
- .word 40
- .global verts
- .align 2
- .type verts, %object
- .size verts, 480
- verts:
- .word -1082130432
- .word -1082130432
- .word -1082130432
- .word -1082130432
- .word 1065353216
- .word -1082130432
- .word 1065353216
- .word 1065353216
- .word -1082130432
- .word 1065353216
- .word -1082130432
- .word -1082130432
- .word -1082130432
- .word -1082130432
- .word 1065353216
- .word -1082130432
- .word 1065353216
- .word 1065353216
- .word 1065353216
- .word 1065353216
- .word 1065353216
- .word 1065353216
- .word -1082130432
- .word 1065353216
- .word -1097229926
- .word -1097229926
- .word -1097229926
- .word -1097229926
- .word 1050253722
- .word -1097229926
- .word 1050253722
- .word 1050253722
- .word -1097229926
- .word 1050253722
- .word -1097229926
- .word -1097229926
- .word -1097229926
- .word -1097229926
- .word 1050253722
- .word -1097229926
- .word 1050253722
- .word 1050253722
- .word 1050253722
- .word 1050253722
- .word 1050253722
- .word 1050253722
- .word -1097229926
- .word 1050253722
- .word -1082130432
- .word -1097229926
- .word -1097229926
- .word -1097229926
- .word -1082130432
- .word -1097229926
- .word -1097229926
- .word -1097229926
- .word -1082130432
- .word -1082130432
- .word 1050253722
- .word -1097229926
- .word -1097229926
- .word 1065353216
- .word -1097229926
- .word -1097229926
- .word 1050253722
- .word -1082130432
- .word 1065353216
- .word 1050253722
- .word -1097229926
- .word 1050253722
- .word 1065353216
- .word -1097229926
- .word 1050253722
- .word 1050253722
- .word -1082130432
- .word 1065353216
- .word -1097229926
- .word -1097229926
- .word 1050253722
- .word -1082130432
- .word -1097229926
- .word 1050253722
- .word -1097229926
- .word -1082130432
- .word -1082130432
- .word -1097229926
- .word 1050253722
- .word -1097229926
- .word -1082130432
- .word 1050253722
- .word -1097229926
- .word -1097229926
- .word 1065353216
- .word -1082130432
- .word 1050253722
- .word 1050253722
- .word -1097229926
- .word 1065353216
- .word 1050253722
- .word -1097229926
- .word 1050253722
- .word 1065353216
- .word 1065353216
- .word 1050253722
- .word 1050253722
- .word 1050253722
- .word 1065353216
- .word 1050253722
- .word 1050253722
- .word 1050253722
- .word 1065353216
- .word 1065353216
- .word -1097229926
- .word 1050253722
- .word 1050253722
- .word -1082130432
- .word 1050253722
- .word 1050253722
- .word -1097229926
- .word 1065353216
- .global numEdges
- .align 2
- .type numEdges, %object
- .size numEdges, 4
- numEdges:
- .word 12
- .global edges
- .align 2
- .type edges, %object
- .size edges, 96
- edges:
- .word 0
- .word 1
- .word 1
- .word 2
- .word 2
- .word 3
- .word 3
- .word 0
- .word 4
- .word 5
- .word 5
- .word 6
- .word 6
- .word 7
- .word 7
- .word 4
- .word 0
- .word 4
- .word 1
- .word 5
- .word 2
- .word 6
- .word 3
- .word 7
- .global numFaces
- .align 2
- .type numFaces, %object
- .size numFaces, 4
- numFaces:
- .word 12
- .global faces
- .align 2
- .type faces, %object
- .size faces, 144
- faces:
- .word 1
- .word 2
- .word 19
- .word 4
- .word 1
- .word 28
- .word 3
- .word 4
- .word 25
- .word 2
- .word 3
- .word 22
- .word 1
- .word 5
- .word 17
- .word 2
- .word 1
- .word 20
- .word 6
- .word 2
- .word 32
- .word 5
- .word 6
- .word 29
- .word 3
- .word 2
- .word 24
- .word 7
- .word 3
- .word 36
- .word 6
- .word 7
- .word 33
- .word 2
- .word 6
- .word 21
- .global colors
- .align 2
- .type colors, %object
- .size colors, 12
- colors:
- .byte 48
- .byte 69
- .byte 21
- .byte 97
- .byte -98
- .byte 92
- .byte 123
- .byte -1
- .byte 14
- .byte 47
- .byte 112
- .byte -36
- .global pxv
- .section .rodata
- .align 2
- .type pxv, %object
- .size pxv, 12
- pxv:
- .word 1065353216
- .word 0
- .word 0
- .global nxv
- .align 2
- .type nxv, %object
- .size nxv, 12
- nxv:
- .word -1082130432
- .word 0
- .word 0
- .global pyv
- .align 2
- .type pyv, %object
- .size pyv, 12
- pyv:
- .word 0
- .word 1065353216
- .word 0
- .global nyv
- .align 2
- .type nyv, %object
- .size nyv, 12
- nyv:
- .word 0
- .word -1082130432
- .word 0
- .global pzv
- .align 2
- .type pzv, %object
- .size pzv, 12
- pzv:
- .word 0
- .word 0
- .word 1065353216
- .global nzv
- .align 2
- .type nzv, %object
- .size nzv, 12
- nzv:
- .word 0
- .word 0
- .word -1082130432
- .global __aeabi_i2f
- .global __aeabi_fdiv
- .global __aeabi_fmul
- .global __aeabi_f2iz
- .text
- .align 2
- .global MapRGB565
- .syntax unified
- .arm
- .fpu softvfp
- .type MapRGB565, %function
- MapRGB565:
- push {fp, lr}
- add fp, sp, #4
- sub sp, sp, #40
- str r0, [fp, #-32]
- str r1, [fp, #-36]
- str r2, [fp, #-40]
- ldr r0, [fp, #-32]
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-8]
- ldr r0, [fp, #-36]
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-12]
- ldr r0, [fp, #-40]
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-16]
- ldr r1, .L3
- ldr r0, [fp, #-8]
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-8]
- ldr r1, .L3
- ldr r0, [fp, #-12]
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-12]
- ldr r1, .L3
- ldr r0, [fp, #-16]
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-16]
- ldr r1, .L3+4
- ldr r0, [fp, #-8]
- bl __aeabi_fmul
- mov r3, r0
- mov r1, #1157627904
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r0, r3
- bl __aeabi_f2iz
- mov r3, r0
- str r3, [fp, #-20]
- ldr r1, .L3+8
- ldr r0, [fp, #-12]
- bl __aeabi_fmul
- mov r3, r0
- mov r1, #1107296256
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r0, r3
- bl __aeabi_f2iz
- mov r3, r0
- str r3, [fp, #-24]
- ldr r1, .L3+4
- ldr r0, [fp, #-16]
- bl __aeabi_fmul
- mov r3, r0
- mov r0, r3
- bl __aeabi_f2iz
- mov r3, r0
- str r3, [fp, #-28]
- ldr r3, [fp, #-20]
- lsl r3, r3, #16
- lsr r2, r3, #16
- ldr r3, [fp, #-24]
- lsl r3, r3, #16
- lsr r3, r3, #16
- add r3, r2, r3
- lsl r3, r3, #16
- lsr r2, r3, #16
- ldr r3, [fp, #-28]
- lsl r3, r3, #16
- lsr r3, r3, #16
- add r3, r2, r3
- lsl r3, r3, #16
- lsr r3, r3, #16
- mov r0, r3
- sub sp, fp, #4
- pop {fp, pc}
- .L4:
- .align 2
- .L3:
- .word 1132396544
- .word 1106771968
- .word 1115422720
- .size MapRGB565, .-MapRGB565
- .align 2
- .global setPixel
- .syntax unified
- .arm
- .fpu softvfp
- .type setPixel, %function
- setPixel:
- str fp, [sp, #-4]!
- add fp, sp, #0
- sub sp, sp, #28
- str r0, [fp, #-16]
- str r1, [fp, #-20]
- str r2, [fp, #-24]
- strh r3, [fp, #-26]
- ldr r3, [fp, #-16]
- ldr r3, [r3, #20]
- str r3, [fp, #-8]
- ldr r2, [fp, #-24]
- mov r3, r2
- lsl r3, r3, #2
- add r3, r3, r2
- lsl r3, r3, #6
- mov r2, r3
- ldr r3, [fp, #-20]
- add r3, r2, r3
- lsl r3, r3, #1
- mov r2, r3
- ldr r3, [fp, #-8]
- add r3, r3, r2
- str r3, [fp, #-8]
- ldr r3, [fp, #-20]
- cmp r3, #0
- ble .L7
- ldr r3, [fp, #-20]
- cmp r3, #320
- bge .L7
- ldr r3, [fp, #-24]
- cmp r3, #0
- ble .L7
- ldr r3, [fp, #-24]
- cmp r3, #239
- bgt .L7
- ldr r3, [fp, #-8]
- ldrh r2, [fp, #-26]
- strh r2, [r3]
- .L7:
- nop
- add sp, fp, #0
- ldr fp, [sp], #4
- bx lr
- .size setPixel, .-setPixel
- .align 2
- .global drawLine
- .syntax unified
- .arm
- .fpu softvfp
- .type drawLine, %function
- drawLine:
- push {fp, lr}
- add fp, sp, #4
- sub sp, sp, #40
- str r0, [fp, #-32]
- str r1, [fp, #-36]
- str r2, [fp, #-40]
- str r3, [fp, #-44]
- ldr r2, [fp, #-44]
- ldr r3, [fp, #-36]
- sub r3, r2, r3
- cmp r3, #0
- rsblt r3, r3, #0
- str r3, [fp, #-12]
- ldr r2, [fp, #-36]
- ldr r3, [fp, #-44]
- cmp r2, r3
- bge .L9
- mov r3, #1
- b .L10
- .L9:
- mvn r3, #0
- .L10:
- str r3, [fp, #-16]
- ldr r2, [fp, #4]
- ldr r3, [fp, #-40]
- sub r3, r2, r3
- cmp r3, #0
- rsblt r3, r3, #0
- rsb r3, r3, #0
- str r3, [fp, #-20]
- ldr r2, [fp, #-40]
- ldr r3, [fp, #4]
- cmp r2, r3
- bge .L11
- mov r3, #1
- b .L12
- .L11:
- mvn r3, #0
- .L12:
- str r3, [fp, #-24]
- ldr r2, [fp, #-12]
- ldr r3, [fp, #-20]
- add r3, r2, r3
- str r3, [fp, #-8]
- .L17:
- ldrh r3, [fp, #8]
- ldr r2, [fp, #-40]
- ldr r1, [fp, #-36]
- ldr r0, [fp, #-32]
- bl setPixel
- ldr r2, [fp, #-36]
- ldr r3, [fp, #-44]
- cmp r2, r3
- bne .L13
- ldr r2, [fp, #-40]
- ldr r3, [fp, #4]
- cmp r2, r3
- beq .L19
- .L13:
- ldr r3, [fp, #-8]
- lsl r3, r3, #1
- str r3, [fp, #-28]
- ldr r2, [fp, #-28]
- ldr r3, [fp, #-20]
- cmp r2, r3
- blt .L15
- ldr r2, [fp, #-8]
- ldr r3, [fp, #-20]
- add r3, r2, r3
- str r3, [fp, #-8]
- ldr r2, [fp, #-36]
- ldr r3, [fp, #-16]
- add r3, r2, r3
- str r3, [fp, #-36]
- .L15:
- ldr r2, [fp, #-28]
- ldr r3, [fp, #-12]
- cmp r2, r3
- bgt .L17
- ldr r2, [fp, #-8]
- ldr r3, [fp, #-12]
- add r3, r2, r3
- str r3, [fp, #-8]
- ldr r2, [fp, #-40]
- ldr r3, [fp, #-24]
- add r3, r2, r3
- str r3, [fp, #-40]
- b .L17
- .L19:
- nop
- nop
- sub sp, fp, #4
- pop {fp, pc}
- .size drawLine, .-drawLine
- .align 2
- .global HLine
- .syntax unified
- .arm
- .fpu softvfp
- .type HLine, %function
- HLine:
- push {fp, lr}
- add fp, sp, #4
- sub sp, sp, #24
- str r0, [fp, #-16]
- str r1, [fp, #-20]
- str r2, [fp, #-24]
- str r3, [fp, #-28]
- ldrh r3, [fp, #4]
- ldr r2, [fp, #-28]
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-16]
- bl setPixel
- ldr r2, [fp, #-20]
- ldr r3, [fp, #-24]
- cmp r2, r3
- beq .L27
- ldr r2, [fp, #-20]
- ldr r3, [fp, #-24]
- cmp r2, r3
- bge .L23
- mov r3, #1
- b .L24
- .L23:
- mvn r3, #0
- .L24:
- str r3, [fp, #-12]
- ldr r2, [fp, #-20]
- ldr r3, [fp, #-12]
- add r3, r2, r3
- str r3, [fp, #-8]
- b .L25
- .L26:
- ldrh r3, [fp, #4]
- ldr r2, [fp, #-28]
- ldr r1, [fp, #-8]
- ldr r0, [fp, #-16]
- bl setPixel
- ldr r2, [fp, #-8]
- ldr r3, [fp, #-12]
- add r3, r2, r3
- str r3, [fp, #-8]
- .L25:
- ldr r2, [fp, #-8]
- ldr r3, [fp, #-24]
- cmp r2, r3
- bne .L26
- ldrh r3, [fp, #4]
- ldr r2, [fp, #-28]
- ldr r1, [fp, #-24]
- ldr r0, [fp, #-16]
- bl setPixel
- b .L20
- .L27:
- nop
- .L20:
- sub sp, fp, #4
- pop {fp, pc}
- .size HLine, .-HLine
- .global __aeabi_fadd
- .align 2
- .global stdTriangleFlatBottom
- .syntax unified
- .arm
- .fpu softvfp
- .type stdTriangleFlatBottom, %function
- stdTriangleFlatBottom:
- sub sp, sp, #8
- push {r4, fp, lr}
- add fp, sp, #8
- sub sp, sp, #52
- str r0, [fp, #-40]
- sub r0, fp, #48
- stm r0, {r1, r2}
- str r3, [fp, #8]
- ldr r2, [fp, #8]
- ldr r3, [fp, #-48]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r4, r0
- ldr r2, [fp, #12]
- ldr r3, [fp, #-44]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-28]
- ldr r2, [fp, #16]
- ldr r3, [fp, #-48]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r4, r0
- ldr r2, [fp, #20]
- ldr r3, [fp, #-44]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-32]
- ldr r3, [fp, #-48]
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-16]
- ldr r3, [fp, #-48]
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-20]
- ldr r3, [fp, #-44]
- str r3, [fp, #-24]
- b .L29
- .L30:
- ldr r0, [fp, #-16]
- bl __aeabi_f2iz
- mov r4, r0
- ldr r0, [fp, #-20]
- bl __aeabi_f2iz
- mov r2, r0
- ldrh r3, [fp, #24]
- str r3, [sp]
- ldr r3, [fp, #-24]
- mov r1, r4
- ldr r0, [fp, #-40]
- bl HLine
- ldr r1, [fp, #-28]
- ldr r0, [fp, #-16]
- bl __aeabi_fadd
- mov r3, r0
- str r3, [fp, #-16]
- ldr r1, [fp, #-32]
- ldr r0, [fp, #-20]
- bl __aeabi_fadd
- mov r3, r0
- str r3, [fp, #-20]
- ldr r3, [fp, #-24]
- add r3, r3, #1
- str r3, [fp, #-24]
- .L29:
- ldr r3, [fp, #12]
- ldr r2, [fp, #-24]
- cmp r2, r3
- ble .L30
- nop
- sub sp, fp, #8
- pop {r4, fp, lr}
- add sp, sp, #8
- bx lr
- .size stdTriangleFlatBottom, .-stdTriangleFlatBottom
- .global __aeabi_fsub
- .align 2
- .global stdTriangleFlatTop
- .syntax unified
- .arm
- .fpu softvfp
- .type stdTriangleFlatTop, %function
- stdTriangleFlatTop:
- sub sp, sp, #8
- push {r4, fp, lr}
- add fp, sp, #8
- sub sp, sp, #52
- str r0, [fp, #-40]
- sub r0, fp, #48
- stm r0, {r1, r2}
- str r3, [fp, #8]
- ldr r2, [fp, #16]
- ldr r3, [fp, #-48]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r4, r0
- ldr r2, [fp, #20]
- ldr r3, [fp, #-44]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-28]
- ldr r2, [fp, #16]
- ldr r3, [fp, #8]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r4, r0
- ldr r2, [fp, #20]
- ldr r3, [fp, #12]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-32]
- ldr r3, [fp, #16]
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-16]
- ldr r3, [fp, #16]
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-20]
- ldr r3, [fp, #20]
- str r3, [fp, #-24]
- b .L32
- .L33:
- ldr r0, [fp, #-16]
- bl __aeabi_f2iz
- mov r4, r0
- ldr r0, [fp, #-20]
- bl __aeabi_f2iz
- mov r2, r0
- ldrh r3, [fp, #24]
- str r3, [sp]
- ldr r3, [fp, #-24]
- mov r1, r4
- ldr r0, [fp, #-40]
- bl HLine
- ldr r1, [fp, #-28]
- ldr r0, [fp, #-16]
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-16]
- ldr r1, [fp, #-32]
- ldr r0, [fp, #-20]
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-20]
- ldr r3, [fp, #-24]
- sub r3, r3, #1
- str r3, [fp, #-24]
- .L32:
- ldr r3, [fp, #-44]
- ldr r2, [fp, #-24]
- cmp r2, r3
- bge .L33
- nop
- sub sp, fp, #8
- pop {r4, fp, lr}
- add sp, sp, #8
- bx lr
- .size stdTriangleFlatTop, .-stdTriangleFlatTop
- .align 2
- .global stdTriangle
- .syntax unified
- .arm
- .fpu softvfp
- .type stdTriangle, %function
- stdTriangle:
- sub sp, sp, #8
- push {r4, r5, fp, lr}
- add fp, sp, #12
- sub sp, sp, #64
- str r0, [fp, #-48]
- sub r0, fp, #56
- stm r0, {r1, r2}
- str r3, [fp, #8]
- mov r3, #0
- str r3, [fp, #-20]
- mov r3, #0
- str r3, [fp, #-16]
- sub r3, fp, #28
- sub r2, fp, #20
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- sub r3, fp, #36
- sub r2, fp, #20
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- ldr r2, [fp, #-52]
- ldr r3, [fp, #12]
- cmp r2, r3
- bge .L35
- ldr r2, [fp, #-52]
- ldr r3, [fp, #20]
- cmp r2, r3
- bge .L35
- sub r3, fp, #20
- sub r2, fp, #56
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- ldr r2, [fp, #12]
- ldr r3, [fp, #20]
- cmp r2, r3
- bge .L36
- sub r3, fp, #28
- add r2, fp, #8
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L37
- .L36:
- sub r3, fp, #28
- add r2, fp, #16
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- .L37:
- ldr r2, [fp, #12]
- ldr r3, [fp, #20]
- cmp r2, r3
- bge .L38
- sub r3, fp, #36
- add r2, fp, #16
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L40
- .L38:
- sub r3, fp, #36
- add r2, fp, #8
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L40
- .L35:
- ldr r2, [fp, #12]
- ldr r3, [fp, #20]
- cmp r2, r3
- bge .L41
- sub r3, fp, #20
- add r2, fp, #8
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- ldr r2, [fp, #-52]
- ldr r3, [fp, #20]
- cmp r2, r3
- bge .L42
- sub r3, fp, #28
- sub r2, fp, #56
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L43
- .L42:
- sub r3, fp, #28
- add r2, fp, #16
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- .L43:
- ldr r2, [fp, #-52]
- ldr r3, [fp, #20]
- cmp r2, r3
- bge .L44
- sub r3, fp, #36
- add r2, fp, #16
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L40
- .L44:
- sub r3, fp, #36
- sub r2, fp, #56
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L40
- .L41:
- sub r3, fp, #20
- add r2, fp, #16
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- ldr r2, [fp, #-52]
- ldr r3, [fp, #12]
- cmp r2, r3
- bge .L46
- sub r3, fp, #28
- sub r2, fp, #56
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L47
- .L46:
- sub r3, fp, #28
- add r2, fp, #8
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- .L47:
- ldr r2, [fp, #-52]
- ldr r3, [fp, #12]
- cmp r2, r3
- bge .L48
- sub r3, fp, #36
- add r2, fp, #8
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- b .L40
- .L48:
- sub r3, fp, #36
- sub r2, fp, #56
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- .L40:
- ldr r2, [fp, #-24]
- ldr r3, [fp, #-32]
- cmp r2, r3
- bne .L49
- ldrh r3, [fp, #24]
- str r3, [sp, #12]
- add r2, sp, #4
- sub r3, fp, #36
- ldm r3, {r0, r1}
- stm r2, {r0, r1}
- ldr r3, [fp, #-24]
- str r3, [sp]
- ldr r3, [fp, #-28]
- sub r2, fp, #20
- ldm r2, {r1, r2}
- ldr r0, [fp, #-48]
- bl stdTriangleFlatBottom
- b .L52
- .L49:
- ldr r2, [fp, #-16]
- ldr r3, [fp, #-24]
- cmp r2, r3
- bne .L51
- ldrh r3, [fp, #24]
- str r3, [sp, #12]
- add r2, sp, #4
- sub r3, fp, #36
- ldm r3, {r0, r1}
- stm r2, {r0, r1}
- ldr r3, [fp, #-24]
- str r3, [sp]
- ldr r3, [fp, #-28]
- sub r2, fp, #20
- ldm r2, {r1, r2}
- ldr r0, [fp, #-48]
- bl stdTriangleFlatTop
- b .L52
- .L51:
- ldr r3, [fp, #-20]
- mov r0, r3
- bl __aeabi_i2f
- mov r4, r0
- ldr r2, [fp, #-24]
- ldr r3, [fp, #-16]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r5, r0
- ldr r2, [fp, #-32]
- ldr r3, [fp, #-16]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- mov r1, r3
- mov r0, r5
- bl __aeabi_fdiv
- mov r3, r0
- mov r5, r3
- ldr r2, [fp, #-36]
- ldr r3, [fp, #-20]
- sub r3, r2, r3
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- mov r1, r3
- mov r0, r5
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r0, r3
- bl __aeabi_f2iz
- mov r3, r0
- str r3, [fp, #-44]
- ldr r3, [fp, #-24]
- str r3, [fp, #-40]
- ldrh r3, [fp, #24]
- str r3, [sp, #12]
- add r2, sp, #4
- sub r3, fp, #44
- ldm r3, {r0, r1}
- stm r2, {r0, r1}
- ldr r3, [fp, #-24]
- str r3, [sp]
- ldr r3, [fp, #-28]
- sub r2, fp, #20
- ldm r2, {r1, r2}
- ldr r0, [fp, #-48]
- bl stdTriangleFlatBottom
- ldrh r3, [fp, #24]
- str r3, [sp, #12]
- add r2, sp, #4
- sub r3, fp, #36
- ldm r3, {r0, r1}
- stm r2, {r0, r1}
- ldr r3, [fp, #-40]
- str r3, [sp]
- ldr r3, [fp, #-44]
- sub r2, fp, #28
- ldm r2, {r1, r2}
- ldr r0, [fp, #-48]
- bl stdTriangleFlatTop
- .L52:
- nop
- sub sp, fp, #12
- pop {r4, r5, fp, lr}
- add sp, sp, #8
- bx lr
- .size stdTriangle, .-stdTriangle
- .global __aeabi_f2d
- .global __aeabi_d2f
- .align 2
- .global absolute
- .syntax unified
- .arm
- .fpu softvfp
- .type absolute, %function
- absolute:
- push {r4, fp, lr}
- add fp, sp, #8
- sub sp, sp, #20
- sub r3, fp, #24
- stm r3, {r0, r1, r2}
- ldr r3, [fp, #-24]
- ldr r2, [fp, #-24]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r3, [fp, #-20]
- ldr r2, [fp, #-20]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r4, r3
- ldr r3, [fp, #-16]
- ldr r2, [fp, #-16]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r0, r3
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl sqrt
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- mov r0, r3
- sub sp, fp, #8
- pop {r4, fp, pc}
- .size absolute, .-absolute
- .align 2
- .global rotate2d
- .syntax unified
- .arm
- .fpu softvfp
- .type rotate2d, %function
- rotate2d:
- push {r4, fp, lr}
- add fp, sp, #8
- sub sp, sp, #36
- str r0, [fp, #-32]
- str r1, [fp, #-36]
- str r2, [fp, #-40]
- ldr r0, [fp, #-40]
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl cos
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-16]
- ldr r0, [fp, #-40]
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl sin
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-20]
- ldr r3, [fp, #-32]
- ldr r3, [r3]
- str r3, [fp, #-24]
- ldr r3, [fp, #-36]
- ldr r3, [r3]
- str r3, [fp, #-28]
- ldr r1, [fp, #-16]
- ldr r0, [fp, #-24]
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-28]
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fsub
- mov r3, r0
- mov r2, r3
- ldr r3, [fp, #-32]
- str r2, [r3]
- ldr r1, [fp, #-16]
- ldr r0, [fp, #-28]
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-24]
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r2, r3
- ldr r3, [fp, #-36]
- str r2, [r3]
- nop
- sub sp, fp, #8
- pop {r4, fp, pc}
- .size rotate2d, .-rotate2d
- .align 2
- .global normalize
- .syntax unified
- .arm
- .fpu softvfp
- .type normalize, %function
- normalize:
- push {fp, lr}
- add fp, sp, #4
- sub sp, sp, #16
- str r0, [fp, #-16]
- ldr r3, [fp, #-16]
- ldm r3, {r0, r1, r2}
- bl absolute
- str r0, [fp, #-8]
- ldr r3, [fp, #-16]
- ldr r3, [r3]
- ldr r1, [fp, #-8]
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- mov r2, r3
- ldr r3, [fp, #-16]
- str r2, [r3]
- ldr r3, [fp, #-16]
- ldr r3, [r3, #4]
- ldr r1, [fp, #-8]
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- mov r2, r3
- ldr r3, [fp, #-16]
- str r2, [r3, #4]
- ldr r3, [fp, #-16]
- ldr r3, [r3, #8]
- ldr r1, [fp, #-8]
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- mov r2, r3
- ldr r3, [fp, #-16]
- str r2, [r3, #8]
- nop
- sub sp, fp, #4
- pop {fp, pc}
- .size normalize, .-normalize
- .align 2
- .global dot
- .syntax unified
- .arm
- .fpu softvfp
- .type dot, %function
- dot:
- sub sp, sp, #8
- push {r4, fp, lr}
- add fp, sp, #8
- sub sp, sp, #20
- sub ip, fp, #24
- stm ip, {r0, r1, r2}
- str r3, [fp, #8]
- ldr r3, [fp, #-24]
- ldr r2, [fp, #8]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r3, [fp, #-20]
- ldr r2, [fp, #12]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r4, r3
- ldr r3, [fp, #-16]
- ldr r2, [fp, #16]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r0, r3
- sub sp, fp, #8
- pop {r4, fp, lr}
- add sp, sp, #8
- bx lr
- .size dot, .-dot
- .align 2
- .global lightdot
- .syntax unified
- .arm
- .fpu softvfp
- .type lightdot, %function
- lightdot:
- sub sp, sp, #8
- push {r4, fp, lr}
- add fp, sp, #8
- sub sp, sp, #20
- sub ip, fp, #24
- stm ip, {r0, r1, r2}
- str r3, [fp, #8]
- ldr r2, [fp, #-24]
- ldr r3, [fp, #8]
- eor r3, r3, #-2147483648
- mov r1, r3
- mov r0, r2
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r2, [fp, #-20]
- ldr r3, [fp, #12]
- eor r3, r3, #-2147483648
- mov r1, r3
- mov r0, r2
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r4, r3
- ldr r2, [fp, #-16]
- ldr r3, [fp, #16]
- eor r3, r3, #-2147483648
- mov r1, r3
- mov r0, r2
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fadd
- mov r3, r0
- mov r0, r3
- sub sp, fp, #8
- pop {r4, fp, lr}
- add sp, sp, #8
- bx lr
- .size lightdot, .-lightdot
- .align 2
- .global calculate
- .syntax unified
- .arm
- .fpu softvfp
- .type calculate, %function
- calculate:
- sub sp, sp, #16
- push {fp, lr}
- add fp, sp, #4
- sub sp, sp, #32
- add ip, fp, #4
- stm ip, {r0, r1, r2, r3}
- mov r3, #0
- str r3, [fp, #-8]
- b .L62
- .L63:
- ldr r1, .L64
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- str r3, [fp, #-16]
- ldr r1, .L64
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- str r3, [fp, #-20]
- ldr r1, .L64
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- str r3, [fp, #-24]
- ldr r3, [fp, #-16]
- ldr r2, [fp, #4]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-16]
- ldr r3, [fp, #-20]
- ldr r2, [fp, #8]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-20]
- ldr r3, [fp, #-24]
- ldr r2, [fp, #12]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-24]
- ldr r2, [fp, #20]
- sub r1, fp, #24
- sub r3, fp, #16
- mov r0, r3
- bl rotate2d
- ldr r2, [fp, #16]
- sub r1, fp, #24
- sub r3, fp, #20
- mov r0, r3
- bl rotate2d
- ldr r3, [fp, #-24]
- mov r1, r3
- ldr r0, .L64+4
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-12]
- ldr r3, [fp, #-16]
- ldr r1, [fp, #-12]
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- str r3, [fp, #-16]
- ldr r3, [fp, #-20]
- ldr r1, [fp, #-12]
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- str r3, [fp, #-20]
- ldr r3, [fp, #-16]
- mov r0, r3
- bl __aeabi_f2iz
- mov r3, r0
- add r3, r3, #160
- str r3, [fp, #-32]
- ldr r3, [fp, #-20]
- mov r0, r3
- bl __aeabi_f2iz
- mov r3, r0
- rsb r3, r3, #120
- str r3, [fp, #-28]
- ldr r3, [fp, #-8]
- lsl r3, r3, #3
- ldr r2, [fp, #24]
- add r3, r2, r3
- mov r2, r3
- sub r3, fp, #32
- ldm r3, {r0, r1}
- stm r2, {r0, r1}
- ldr r3, [fp, #-8]
- lsl r3, r3, #2
- ldr r2, [fp, #28]
- add r3, r2, r3
- ldr r2, [fp, #-24]
- str r2, [r3]
- ldr r3, [fp, #-8]
- add r3, r3, #1
- str r3, [fp, #-8]
- .L62:
- ldr r3, .L64+8
- ldr r3, [r3]
- ldr r2, [fp, #-8]
- cmp r2, r3
- blt .L63
- nop
- sub sp, fp, #4
- pop {fp, lr}
- add sp, sp, #16
- bx lr
- .L65:
- .align 2
- .L64:
- .word verts
- .word 1126170624
- .word numVerts
- .size calculate, .-calculate
- .align 2
- .global drawVerts
- .syntax unified
- .arm
- .fpu softvfp
- .type drawVerts, %function
- drawVerts:
- push {r4, r5, r6, fp, lr}
- add fp, sp, #16
- sub sp, sp, #20
- str r0, [fp, #-32]
- str r1, [fp, #-36]
- mov r3, #0
- str r3, [fp, #-24]
- b .L67
- .L68:
- ldr r3, [fp, #-24]
- lsl r3, r3, #3
- ldr r2, [fp, #-36]
- add r3, r2, r3
- ldr r4, [r3]
- ldr r3, [fp, #-24]
- lsl r3, r3, #3
- ldr r2, [fp, #-36]
- add r3, r2, r3
- ldr r5, [r3, #4]
- ldr r0, [fp, #-24]
- bl __aeabi_i2f
- mov r6, r0
- ldr r3, .L69
- ldr r3, [r3]
- mov r0, r3
- bl __aeabi_i2f
- mov r3, r0
- mov r1, r3
- mov r0, r6
- bl __aeabi_fdiv
- mov r3, r0
- ldr r1, .L69+4
- mov r0, r3
- bl __aeabi_fmul
- mov r3, r0
- mov r0, r3
- bl __aeabi_f2iz
- mov r3, r0
- add r3, r3, #200
- ldr r2, .L69+8
- lsl r3, r3, #1
- add r3, r2, r3
- ldrh r3, [r3]
- mov r2, r5
- mov r1, r4
- ldr r0, [fp, #-32]
- bl setPixel
- ldr r3, [fp, #-24]
- add r3, r3, #1
- str r3, [fp, #-24]
- .L67:
- ldr r3, .L69
- ldr r3, [r3]
- ldr r2, [fp, #-24]
- cmp r2, r3
- blt .L68
- nop
- sub sp, fp, #16
- pop {r4, r5, r6, fp, pc}
- .L70:
- .align 2
- .L69:
- .word numVerts
- .word 1112014848
- .word RGB332to565lookupTable
- .size drawVerts, .-drawVerts
- .global __aeabi_fcmpgt
- .align 2
- .global depthsort
- .syntax unified
- .arm
- .fpu softvfp
- .type depthsort, %function
- depthsort:
- push {r4, fp, lr}
- add fp, sp, #8
- sub sp, sp, #52
- str r0, [fp, #-56]
- str r1, [fp, #-60]
- mov r3, sp
- mov r4, r3
- ldr r3, .L81
- ldr ip, [r3]
- sub r3, ip, #1
- str r3, [fp, #-36]
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- lsl r3, r3, #2
- add r3, r3, #3
- add r3, r3, #7
- lsr r3, r3, #3
- lsl r3, r3, #3
- sub sp, sp, r3
- mov r3, sp
- add r3, r3, #3
- lsr r3, r3, #2
- lsl r3, r3, #2
- str r3, [fp, #-40]
- mov r3, #0
- str r3, [fp, #-24]
- b .L72
- .L73:
- ldr r1, .L81+4
- ldr r2, [fp, #-24]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r3, r3, #-1073741823
- lsl r3, r3, #2
- ldr r2, [fp, #-56]
- add r3, r2, r3
- ldr r0, [r3]
- ldr r1, .L81+4
- ldr r2, [fp, #-24]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- sub r3, r3, #-1073741823
- lsl r3, r3, #2
- ldr r2, [fp, #-56]
- add r3, r2, r3
- ldr r3, [r3]
- mov r1, r3
- bl __aeabi_fadd
- mov r3, r0
- mov r0, r3
- ldr r1, .L81+4
- ldr r2, [fp, #-24]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- sub r3, r3, #-1073741823
- lsl r3, r3, #2
- ldr r2, [fp, #-56]
- add r3, r2, r3
- ldr r3, [r3]
- mov r1, r3
- bl __aeabi_fadd
- mov r3, r0
- ldr r1, .L81+8
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- mov r1, r3
- ldr r3, [fp, #-40]
- ldr r2, [fp, #-24]
- str r1, [r3, r2, lsl #2]
- ldr r3, [fp, #-24]
- add r3, r3, #1
- str r3, [fp, #-24]
- .L72:
- ldr r3, .L81
- ldr r3, [r3]
- ldr r2, [fp, #-24]
- cmp r2, r3
- blt .L73
- mov r3, #0
- str r3, [fp, #-28]
- b .L74
- .L79:
- ldr r3, [fp, #-40]
- ldr r2, [fp, #-28]
- ldr r3, [r3, r2, lsl #2]
- str r3, [fp, #-20]
- ldr r3, [fp, #-28]
- str r3, [fp, #-16]
- ldr r3, [fp, #-28]
- add r3, r3, #1
- str r3, [fp, #-32]
- b .L75
- .L78:
- ldr r3, [fp, #-40]
- ldr r2, [fp, #-32]
- ldr r3, [r3, r2, lsl #2]
- str r3, [fp, #-52]
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-52]
- bl __aeabi_fcmpgt
- mov r3, r0
- cmp r3, #0
- beq .L76
- ldr r3, [fp, #-52]
- str r3, [fp, #-20]
- ldr r3, [fp, #-32]
- str r3, [fp, #-16]
- .L76:
- ldr r3, [fp, #-32]
- add r3, r3, #1
- str r3, [fp, #-32]
- .L75:
- ldr r3, .L81
- ldr r3, [r3]
- ldr r2, [fp, #-32]
- cmp r2, r3
- blt .L78
- ldr r3, [fp, #-40]
- ldr r2, [fp, #-28]
- ldr r3, [r3, r2, lsl #2]
- str r3, [fp, #-44]
- ldr r3, [fp, #-40]
- ldr r2, [fp, #-16]
- ldr r1, [r3, r2, lsl #2]
- ldr r3, [fp, #-40]
- ldr r2, [fp, #-28]
- str r1, [r3, r2, lsl #2]
- ldr r3, [fp, #-40]
- ldr r2, [fp, #-16]
- ldr r1, [fp, #-44]
- str r1, [r3, r2, lsl #2]
- ldr r3, [fp, #-28]
- lsl r3, r3, #2
- ldr r2, [fp, #-60]
- add r3, r2, r3
- ldr r3, [r3]
- str r3, [fp, #-48]
- ldr r3, [fp, #-16]
- lsl r3, r3, #2
- ldr r2, [fp, #-60]
- add r2, r2, r3
- ldr r3, [fp, #-28]
- lsl r3, r3, #2
- ldr r1, [fp, #-60]
- add r3, r1, r3
- ldr r2, [r2]
- str r2, [r3]
- ldr r3, [fp, #-16]
- lsl r3, r3, #2
- ldr r2, [fp, #-60]
- add r3, r2, r3
- ldr r2, [fp, #-48]
- str r2, [r3]
- ldr r3, [fp, #-28]
- add r3, r3, #1
- str r3, [fp, #-28]
- .L74:
- ldr r3, .L81
- ldr r3, [r3]
- ldr r2, [fp, #-28]
- cmp r2, r3
- blt .L79
- mov sp, r4
- nop
- sub sp, fp, #8
- pop {r4, fp, pc}
- .L82:
- .align 2
- .L81:
- .word numFaces
- .word faces
- .word 1077936128
- .size depthsort, .-depthsort
- .align 2
- .global computeNormals
- .syntax unified
- .arm
- .fpu softvfp
- .type computeNormals, %function
- computeNormals:
- push {r4, r5, fp, lr}
- add fp, sp, #12
- sub sp, sp, #64
- str r0, [fp, #-72]
- mov r3, #0
- str r3, [fp, #-16]
- b .L84
- .L85:
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- str r3, [fp, #-20]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- str r3, [fp, #-24]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- str r3, [fp, #-28]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- str r3, [fp, #-32]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- str r3, [fp, #-36]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- str r3, [fp, #-40]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- str r3, [fp, #-44]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- str r3, [fp, #-48]
- ldr r1, .L86
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L86+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- str r3, [fp, #-52]
- ldr r1, [fp, #-24]
- ldr r0, [fp, #-36]
- bl __aeabi_fsub
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-28]
- ldr r0, [fp, #-52]
- bl __aeabi_fsub
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-28]
- ldr r0, [fp, #-40]
- bl __aeabi_fsub
- mov r3, r0
- mov r5, r3
- ldr r1, [fp, #-24]
- ldr r0, [fp, #-48]
- bl __aeabi_fsub
- mov r3, r0
- mov r1, r3
- mov r0, r5
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-64]
- ldr r1, [fp, #-28]
- ldr r0, [fp, #-40]
- bl __aeabi_fsub
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-44]
- bl __aeabi_fsub
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-32]
- bl __aeabi_fsub
- mov r3, r0
- mov r5, r3
- ldr r1, [fp, #-28]
- ldr r0, [fp, #-52]
- bl __aeabi_fsub
- mov r3, r0
- mov r1, r3
- mov r0, r5
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-60]
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-32]
- bl __aeabi_fsub
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-24]
- ldr r0, [fp, #-48]
- bl __aeabi_fsub
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fmul
- mov r3, r0
- mov r4, r3
- ldr r1, [fp, #-24]
- ldr r0, [fp, #-36]
- bl __aeabi_fsub
- mov r3, r0
- mov r5, r3
- ldr r1, [fp, #-20]
- ldr r0, [fp, #-44]
- bl __aeabi_fsub
- mov r3, r0
- mov r1, r3
- mov r0, r5
- bl __aeabi_fmul
- mov r3, r0
- mov r1, r3
- mov r0, r4
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-56]
- sub r3, fp, #64
- ldm r3, {r0, r1, r2}
- bl absolute
- mov r2, r0
- ldr r3, [fp, #-64]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-64]
- sub r3, fp, #64
- ldm r3, {r0, r1, r2}
- bl absolute
- mov r2, r0
- ldr r3, [fp, #-60]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-60]
- sub r3, fp, #64
- ldm r3, {r0, r1, r2}
- bl absolute
- mov r2, r0
- ldr r3, [fp, #-56]
- mov r1, r2
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-56]
- ldr r2, [fp, #-16]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- mov r2, r3
- ldr r3, [fp, #-72]
- add r3, r3, r2
- mov ip, r3
- sub r3, fp, #64
- ldm r3, {r0, r1, r2}
- stm ip, {r0, r1, r2}
- ldr r3, [fp, #-16]
- add r3, r3, #1
- str r3, [fp, #-16]
- .L84:
- ldr r3, .L86+8
- ldr r3, [r3]
- ldr r2, [fp, #-16]
- cmp r2, r3
- blt .L85
- nop
- sub sp, fp, #12
- pop {r4, r5, fp, pc}
- .L87:
- .align 2
- .L86:
- .word faces
- .word verts
- .word numFaces
- .size computeNormals, .-computeNormals
- .global __aeabi_fcmplt
- .align 2
- .global backfaceCull
- .syntax unified
- .arm
- .fpu softvfp
- .type backfaceCull, %function
- backfaceCull:
- sub sp, sp, #16
- push {fp, lr}
- add fp, sp, #4
- sub sp, sp, #40
- str r0, [fp, #-32]
- add r0, fp, #8
- stm r0, {r1, r2, r3}
- mov r3, #0
- str r3, [fp, #-8]
- b .L89
- .L93:
- ldr r0, [fp, #8]
- ldr r1, .L96
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L96+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- mov r1, r3
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-28]
- ldr r0, [fp, #12]
- ldr r1, .L96
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L96+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- mov r1, r3
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-24]
- ldr r0, [fp, #16]
- ldr r1, .L96
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r2, r3, #1
- ldr r1, .L96+4
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- mov r1, r3
- bl __aeabi_fsub
- mov r3, r0
- str r3, [fp, #-20]
- sub r3, fp, #28
- ldm r3, {r0, r1, r2}
- bl absolute
- str r0, [fp, #-12]
- ldr r3, [fp, #-28]
- ldr r1, [fp, #-12]
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-28]
- ldr r3, [fp, #-24]
- ldr r1, [fp, #-12]
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-24]
- ldr r3, [fp, #-20]
- ldr r1, [fp, #-12]
- mov r0, r3
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-20]
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- mov r2, r3
- ldr r3, [fp, #-32]
- add r2, r3, r2
- mov ip, sp
- sub r3, fp, #24
- ldm r3, {r0, r1}
- stm ip, {r0, r1}
- ldr r3, [fp, #-28]
- ldm r2, {r0, r1, r2}
- bl dot
- str r0, [fp, #-16]
- mov r1, #0
- ldr r0, [fp, #-16]
- bl __aeabi_fcmplt
- mov r3, r0
- cmp r3, #0
- beq .L95
- ldr r3, [fp, #-8]
- ldr r2, [fp, #28]
- add r3, r2, r3
- mov r2, #0
- strb r2, [r3]
- b .L92
- .L95:
- ldr r3, [fp, #-8]
- ldr r2, [fp, #28]
- add r3, r2, r3
- mov r2, #1
- strb r2, [r3]
- .L92:
- ldr r3, [fp, #-8]
- add r3, r3, #1
- str r3, [fp, #-8]
- .L89:
- ldr r3, .L96+8
- ldr r3, [r3]
- ldr r2, [fp, #-8]
- cmp r2, r3
- blt .L93
- nop
- sub sp, fp, #4
- pop {fp, lr}
- add sp, sp, #16
- bx lr
- .L97:
- .align 2
- .L96:
- .word faces
- .word verts
- .word numFaces
- .size backfaceCull, .-backfaceCull
- .global __aeabi_dmul
- .align 2
- .global lightScene
- .syntax unified
- .arm
- .fpu softvfp
- .type lightScene, %function
- lightScene:
- push {fp, lr}
- add fp, sp, #4
- sub sp, sp, #40
- str r0, [fp, #-24]
- sub r0, fp, #36
- stm r0, {r1, r2, r3}
- ldr r0, [fp, #4]
- bl __aeabi_i2f
- mov r3, r0
- str r3, [fp, #-16]
- ldr r1, .L107
- ldr r0, [fp, #-16]
- bl __aeabi_fdiv
- mov r3, r0
- str r3, [fp, #-16]
- mov r3, #0
- str r3, [fp, #-8]
- b .L99
- .L104:
- ldr r2, [fp, #-8]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- mov r2, r3
- ldr r3, [fp, #-24]
- add r2, r3, r2
- mov ip, sp
- sub r3, fp, #32
- ldm r3, {r0, r1}
- stm ip, {r0, r1}
- ldr r3, [fp, #-36]
- ldm r2, {r0, r1, r2}
- bl dot
- mov r3, r0
- mov r0, r3
- bl __aeabi_f2d
- ldr r2, .L107+4
- ldr r3, .L107+8
- bl __aeabi_dmul
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-12]
- mov r1, #0
- ldr r0, [fp, #-12]
- bl __aeabi_fcmplt
- mov r3, r0
- cmp r3, #0
- beq .L100
- mov r3, #0
- str r3, [fp, #-12]
- .L100:
- ldr r1, [fp, #-16]
- ldr r0, [fp, #-12]
- bl __aeabi_fadd
- mov r3, r0
- str r3, [fp, #-12]
- mov r1, #1065353216
- ldr r0, [fp, #-12]
- bl __aeabi_fcmpgt
- mov r3, r0
- cmp r3, #0
- beq .L102
- mov r3, #1065353216
- str r3, [fp, #-12]
- .L102:
- ldr r3, [fp, #-8]
- lsl r3, r3, #2
- ldr r2, [fp, #8]
- add r3, r2, r3
- ldr r2, [fp, #-12]
- str r2, [r3]
- ldr r3, [fp, #-8]
- add r3, r3, #1
- str r3, [fp, #-8]
- .L99:
- ldr r3, .L107+12
- ldr r3, [r3]
- ldr r2, [fp, #-8]
- cmp r2, r3
- blt .L104
- nop
- sub sp, fp, #4
- pop {fp, pc}
- .L108:
- .align 2
- .L107:
- .word 1132396544
- .word -1717986918
- .word 1070176665
- .word numFaces
- .size lightScene, .-lightScene
- .align 2
- .global drawFaces
- .syntax unified
- .arm
- .fpu softvfp
- .type drawFaces, %function
- drawFaces:
- push {r4, r5, fp, lr}
- add fp, sp, #12
- sub sp, sp, #96
- str r0, [fp, #-80]
- str r1, [fp, #-84]
- str r2, [fp, #-88]
- str r3, [fp, #-92]
- mov r3, sp
- mov r4, r3
- ldr r3, .L114
- ldr ip, [r3]
- sub r3, ip, #1
- str r3, [fp, #-20]
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- lsl r3, r3, #2
- add r3, r3, #3
- add r3, r3, #7
- lsr r3, r3, #3
- lsl r3, r3, #3
- sub sp, sp, r3
- add r3, sp, #16
- add r3, r3, #3
- lsr r3, r3, #2
- lsl r3, r3, #2
- str r3, [fp, #-16]
- mov r3, #0
- str r3, [fp, #-28]
- b .L110
- .L111:
- ldr r3, [fp, #-16]
- ldr r2, [fp, #-28]
- ldr r1, [fp, #-28]
- str r1, [r3, r2, lsl #2]
- ldr r3, [fp, #-28]
- add r3, r3, #1
- str r3, [fp, #-28]
- .L110:
- ldr r3, .L114
- ldr r3, [r3]
- ldr r2, [fp, #-28]
- cmp r2, r3
- blt .L111
- ldr r3, [fp, #-16]
- mov r1, r3
- ldr r0, [fp, #-88]
- bl depthsort
- ldr r3, .L114
- ldr ip, [r3]
- mov r3, sp
- mov r5, r3
- sub r3, ip, #1
- str r3, [fp, #-32]
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #3
- orr r3, r3, r0, lsr #29
- lsl r2, r0, #3
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #3
- orr r3, r3, r0, lsr #29
- lsl r2, r0, #3
- mov r3, ip
- add r3, r3, #7
- lsr r3, r3, #3
- lsl r3, r3, #3
- sub sp, sp, r3
- add r3, sp, #16
- add r3, r3, #0
- str r3, [fp, #-36]
- ldr r3, [fp, #-36]
- str r3, [sp, #8]
- mov r2, sp
- add r3, fp, #16
- ldm r3, {r0, r1}
- stm r2, {r0, r1}
- add r3, fp, #4
- ldm r3, {r1, r2, r3}
- ldr r0, [fp, #-92]
- bl backfaceCull
- ldr r3, .L114
- ldr ip, [r3]
- sub r3, ip, #1
- str r3, [fp, #-40]
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- lsl r3, r3, #2
- add r3, r3, #3
- add r3, r3, #7
- lsr r3, r3, #3
- lsl r3, r3, #3
- sub sp, sp, r3
- add r3, sp, #16
- add r3, r3, #3
- lsr r3, r3, #2
- lsl r3, r3, #2
- str r3, [fp, #-44]
- mov r3, #0
- str r3, [fp, #-24]
- b .L112
- .L113:
- ldr r3, [fp, #-16]
- ldr r2, [fp, #-24]
- ldr r3, [r3, r2, lsl #2]
- str r3, [fp, #-48]
- ldr r1, .L114+4
- ldr r2, [fp, #-48]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- ldr r3, [r3]
- sub r3, r3, #-536870911
- lsl r3, r3, #3
- ldr r2, [fp, #-84]
- add r2, r2, r3
- sub r3, fp, #60
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- ldr r1, .L114+4
- ldr r2, [fp, #-48]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #4
- ldr r3, [r3]
- sub r3, r3, #-536870911
- lsl r3, r3, #3
- ldr r2, [fp, #-84]
- add r2, r2, r3
- sub r3, fp, #68
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- ldr r1, .L114+4
- ldr r2, [fp, #-48]
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r1, r3
- add r3, r3, #8
- ldr r3, [r3]
- sub r3, r3, #-536870911
- lsl r3, r3, #3
- ldr r2, [fp, #-84]
- add r2, r2, r3
- sub r3, fp, #76
- ldm r2, {r0, r1}
- stm r3, {r0, r1}
- ldr r3, [fp, #-80]
- ldr r0, [r3, #4]
- ldr r3, [fp, #-48]
- and r3, r3, #255
- lsl r3, r3, #1
- and r3, r3, #255
- mvn r3, r3
- and r1, r3, #255
- ldr r3, [fp, #-48]
- and r3, r3, #255
- lsl r3, r3, #1
- and r2, r3, #255
- mov r3, #255
- bl SDL_MapRGB
- mov r3, r0
- strh r3, [fp, #-50]
- ldrh r3, [fp, #-50]
- str r3, [sp, #12]
- add r2, sp, #4
- sub r3, fp, #76
- ldm r3, {r0, r1}
- stm r2, {r0, r1}
- ldr r3, [fp, #-64]
- str r3, [sp]
- ldr r3, [fp, #-68]
- sub r2, fp, #60
- ldm r2, {r1, r2}
- ldr r0, [fp, #-80]
- bl stdTriangle
- ldr r3, [fp, #-24]
- add r3, r3, #1
- str r3, [fp, #-24]
- .L112:
- ldr r3, .L114
- ldr r3, [r3]
- ldr r2, [fp, #-24]
- cmp r2, r3
- blt .L113
- mov sp, r5
- mov sp, r4
- nop
- sub sp, fp, #12
- pop {r4, r5, fp, pc}
- .L115:
- .align 2
- .L114:
- .word numFaces
- .word faces
- .size drawFaces, .-drawFaces
- .global __aeabi_dadd
- .align 2
- .global main
- .syntax unified
- .arm
- .fpu softvfp
- .type main, %function
- main:
- push {r4, r5, r6, r7, fp, lr}
- add fp, sp, #20
- sub sp, sp, #120
- mov r3, sp
- mov r7, r3
- mov r0, #32
- bl SDL_Init
- bl hwtype
- mov r3, r0
- cmp r3, #0
- beq .L117
- mov r2, #16
- b .L118
- .L117:
- mov r2, #8
- .L118:
- mov r3, #0
- mov r1, #240
- mov r0, #320
- bl SDL_SetVideoMode
- str r0, [fp, #-24]
- mov r3, #0
- str r3, [fp, #-88]
- mov r3, #0
- str r3, [fp, #-84]
- ldr r3, .L122
- str r3, [fp, #-80]
- mov r3, #0
- str r3, [fp, #-76]
- mov r3, #0
- str r3, [fp, #-72]
- ldr r3, .L122+4
- ldr ip, [r3]
- sub r3, ip, #1
- str r3, [fp, #-32]
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #6
- orr r3, r3, r0, lsr #26
- lsl r2, r0, #6
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #6
- orr r3, r3, r0, lsr #26
- lsl r2, r0, #6
- mov r3, ip
- lsl r3, r3, #3
- add r3, r3, #3
- add r3, r3, #7
- lsr r3, r3, #3
- lsl r3, r3, #3
- sub sp, sp, r3
- add r3, sp, #40
- add r3, r3, #3
- lsr r3, r3, #2
- lsl r3, r3, #2
- str r3, [fp, #-36]
- ldr r3, .L122+4
- ldr ip, [r3]
- sub r3, ip, #1
- str r3, [fp, #-40]
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r2, #0
- mov r3, #0
- lsl r3, r1, #5
- orr r3, r3, r0, lsr #27
- lsl r2, r0, #5
- mov r3, ip
- lsl r3, r3, #2
- add r3, r3, #3
- add r3, r3, #7
- lsr r3, r3, #3
- lsl r3, r3, #3
- sub sp, sp, r3
- add r3, sp, #40
- add r3, r3, #3
- lsr r3, r3, #2
- lsl r3, r3, #2
- str r3, [fp, #-44]
- ldr r3, .L122+8
- ldr ip, [r3]
- sub r3, ip, #1
- str r3, [fp, #-48]
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r4, r0
- mov r5, r1
- adds r2, r4, r4
- adc r3, r5, r5
- mov r4, r2
- mov r5, r3
- adds r4, r4, r0
- adc r5, r5, r1
- mov r0, #0
- mov r1, #0
- lsl r1, r5, #5
- orr r1, r1, r4, lsr #27
- lsl r0, r4, #5
- mov r4, r0
- mov r5, r1
- mov r2, ip
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- mov r3, ip
- mov r0, r3
- mov r1, #0
- mov r4, r0
- mov r5, r1
- adds r2, r4, r4
- adc r3, r5, r5
- mov r4, r2
- mov r5, r3
- adds r4, r4, r0
- adc r5, r5, r1
- mov r0, #0
- mov r1, #0
- lsl r1, r5, #5
- orr r1, r1, r4, lsr #27
- lsl r0, r4, #5
- mov r4, r0
- mov r5, r1
- mov r2, ip
- mov r3, r2
- lsl r3, r3, #1
- add r3, r3, r2
- lsl r3, r3, #2
- add r3, r3, #3
- add r3, r3, #7
- lsr r3, r3, #3
- lsl r3, r3, #3
- sub sp, sp, r3
- add r3, sp, #40
- add r3, r3, #3
- lsr r3, r3, #2
- lsl r3, r3, #2
- str r3, [fp, #-52]
- ldr r3, [fp, #-52]
- mov r0, r3
- bl computeNormals
- mov r3, #1
- strb r3, [fp, #-25]
- ldr r3, .L122+12
- str r3, [fp, #-56]
- mov r3, #0
- str r3, [fp, #-100]
- mov r3, #0
- str r3, [fp, #-96]
- ldr r3, .L122+16
- str r3, [fp, #-92]
- mov r3, #0
- str r3, [fp, #-60]
- mov r3, #0
- str r3, [fp, #-64]
- sub r3, fp, #100
- mov r0, r3
- bl normalize
- mov r3, #150
- str r3, [fp, #-68]
- b .L119
- .L120:
- ldr r3, [fp, #-24]
- ldr r0, [r3, #4]
- mov r3, #0
- mov r2, #0
- mov r1, #0
- bl SDL_MapRGB
- mov r3, r0
- mov r2, r3
- mov r1, #0
- ldr r0, [fp, #-24]
- bl SDL_FillRect
- ldr r3, [fp, #-36]
- ldr r2, [fp, #-44]
- str r2, [sp, #8]
- str r3, [sp, #4]
- ldr r3, [fp, #-72]
- str r3, [sp]
- sub r3, fp, #88
- ldm r3, {r0, r1, r2, r3}
- bl calculate
- ldr r4, [fp, #-36]
- ldr r5, [fp, #-44]
- ldr r6, [fp, #-52]
- ldr r3, [fp, #-68]
- str r3, [sp, #32]
- add ip, sp, #20
- sub r3, fp, #100
- ldm r3, {r0, r1, r2}
- stm ip, {r0, r1, r2}
- mov lr, sp
- sub ip, fp, #88
- ldmia ip!, {r0, r1, r2, r3}
- stmia lr!, {r0, r1, r2, r3}
- ldr r3, [ip]
- str r3, [lr]
- mov r3, r6
- mov r2, r5
- mov r1, r4
- ldr r0, [fp, #-24]
- bl drawFaces
- ldr r0, [fp, #-24]
- bl SDL_Flip
- ldr r3, [fp, #-72]
- mov r0, r3
- bl __aeabi_f2d
- ldr r2, .L122+20
- ldr r3, .L122+24
- bl __aeabi_dadd
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-72]
- ldr r3, [fp, #-76]
- mov r0, r3
- bl __aeabi_f2d
- ldr r2, .L122+20
- ldr r3, .L122+28
- bl __aeabi_dadd
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-76]
- ldr r3, [fp, #-56]
- eor r3, r3, #-2147483648
- mov r0, r3
- bl __aeabi_f2d
- mov r4, r0
- mov r5, r1
- ldr r3, [fp, #-72]
- mov r0, r3
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl sin
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r5
- bl __aeabi_dmul
- mov r2, r0
- mov r3, r1
- mov r4, r2
- mov r5, r3
- ldr r3, [fp, #-76]
- mov r0, r3
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl cos
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r5
- bl __aeabi_dmul
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-88]
- ldr r3, [fp, #-56]
- eor r3, r3, #-2147483648
- mov r0, r3
- bl __aeabi_f2d
- mov r4, r0
- mov r5, r1
- ldr r3, [fp, #-72]
- mov r0, r3
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl cos
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r5
- bl __aeabi_dmul
- mov r2, r0
- mov r3, r1
- mov r4, r2
- mov r5, r3
- ldr r3, [fp, #-76]
- mov r0, r3
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl cos
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r5
- bl __aeabi_dmul
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-80]
- ldr r3, [fp, #-56]
- eor r3, r3, #-2147483648
- mov r0, r3
- bl __aeabi_f2d
- mov r4, r0
- mov r5, r1
- ldr r3, [fp, #-76]
- mov r0, r3
- bl __aeabi_f2d
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl sin
- mov r2, r0
- mov r3, r1
- mov r0, r4
- mov r1, r5
- bl __aeabi_dmul
- mov r2, r0
- mov r3, r1
- mov r0, r2
- mov r1, r3
- bl __aeabi_d2f
- mov r3, r0
- str r3, [fp, #-84]
- ldr r0, .L122+32
- bl isKeyPressed
- mov r3, r0
- cmp r3, #0
- beq .L119
- mov r3, #0
- strb r3, [fp, #-25]
- .L119:
- ldrb r3, [fp, #-25]
- cmp r3, #0
- bne .L120
- bl SDL_Quit
- mov r3, #0
- mov sp, r7
- mov r0, r3
- sub sp, fp, #20
- pop {r4, r5, r6, r7, fp, pc}
- .L123:
- .align 2
- .L122:
- .word -1063256064
- .word numVerts
- .word numFaces
- .word 1084227584
- .word -1065353216
- .word 1202590843
- .word 1065646817
- .word 1064598241
- .word KEY_NSPIRE_ESC
- .size main, .-main
Advertisement
Add Comment
Please, Sign In to add comment