-
Notifications
You must be signed in to change notification settings - Fork 1
/
lcd.dis
6248 lines (6100 loc) · 248 KB
/
lcd.dis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
lcd_elf: file format elf32-littlearm
Disassembly of section .init:
00000000 <_start>:
0: ea000006 b 20 <Reset>
00000004 <HandleUndef>:
4: eafffffe b 4 <HandleUndef>
00000008 <HandleSWI>:
8: eafffffe b 8 <HandleSWI>
0000000c <HandlePrefetchAbort>:
c: eafffffe b c <HandlePrefetchAbort>
00000010 <HandleDataAbort>:
10: eafffffe b 10 <HandleDataAbort>
00000014 <HandleNotUsed>:
14: eafffffe b 14 <HandleNotUsed>
18: ea000016 b 78 <HandleIRQ>
0000001c <HandleFIQ>:
1c: eafffffe b 1c <HandleFIQ>
00000020 <Reset>:
20: e3a0da01 mov sp, #4096 ; 0x1000
24: eb000020 bl ac <disable_watch_dog>
28: eb000023 bl bc <clock_init>
2c: eb00003c bl 124 <memsetup>
30: eb000112 bl 480 <nand_init>
34: e3a00203 mov r0, #805306368 ; 0x30000000
38: e3a01a01 mov r1, #4096 ; 0x1000
3c: e3a02901 mov r2, #16384 ; 0x4000
40: eb000066 bl 1e0 <CopyCode2SDRAM>
44: eb00005a bl 1b4 <clean_bss>
48: e321f0d2 msr CPSR_c, #210 ; 0xd2
4c: e3a0d431 mov sp, #822083584 ; 0x31000000
50: e321f0df msr CPSR_c, #223 ; 0xdf
54: e3a0d30d mov sp, #872415232 ; 0x34000000
58: e59fe02c ldr lr, [pc, #44] ; 8c <.init+0x8c>
5c: e59ff02c ldr pc, [pc, #44] ; 90 <.init+0x90>
00000060 <ret_initled>:
60: e59fe02c ldr lr, [pc, #44] ; 94 <.init+0x94>
64: e59ff02c ldr pc, [pc, #44] ; 98 <.init+0x98>
00000068 <ret_initirq>:
68: e321f05f msr CPSR_c, #95 ; 0x5f
6c: e59fe028 ldr lr, [pc, #40] ; 9c <.init+0x9c>
70: e59ff028 ldr pc, [pc, #40] ; a0 <.init+0xa0>
00000074 <halt_loop>:
74: eafffffe b 74 <halt_loop>
00000078 <HandleIRQ>:
78: e24ee004 sub lr, lr, #4 ; 0x4
7c: e92d5fff stmdb sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
80: e59fe01c ldr lr, [pc, #28] ; a4 <.init+0xa4>
84: e59ff01c ldr pc, [pc, #28] ; a8 <.init+0xa8>
00000088 <int_return>:
88: e8fd9fff ldmia sp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, pc}^
8c: 00000060 andeq r0, r0, r0, rrx
90: 300000e0 andcc r0, r0, r0, ror #1
94: 00000068 andeq r0, r0, r8, rrx
98: 30000100 andcc r0, r0, r0, lsl #2
9c: 00000074 andeq r0, r0, r4, ror r0
a0: 30001a50 andcc r1, r0, r0, asr sl
a4: 00000088 andeq r0, r0, r8, lsl #1
a8: 30000004 andcc r0, r0, r4
000000ac <disable_watch_dog>:
ac: e3a02000 mov r2, #0 ; 0x0
b0: e3a03453 mov r3, #1392508928 ; 0x53000000
b4: e5832000 str r2, [r3]
b8: e1a0f00e mov pc, lr
000000bc <clock_init>:
bc: e3a0c313 mov ip, #1275068416 ; 0x4c000000
c0: e3a03003 mov r3, #3 ; 0x3
c4: e52de004 str lr, [sp, #-4]!
c8: e58c3014 str r3, [ip, #20]
cc: ee111f10 mrc 15, 0, r1, cr1, cr0, {0}
d0: e3811103 orr r1, r1, #-1073741824 ; 0xc0000000
d4: ee011f10 mcr 15, 0, r1, cr1, cr0, {0}
d8: e3a0e456 mov lr, #1442840576 ; 0x56000000
dc: e59e20b0 ldr r2, [lr, #176]
e0: e3a035c9 mov r3, #843055104 ; 0x32400000
e4: e3a015c9 mov r1, #843055104 ; 0x32400000
e8: e2833801 add r3, r3, #65536 ; 0x10000
ec: e2811801 add r1, r1, #65536 ; 0x10000
f0: e3a00917 mov r0, #376832 ; 0x5c000
f4: e1520003 cmp r2, r3
f8: e2800040 add r0, r0, #64 ; 0x40
fc: e2811002 add r1, r1, #2 ; 0x2
100: 0a000005 beq 11c <clock_init+0x60>
104: e59e30b0 ldr r3, [lr, #176]
108: e3a02917 mov r2, #376832 ; 0x5c000
10c: e2822012 add r2, r2, #18 ; 0x12
110: e1530001 cmp r3, r1
114: 158c2004 strne r2, [ip, #4]
118: 149df004 ldrne pc, [sp], #4
11c: e58c0004 str r0, [ip, #4]
120: e49df004 ldr pc, [sp], #4
00000124 <memsetup>:
124: e52de004 str lr, [sp, #-4]!
128: e3a01422 mov r1, #570425344 ; 0x22000000
12c: e3a0c723 mov ip, #9175040 ; 0x8c0000
130: e2811a11 add r1, r1, #69632 ; 0x11000
134: e3a03312 mov r3, #1207959552 ; 0x48000000
138: e3a02c07 mov r2, #1792 ; 0x700
13c: e28cce4f add ip, ip, #1264 ; 0x4f0
140: e3a00906 mov r0, #98304 ; 0x18000
144: e2811e11 add r1, r1, #272 ; 0x110
148: e2800005 add r0, r0, #5 ; 0x5
14c: e3a0e030 mov lr, #48 ; 0x30
150: e5831000 str r1, [r3]
154: e28cc004 add ip, ip, #4 ; 0x4
158: e5832004 str r2, [r3, #4]
15c: e5832008 str r2, [r3, #8]
160: e583200c str r2, [r3, #12]
164: e5832010 str r2, [r3, #16]
168: e5832014 str r2, [r3, #20]
16c: e5832018 str r2, [r3, #24]
170: e3a020b1 mov r2, #177 ; 0xb1
174: e583001c str r0, [r3, #28]
178: e5830020 str r0, [r3, #32]
17c: e583c024 str ip, [r3, #36]
180: e5832028 str r2, [r3, #40]
184: e583e02c str lr, [r3, #44]
188: e583e030 str lr, [r3, #48]
18c: e49df004 ldr pc, [sp], #4
00000190 <copy_steppingstone_to_sdram>:
190: e3a00eff mov r0, #4080 ; 0xff0
194: e280000f add r0, r0, #15 ; 0xf
198: e3a02000 mov r2, #0 ; 0x0
19c: e3a01203 mov r1, #805306368 ; 0x30000000
1a0: e4923004 ldr r3, [r2], #4
1a4: e1520000 cmp r2, r0
1a8: e4813004 str r3, [r1], #4
1ac: 9afffffb bls 1a0 <copy_steppingstone_to_sdram+0x10>
1b0: e1a0f00e mov pc, lr
000001b4 <clean_bss>:
1b4: e59f301c ldr r3, [pc, #28] ; 1d8 <.init+0x1d8>
1b8: e59f101c ldr r1, [pc, #28] ; 1dc <.init+0x1dc>
1bc: e1530001 cmp r3, r1
1c0: 21a0f00e movcs pc, lr
1c4: e3a02000 mov r2, #0 ; 0x0
1c8: e4832004 str r2, [r3], #4
1cc: e1530001 cmp r3, r1
1d0: 3afffffc bcc 1c8 <clean_bss+0x14>
1d4: e1a0f00e mov pc, lr
1d8: 300047a0 andcc r4, r0, r0, lsr #15
1dc: 3000488c andcc r4, r0, ip, lsl #17
000001e0 <CopyCode2SDRAM>:
1e0: e52de004 str lr, [sp, #-4]!
1e4: eb0000f2 bl 5b4 <nand_read>
1e8: e3a00000 mov r0, #0 ; 0x0
1ec: e49df004 ldr pc, [sp], #4
1f0: 43434700 cmpmi r3, #0 ; 0x0
1f4: 4728203a undefined
1f8: 2029554e eorcs r5, r9, lr, asr #10
1fc: 2e342e33 mrccs 14, 1, r2, cr4, cr3, {1}
200: 00000031 andeq r0, r0, r1, lsr r0
00000204 <s3c2410_nand_select_chip>:
204: e59f301c ldr r3, [pc, #28] ; 228 <.init+0x228>
208: e5931000 ldr r1, [r3]
20c: e5912000 ldr r2, [r1]
210: e3c22b02 bic r2, r2, #2048 ; 0x800
214: e5812000 str r2, [r1]
218: e3a03009 mov r3, #9 ; 0x9
21c: e2533001 subs r3, r3, #1 ; 0x1
220: 5afffffd bpl 21c <s3c2410_nand_select_chip+0x18>
224: e1a0f00e mov pc, lr
228: 00000660 andeq r0, r0, r0, ror #12
0000022c <s3c2410_write_cmd>:
22c: e59f3008 ldr r3, [pc, #8] ; 23c <.init+0x23c>
230: e5932000 ldr r2, [r3]
234: e5c20004 strb r0, [r2, #4]
238: e1a0f00e mov pc, lr
23c: 00000660 andeq r0, r0, r0, ror #12
00000240 <s3c2410_wait_idle>:
240: e59f302c ldr r3, [pc, #44] ; 274 <.init+0x274>
244: e5931000 ldr r1, [r3]
248: e5d12010 ldrb r2, [r1, #16]
24c: e3120001 tst r2, #1 ; 0x1
250: e2811010 add r1, r1, #16 ; 0x10
254: 11a0f00e movne pc, lr
258: e3a03009 mov r3, #9 ; 0x9
25c: e2533001 subs r3, r3, #1 ; 0x1
260: 5afffffd bpl 25c <s3c2410_wait_idle+0x1c>
264: e5d13000 ldrb r3, [r1]
268: e3130001 tst r3, #1 ; 0x1
26c: 0afffff9 beq 258 <s3c2410_wait_idle+0x18>
270: e1a0f00e mov pc, lr
274: 00000660 andeq r0, r0, r0, ror #12
00000278 <s3c2410_nand_deselect_chip>:
278: e59f3010 ldr r3, [pc, #16] ; 290 <.init+0x290>
27c: e5931000 ldr r1, [r3]
280: e5912000 ldr r2, [r1]
284: e3822b02 orr r2, r2, #2048 ; 0x800
288: e5812000 str r2, [r1]
28c: e1a0f00e mov pc, lr
290: 00000660 andeq r0, r0, r0, ror #12
00000294 <s3c2410_nand_reset>:
294: e52de004 str lr, [sp, #-4]!
298: ebffffd9 bl 204 <s3c2410_nand_select_chip>
29c: e3a000ff mov r0, #255 ; 0xff
2a0: ebffffe1 bl 22c <s3c2410_write_cmd>
2a4: ebffffe5 bl 240 <s3c2410_wait_idle>
2a8: e49de004 ldr lr, [sp], #4
2ac: eafffff1 b 278 <s3c2410_nand_deselect_chip>
000002b0 <s3c2410_write_addr>:
2b0: e59f3054 ldr r3, [pc, #84] ; 30c <.init+0x30c>
2b4: e5932000 ldr r2, [r3]
2b8: e5c20008 strb r0, [r2, #8]
2bc: e3a03009 mov r3, #9 ; 0x9
2c0: e2822008 add r2, r2, #8 ; 0x8
2c4: e2533001 subs r3, r3, #1 ; 0x1
2c8: 5afffffd bpl 2c4 <s3c2410_write_addr+0x14>
2cc: e1a034a0 mov r3, r0, lsr #9
2d0: e5c23000 strb r3, [r2]
2d4: e3a03009 mov r3, #9 ; 0x9
2d8: e2533001 subs r3, r3, #1 ; 0x1
2dc: 5afffffd bpl 2d8 <s3c2410_write_addr+0x28>
2e0: e1a038a0 mov r3, r0, lsr #17
2e4: e5c23000 strb r3, [r2]
2e8: e3a03009 mov r3, #9 ; 0x9
2ec: e2533001 subs r3, r3, #1 ; 0x1
2f0: 5afffffd bpl 2ec <s3c2410_write_addr+0x3c>
2f4: e1a03ca0 mov r3, r0, lsr #25
2f8: e5c23000 strb r3, [r2]
2fc: e3a03009 mov r3, #9 ; 0x9
300: e2533001 subs r3, r3, #1 ; 0x1
304: 5afffffd bpl 300 <s3c2410_write_addr+0x50>
308: e1a0f00e mov pc, lr
30c: 00000660 andeq r0, r0, r0, ror #12
00000310 <s3c2410_read_data>:
310: e59f3008 ldr r3, [pc, #8] ; 320 <.init+0x320>
314: e5932000 ldr r2, [r3]
318: e5d2000c ldrb r0, [r2, #12]
31c: e1a0f00e mov pc, lr
320: 00000660 andeq r0, r0, r0, ror #12
00000324 <s3c2440_nand_select_chip>:
324: e59f301c ldr r3, [pc, #28] ; 348 <.init+0x348>
328: e5931000 ldr r1, [r3]
32c: e5912004 ldr r2, [r1, #4]
330: e3c22002 bic r2, r2, #2 ; 0x2
334: e5812004 str r2, [r1, #4]
338: e3a03009 mov r3, #9 ; 0x9
33c: e2533001 subs r3, r3, #1 ; 0x1
340: 5afffffd bpl 33c <s3c2440_nand_select_chip+0x18>
344: e1a0f00e mov pc, lr
348: 0000065c andeq r0, r0, ip, asr r6
0000034c <s3c2440_write_cmd>:
34c: e59f3008 ldr r3, [pc, #8] ; 35c <.init+0x35c>
350: e5932000 ldr r2, [r3]
354: e5c20008 strb r0, [r2, #8]
358: e1a0f00e mov pc, lr
35c: 0000065c andeq r0, r0, ip, asr r6
00000360 <s3c2440_wait_idle>:
360: e59f302c ldr r3, [pc, #44] ; 394 <.init+0x394>
364: e5931000 ldr r1, [r3]
368: e5d12020 ldrb r2, [r1, #32]
36c: e3120001 tst r2, #1 ; 0x1
370: e2811020 add r1, r1, #32 ; 0x20
374: 11a0f00e movne pc, lr
378: e3a03009 mov r3, #9 ; 0x9
37c: e2533001 subs r3, r3, #1 ; 0x1
380: 5afffffd bpl 37c <s3c2440_wait_idle+0x1c>
384: e5d13000 ldrb r3, [r1]
388: e3130001 tst r3, #1 ; 0x1
38c: 0afffff9 beq 378 <s3c2440_wait_idle+0x18>
390: e1a0f00e mov pc, lr
394: 0000065c andeq r0, r0, ip, asr r6
00000398 <s3c2440_nand_deselect_chip>:
398: e59f3010 ldr r3, [pc, #16] ; 3b0 <.init+0x3b0>
39c: e5931000 ldr r1, [r3]
3a0: e5912004 ldr r2, [r1, #4]
3a4: e3822002 orr r2, r2, #2 ; 0x2
3a8: e5812004 str r2, [r1, #4]
3ac: e1a0f00e mov pc, lr
3b0: 0000065c andeq r0, r0, ip, asr r6
000003b4 <s3c2440_nand_reset>:
3b4: e52de004 str lr, [sp, #-4]!
3b8: ebffffd9 bl 324 <s3c2440_nand_select_chip>
3bc: e3a000ff mov r0, #255 ; 0xff
3c0: ebffffe1 bl 34c <s3c2440_write_cmd>
3c4: ebffffe5 bl 360 <s3c2440_wait_idle>
3c8: e49de004 ldr lr, [sp], #4
3cc: eafffff1 b 398 <s3c2440_nand_deselect_chip>
000003d0 <s3c2440_write_addr_lp>:
3d0: e59f3078 ldr r3, [pc, #120] ; 450 <.init+0x450>
3d4: e1a01a80 mov r1, r0, lsl #21
3d8: e5932000 ldr r2, [r3]
3dc: e1a01aa1 mov r1, r1, lsr #21
3e0: e3c13000 bic r3, r1, #0 ; 0x0
3e4: e5c2300c strb r3, [r2, #12]
3e8: e1a005a0 mov r0, r0, lsr #11
3ec: e282200c add r2, r2, #12 ; 0xc
3f0: e3a03009 mov r3, #9 ; 0x9
3f4: e2533001 subs r3, r3, #1 ; 0x1
3f8: 5afffffd bpl 3f4 <s3c2440_write_addr_lp+0x24>
3fc: e1a03421 mov r3, r1, lsr #8
400: e5c23000 strb r3, [r2]
404: e3a03009 mov r3, #9 ; 0x9
408: e2533001 subs r3, r3, #1 ; 0x1
40c: 5afffffd bpl 408 <s3c2440_write_addr_lp+0x38>
410: e5c20000 strb r0, [r2]
414: e3a03009 mov r3, #9 ; 0x9
418: e2533001 subs r3, r3, #1 ; 0x1
41c: 5afffffd bpl 418 <s3c2440_write_addr_lp+0x48>
420: e1a03440 mov r3, r0, asr #8
424: e5c23000 strb r3, [r2]
428: e3a03009 mov r3, #9 ; 0x9
42c: e2533001 subs r3, r3, #1 ; 0x1
430: 5afffffd bpl 42c <s3c2440_write_addr_lp+0x5c>
434: e1a03840 mov r3, r0, asr #16
438: e2033003 and r3, r3, #3 ; 0x3
43c: e5c23000 strb r3, [r2]
440: e3a03009 mov r3, #9 ; 0x9
444: e2533001 subs r3, r3, #1 ; 0x1
448: 5afffffd bpl 444 <s3c2440_write_addr_lp+0x74>
44c: e1a0f00e mov pc, lr
450: 0000065c andeq r0, r0, ip, asr r6
00000454 <s3c2440_read_data>:
454: e59f3008 ldr r3, [pc, #8] ; 464 <.init+0x464>
458: e5932000 ldr r2, [r3]
45c: e5d20010 ldrb r0, [r2, #16]
460: e1a0f00e mov pc, lr
464: 0000065c andeq r0, r0, ip, asr r6
00000468 <write_cmd>:
468: e52de004 str lr, [sp, #-4]!
46c: e59f3008 ldr r3, [pc, #8] ; 47c <.init+0x47c>
470: e1a0e00f mov lr, pc
474: e593f010 ldr pc, [r3, #16]
478: e49df004 ldr pc, [sp], #4
47c: 00000664 andeq r0, r0, r4, ror #12
00000480 <nand_init>:
480: e52de004 str lr, [sp, #-4]!
484: e3a0e456 mov lr, #1442840576 ; 0x56000000
488: e3a035c9 mov r3, #843055104 ; 0x32400000
48c: e3a015c9 mov r1, #843055104 ; 0x32400000
490: e2833801 add r3, r3, #65536 ; 0x10000
494: e2811801 add r1, r1, #65536 ; 0x10000
498: e3a0cb26 mov ip, #38912 ; 0x9800
49c: e2811002 add r1, r1, #2 ; 0x2
4a0: e59f00c8 ldr r0, [pc, #200] ; 570 <.init+0x570>
4a4: e28cc030 add ip, ip, #48 ; 0x30
4a8: e59e20b0 ldr r2, [lr, #176]
4ac: e1520003 cmp r2, r3
4b0: 0a00001a beq 520 <nand_init+0xa0>
4b4: e59e30b0 ldr r3, [lr, #176]
4b8: e1530001 cmp r3, r1
4bc: 0a000017 beq 520 <nand_init+0xa0>
4c0: e59f30ac ldr r3, [pc, #172] ; 574 <.init+0x574>
4c4: e5931000 ldr r1, [r3]
4c8: e59f00a0 ldr r0, [pc, #160] ; 570 <.init+0x570>
4cc: e3a03013 mov r3, #19 ; 0x13
4d0: e59f20a0 ldr r2, [pc, #160] ; 578 <.init+0x578>
4d4: e5813004 str r3, [r1, #4]
4d8: e59f309c ldr r3, [pc, #156] ; 57c <.init+0x57c>
4dc: e5802000 str r2, [r0]
4e0: e59f2098 ldr r2, [pc, #152] ; 580 <.init+0x580>
4e4: e5803004 str r3, [r0, #4]
4e8: e59f3094 ldr r3, [pc, #148] ; 584 <.init+0x584>
4ec: e5802008 str r2, [r0, #8]
4f0: e59f2090 ldr r2, [pc, #144] ; 588 <.init+0x588>
4f4: e580300c str r3, [r0, #12]
4f8: e59f308c ldr r3, [pc, #140] ; 58c <.init+0x58c>
4fc: e5802010 str r2, [r0, #16]
500: e59f2088 ldr r2, [pc, #136] ; 590 <.init+0x590>
504: e5803014 str r3, [r0, #20]
508: e3a03c03 mov r3, #768 ; 0x300
50c: e5802018 str r2, [r0, #24]
510: e5813000 str r3, [r1]
514: e1a0e00f mov lr, pc
518: e590f000 ldr pc, [r0]
51c: e49df004 ldr pc, [sp], #4
520: e59f306c ldr r3, [pc, #108] ; 594 <.init+0x594>
524: e5932000 ldr r2, [r3]
528: e59f3068 ldr r3, [pc, #104] ; 598 <.init+0x598>
52c: e582c000 str ip, [r2]
530: e59f2064 ldr r2, [pc, #100] ; 59c <.init+0x59c>
534: e5803000 str r3, [r0]
538: e59f3060 ldr r3, [pc, #96] ; 5a0 <.init+0x5a0>
53c: e5802004 str r2, [r0, #4]
540: e59f205c ldr r2, [pc, #92] ; 5a4 <.init+0x5a4>
544: e5803008 str r3, [r0, #8]
548: e59f3058 ldr r3, [pc, #88] ; 5a8 <.init+0x5a8>
54c: e580200c str r2, [r0, #12]
550: e59f2054 ldr r2, [pc, #84] ; 5ac <.init+0x5ac>
554: e5803010 str r3, [r0, #16]
558: e59f3050 ldr r3, [pc, #80] ; 5b0 <.init+0x5b0>
55c: e5802014 str r2, [r0, #20]
560: e5803018 str r3, [r0, #24]
564: e1a0e00f mov lr, pc
568: e590f000 ldr pc, [r0]
56c: e49df004 ldr pc, [sp], #4
570: 00000664 andeq r0, r0, r4, ror #12
574: 0000065c andeq r0, r0, ip, asr r6
578: 000003b4 streqh r0, [r0], -r4
57c: 00000360 andeq r0, r0, r0, ror #6
580: 00000324 andeq r0, r0, r4, lsr #6
584: 00000398 muleq r0, r8, r3
588: 0000034c andeq r0, r0, ip, asr #6
58c: 000003d0 ldreqd r0, [r0], -r0
590: 00000454 andeq r0, r0, r4, asr r4
594: 00000660 andeq r0, r0, r0, ror #12
598: 00000294 muleq r0, r4, r2
59c: 00000240 andeq r0, r0, r0, asr #4
5a0: 00000204 andeq r0, r0, r4, lsl #4
5a4: 00000278 andeq r0, r0, r8, ror r2
5a8: 0000022c andeq r0, r0, ip, lsr #4
5ac: 000002b0 streqh r0, [r0], -r0
5b0: 00000310 andeq r0, r0, r0, lsl r3
000005b4 <nand_read>:
5b4: e1a03a81 mov r3, r1, lsl #21
5b8: e1a03aa3 mov r3, r3, lsr #21
5bc: e3530000 cmp r3, #0 ; 0x0
5c0: e92d41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
5c4: e1a05001 mov r5, r1
5c8: e1a06000 mov r6, r0
5cc: e1a04002 mov r4, r2
5d0: 18bd81f0 ldmneia sp!, {r4, r5, r6, r7, r8, pc}
5d4: e1a03a82 mov r3, r2, lsl #21
5d8: e1a03aa3 mov r3, r3, lsr #21
5dc: e3530000 cmp r3, #0 ; 0x0
5e0: 18bd81f0 ldmneia sp!, {r4, r5, r6, r7, r8, pc}
5e4: e59f706c ldr r7, [pc, #108] ; 658 <.init+0x658>
5e8: e1a0e00f mov lr, pc
5ec: e597f008 ldr pc, [r7, #8]
5f0: e3a03009 mov r3, #9 ; 0x9
5f4: e2533001 subs r3, r3, #1 ; 0x1
5f8: 5afffffd bpl 5f4 <nand_read+0x40>
5fc: e0858004 add r8, r5, r4
600: e1550008 cmp r5, r8
604: 2a000010 bcs 64c <nand_read+0x98>
608: e3a00000 mov r0, #0 ; 0x0
60c: ebffff95 bl 468 <write_cmd>
610: e1a00005 mov r0, r5
614: e1a0e00f mov lr, pc
618: e597f014 ldr pc, [r7, #20]
61c: e3a00030 mov r0, #48 ; 0x30
620: ebffff90 bl 468 <write_cmd>
624: e1a0e00f mov lr, pc
628: e597f004 ldr pc, [r7, #4]
62c: e3a04b02 mov r4, #2048 ; 0x800
630: e1a0e00f mov lr, pc
634: e597f018 ldr pc, [r7, #24]
638: e2544001 subs r4, r4, #1 ; 0x1
63c: e4c60001 strb r0, [r6], #1
640: e2855001 add r5, r5, #1 ; 0x1
644: 1afffff9 bne 630 <nand_read+0x7c>
648: eaffffec b 600 <nand_read+0x4c>
64c: e1a0e00f mov lr, pc
650: e597f00c ldr pc, [r7, #12]
654: e8bd81f0 ldmia sp!, {r4, r5, r6, r7, r8, pc}
658: 00000664 andeq r0, r0, r4, ror #12
0000065c <s3c2440nand>:
65c: 4e000000 cdpmi 0, 0, cr0, cr0, cr0, {0}
00000660 <s3c2410nand>:
660: 4e000000 cdpmi 0, 0, cr0, cr0, cr0, {0}
00000664 <nand_chip>:
...
680: 43434700 cmpmi r3, #0 ; 0x0
684: 4728203a undefined
688: 2029554e eorcs r5, r9, lr, asr #10
68c: 2e342e33 mrccs 14, 1, r2, cr4, cr3, {1}
690: 00000031 andeq r0, r0, r1, lsr r0
Disassembly of section .text:
30000000 <Dummy_isr>:
30000000: eafffffe b 30000000 <Dummy_isr>
30000004 <IRQ_Handle>:
30000004: e3a0344a mov r3, #1241513984 ; 0x4a000000
30000008: e5930014 ldr r0, [r3, #20]
3000000c: e3500002 cmp r0, #2 ; 0x2
30000010: 0a000015 beq 3000006c <IRQ_Handle+0x68>
30000014: 9a000007 bls 30000038 <IRQ_Handle+0x34>
30000018: e3500005 cmp r0, #5 ; 0x5
3000001c: 0a000027 beq 300000c0 <IRQ_Handle+0xbc>
30000020: e3a03001 mov r3, #1 ; 0x1
30000024: e1a03013 mov r3, r3, lsl r0
30000028: e3a0244a mov r2, #1241513984 ; 0x4a000000
3000002c: e5823000 str r3, [r2]
30000030: e5823010 str r3, [r2, #16]
30000034: e1a0f00e mov pc, lr
30000038: e3500000 cmp r0, #0 ; 0x0
3000003c: 0a000017 beq 300000a0 <IRQ_Handle+0x9c>
30000040: e3500005 cmp r0, #5 ; 0x5
30000044: 1afffff5 bne 30000020 <IRQ_Handle+0x1c>
30000048: e3a02b02 mov r2, #2048 ; 0x800
3000004c: e3a03456 mov r3, #1442840576 ; 0x56000000
30000050: e58320a8 str r2, [r3, #168]
30000054: e3a03001 mov r3, #1 ; 0x1
30000058: e1a03013 mov r3, r3, lsl r0
3000005c: e3a0244a mov r2, #1241513984 ; 0x4a000000
30000060: e5823000 str r3, [r2]
30000064: e5823010 str r3, [r2, #16]
30000068: e1a0f00e mov pc, lr
3000006c: e3a03456 mov r3, #1442840576 ; 0x56000000
30000070: e5932054 ldr r2, [r3, #84]
30000074: e3822070 orr r2, r2, #112 ; 0x70
30000078: e5832054 str r2, [r3, #84]
3000007c: e5931054 ldr r1, [r3, #84]
30000080: e3c11020 bic r1, r1, #32 ; 0x20
30000084: e5831054 str r1, [r3, #84]
30000088: e3a03001 mov r3, #1 ; 0x1
3000008c: e1a03013 mov r3, r3, lsl r0
30000090: e3a0244a mov r2, #1241513984 ; 0x4a000000
30000094: e5823000 str r3, [r2]
30000098: e5823010 str r3, [r2, #16]
3000009c: e1a0f00e mov pc, lr
300000a0: e3a03456 mov r3, #1442840576 ; 0x56000000
300000a4: e5932054 ldr r2, [r3, #84]
300000a8: e3822070 orr r2, r2, #112 ; 0x70
300000ac: e5832054 str r2, [r3, #84]
300000b0: e5931054 ldr r1, [r3, #84]
300000b4: e3c11010 bic r1, r1, #16 ; 0x10
300000b8: e5831054 str r1, [r3, #84]
300000bc: eafffff1 b 30000088 <IRQ_Handle+0x84>
300000c0: e3a03456 mov r3, #1442840576 ; 0x56000000
300000c4: e5932054 ldr r2, [r3, #84]
300000c8: e3822070 orr r2, r2, #112 ; 0x70
300000cc: e5832054 str r2, [r3, #84]
300000d0: e5931054 ldr r1, [r3, #84]
300000d4: e3c11040 bic r1, r1, #64 ; 0x40
300000d8: e5831054 str r1, [r3, #84]
300000dc: eaffffd9 b 30000048 <IRQ_Handle+0x44>
300000e0 <init_led>:
300000e0: e3a03456 mov r3, #1442840576 ; 0x56000000
300000e4: e5932050 ldr r2, [r3, #80]
300000e8: e3c22c3f bic r2, r2, #16128 ; 0x3f00
300000ec: e5832050 str r2, [r3, #80]
300000f0: e5931050 ldr r1, [r3, #80]
300000f4: e3811c15 orr r1, r1, #5376 ; 0x1500
300000f8: e5831050 str r1, [r3, #80]
300000fc: e1a0f00e mov pc, lr
30000100 <init_irq>:
30000100: e3a01456 mov r1, #1442840576 ; 0x56000000
30000104: e5913050 ldr r3, [r1, #80]
30000108: e3c33033 bic r3, r3, #51 ; 0x33
3000010c: e5813050 str r3, [r1, #80]
30000110: e3a0044a mov r0, #1241513984 ; 0x4a000000
30000114: e5913050 ldr r3, [r1, #80]
30000118: e3833022 orr r3, r3, #34 ; 0x22
3000011c: e5813050 str r3, [r1, #80]
30000120: e5912060 ldr r2, [r1, #96]
30000124: e3c220c0 bic r2, r2, #192 ; 0xc0
30000128: e5812060 str r2, [r1, #96]
3000012c: e5913060 ldr r3, [r1, #96]
30000130: e3833080 orr r3, r3, #128 ; 0x80
30000134: e5813060 str r3, [r1, #96]
30000138: e59120a4 ldr r2, [r1, #164]
3000013c: e3c22b02 bic r2, r2, #2048 ; 0x800
30000140: e58120a4 str r2, [r1, #164]
30000144: e590300c ldr r3, [r0, #12]
30000148: e3c33001 bic r3, r3, #1 ; 0x1
3000014c: e580300c str r3, [r0, #12]
30000150: e5902008 ldr r2, [r0, #8]
30000154: e3c22025 bic r2, r2, #37 ; 0x25
30000158: e5802008 str r2, [r0, #8]
3000015c: e1a0f00e mov pc, lr
30000160 <uart0_init>:
30000160: e3a01456 mov r1, #1442840576 ; 0x56000000
30000164: e5913070 ldr r3, [r1, #112]
30000168: e38330a0 orr r3, r3, #160 ; 0xa0
3000016c: e5813070 str r3, [r1, #112]
30000170: e3a00205 mov r0, #1342177280 ; 0x50000000
30000174: e3a0200c mov r2, #12 ; 0xc
30000178: e3a03003 mov r3, #3 ; 0x3
3000017c: e3a0c000 mov ip, #0 ; 0x0
30000180: e5812078 str r2, [r1, #120]
30000184: e3a01005 mov r1, #5 ; 0x5
30000188: e242224b sub r2, r2, #-1342177276 ; 0xb0000004
3000018c: e5803000 str r3, [r0]
30000190: e2833215 add r3, r3, #1342177281 ; 0x50000001
30000194: e4831008 str r1, [r3], #8
30000198: e582c000 str ip, [r2]
3000019c: e583c000 str ip, [r3]
300001a0: e28332eb add r3, r3, #-1342177266 ; 0xb000000e
300001a4: e28cc063 add ip, ip, #99 ; 0x63
300001a8: e5803028 str r3, [r0, #40]
300001ac: e25cc001 subs ip, ip, #1 ; 0x1
300001b0: 5afffffd bpl 300001ac <uart0_init+0x4c>
300001b4: e1a0f00e mov pc, lr
300001b8 <putc>:
300001b8: e20000ff and r0, r0, #255 ; 0xff
300001bc: e3a02205 mov r2, #1342177280 ; 0x50000000
300001c0: e5923010 ldr r3, [r2, #16]
300001c4: e3130004 tst r3, #4 ; 0x4
300001c8: 0afffffc beq 300001c0 <putc+0x8>
300001cc: e5c20020 strb r0, [r2, #32]
300001d0: e1a0f00e mov pc, lr
300001d4 <getc>:
300001d4: e3a02205 mov r2, #1342177280 ; 0x50000000
300001d8: e5923010 ldr r3, [r2, #16]
300001dc: e3130001 tst r3, #1 ; 0x1
300001e0: 0afffffc beq 300001d8 <getc+0x4>
300001e4: e5d20024 ldrb r0, [r2, #36]
300001e8: e1a0f00e mov pc, lr
300001ec <isDigit>:
300001ec: e2400030 sub r0, r0, #48 ; 0x30
300001f0: e20000ff and r0, r0, #255 ; 0xff
300001f4: e3500009 cmp r0, #9 ; 0x9
300001f8: 83a00000 movhi r0, #0 ; 0x0
300001fc: 93a00001 movls r0, #1 ; 0x1
30000200: e1a0f00e mov pc, lr
30000204 <isLetter>:
30000204: e20000ff and r0, r0, #255 ; 0xff
30000208: e2403061 sub r3, r0, #97 ; 0x61
3000020c: e3530019 cmp r3, #25 ; 0x19
30000210: e2400041 sub r0, r0, #65 ; 0x41
30000214: e3a03001 mov r3, #1 ; 0x1
30000218: 9a000002 bls 30000228 <isLetter+0x24>
3000021c: e3500019 cmp r0, #25 ; 0x19
30000220: 83a03000 movhi r3, #0 ; 0x0
30000224: 93a03001 movls r3, #1 ; 0x1
30000228: e1a00003 mov r0, r3
3000022c: e1a0f00e mov pc, lr
30000230 <Lcd_Port_Init>:
30000230: e3a02caa mov r2, #43520 ; 0xaa00
30000234: e28220aa add r2, r2, #170 ; 0xaa
30000238: e3a01456 mov r1, #1442840576 ; 0x56000000
3000023c: e1822802 orr r2, r2, r2, lsl #16
30000240: e3e03000 mvn r3, #0 ; 0x0
30000244: e5813028 str r3, [r1, #40]
30000248: e59f0030 ldr r0, [pc, #48] ; 30000280 <.text+0x280>
3000024c: e5812020 str r2, [r1, #32]
30000250: e5813038 str r3, [r1, #56]
30000254: e5812030 str r2, [r1, #48]
30000258: e5913010 ldr r3, [r1, #16]
3000025c: e3c33003 bic r3, r3, #3 ; 0x3
30000260: e5813010 str r3, [r1, #16]
30000264: e5912010 ldr r2, [r1, #16]
30000268: e3822001 orr r2, r2, #1 ; 0x1
3000026c: e5812010 str r2, [r1, #16]
30000270: e5913014 ldr r3, [r1, #20]
30000274: e3c33001 bic r3, r3, #1 ; 0x1
30000278: e5813014 str r3, [r1, #20]
3000027c: ea00070b b 30001eb0 <puts>
30000280: 3000341c andcc r3, r0, ip, lsl r4
30000284 <Tft_Lcd_Init>:
30000284: e92d41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr}
30000288: e59f3094 ldr r3, [pc, #148] ; 30000324 <.text+0x324>
3000028c: e3a025c1 mov r2, #809500672 ; 0x30400000
30000290: e3a00010 mov r0, #16 ; 0x10
30000294: e3a0c505 mov ip, #20971520 ; 0x1400000
30000298: e3a0ea9d mov lr, #643072 ; 0x9d000
3000029c: e28cc90f add ip, ip, #245760 ; 0x3c000
300002a0: e28eec0f add lr, lr, #3840 ; 0xf00
300002a4: e3a04e47 mov r4, #1136 ; 0x470
300002a8: e3a0144d mov r1, #1291845632 ; 0x4d000000
300002ac: e5832000 str r2, [r3]
300002b0: e59f3070 ldr r3, [pc, #112] ; 30000328 <.text+0x328>
300002b4: e3a05c0b mov r5, #2816 ; 0xb00
300002b8: e3a06306 mov r6, #402653184 ; 0x18000000
300002bc: e5830000 str r0, [r3]
300002c0: e59f3064 ldr r3, [pc, #100] ; 3000032c <.text+0x32c>
300002c4: e2800c01 add r0, r0, #256 ; 0x100
300002c8: e3a07b7f mov r7, #130048 ; 0x1fc00
300002cc: e2844008 add r4, r4, #8 ; 0x8
300002d0: e28cc049 add ip, ip, #73 ; 0x49
300002d4: e28ee001 add lr, lr, #1 ; 0x1
300002d8: e59f2050 ldr r2, [pc, #80] ; 30000330 <.text+0x330>
300002dc: e5830000 str r0, [r3]
300002e0: e3a03028 mov r3, #40 ; 0x28
300002e4: e3a08e1e mov r8, #480 ; 0x1e0
300002e8: e2855002 add r5, r5, #2 ; 0x2
300002ec: e2866602 add r6, r6, #2097152 ; 0x200000
300002f0: e5814000 str r4, [r1]
300002f4: e2877c02 add r7, r7, #512 ; 0x200
300002f8: e581c004 str ip, [r1, #4]
300002fc: e581e008 str lr, [r1, #8]
30000300: e581300c str r3, [r1, #12]
30000304: e2433028 sub r3, r3, #40 ; 0x28
30000308: e5815010 str r5, [r1, #16]
3000030c: e5828000 str r8, [r2]
30000310: e5816014 str r6, [r1, #20]
30000314: e5817018 str r7, [r1, #24]
30000318: e581801c str r8, [r1, #28]
3000031c: e5813050 str r3, [r1, #80]
30000320: e8bd81f0 ldmia sp!, {r4, r5, r6, r7, r8, pc}
30000324: 30004870 andcc r4, r0, r0, ror r8
30000328: 30004878 andcc r4, r0, r8, ror r8
3000032c: 30004874 andcc r4, r0, r4, ror r8
30000330: 3000486c andcc r4, r0, ip, ror #16
30000334 <Lcd_Palette8Bit_Init>:
30000334: e92d4010 stmdb sp!, {r4, lr}
30000338: e3a0344d mov r3, #1291845632 ; 0x4d000000
3000033c: e59f4054 ldr r4, [pc, #84] ; 30000398 <.text+0x398>
30000340: e283eb01 add lr, r3, #1024 ; 0x400
30000344: e3a0c000 mov ip, #0 ; 0x0
30000348: e5932000 ldr r2, [r3]
3000034c: e3c22001 bic r2, r2, #1 ; 0x1
30000350: e5832000 str r2, [r3]
30000354: e5932010 ldr r2, [r3, #16]
30000358: e3822b02 orr r2, r2, #2048 ; 0x800
3000035c: e5832010 str r2, [r3, #16]
30000360: e1a0208c mov r2, ip, lsl #1
30000364: e0821004 add r1, r2, r4
30000368: e7d23004 ldrb r3, [r2, r4]
3000036c: e5d10001 ldrb r0, [r1, #1]
30000370: e28cc001 add ip, ip, #1 ; 0x1
30000374: e1833400 orr r3, r3, r0, lsl #8
30000378: e35c00ff cmp ip, #255 ; 0xff
3000037c: e48e3004 str r3, [lr], #4
30000380: dafffff6 ble 30000360 <Lcd_Palette8Bit_Init+0x2c>
30000384: e3a0244d mov r2, #1291845632 ; 0x4d000000
30000388: e5923000 ldr r3, [r2]
3000038c: e3833001 orr r3, r3, #1 ; 0x1
30000390: e5823000 str r3, [r2]
30000394: e8bd8010 ldmia sp!, {r4, pc}
30000398: 3000321c andcc r3, r0, ip, lsl r2
3000039c <ChangePalette>:
3000039c: e3a0244d mov r2, #1291845632 ; 0x4d000000
300003a0: e5923000 ldr r3, [r2]
300003a4: e3c33001 bic r3, r3, #1 ; 0x1
300003a8: e5823000 str r3, [r2]
300003ac: e1a02420 mov r2, r0, lsr #8
300003b0: e1a032a0 mov r3, r0, lsr #5
300003b4: e2033e7e and r3, r3, #2016 ; 0x7e0
300003b8: e2022b3e and r2, r2, #63488 ; 0xf800
300003bc: e1822003 orr r2, r2, r3
300003c0: e1a01c00 mov r1, r0, lsl #24
300003c4: e3a0c44d mov ip, #1291845632 ; 0x4d000000
300003c8: e1820da1 orr r0, r2, r1, lsr #27
300003cc: e28ccb01 add ip, ip, #1024 ; 0x400
300003d0: e3a030ff mov r3, #255 ; 0xff
300003d4: e2533001 subs r3, r3, #1 ; 0x1
300003d8: e48c0004 str r0, [ip], #4
300003dc: 5afffffc bpl 300003d4 <ChangePalette+0x38>
300003e0: e3a0244d mov r2, #1291845632 ; 0x4d000000
300003e4: e5923000 ldr r3, [r2]
300003e8: e3833001 orr r3, r3, #1 ; 0x1
300003ec: e5823000 str r3, [r2]
300003f0: e1a0f00e mov pc, lr
300003f4 <Lcd_PowerEnable>:
300003f4: e52de004 str lr, [sp, #-4]!
300003f8: e3a0c456 mov ip, #1442840576 ; 0x56000000
300003fc: e3a0e44d mov lr, #1291845632 ; 0x4d000000
30000400: e59c3060 ldr r3, [ip, #96]
30000404: e3833c03 orr r3, r3, #768 ; 0x300
30000408: e58c3060 str r3, [ip, #96]
3000040c: e59c3068 ldr r3, [ip, #104]
30000410: e3833010 orr r3, r3, #16 ; 0x10
30000414: e58c3068 str r3, [ip, #104]
30000418: e59e2010 ldr r2, [lr, #16]
3000041c: e3c22020 bic r2, r2, #32 ; 0x20
30000420: e1822280 orr r2, r2, r0, lsl #5
30000424: e58e2010 str r2, [lr, #16]
30000428: e59e3010 ldr r3, [lr, #16]
3000042c: e3c33008 bic r3, r3, #8 ; 0x8
30000430: e1833181 orr r3, r3, r1, lsl #3
30000434: e58e3010 str r3, [lr, #16]
30000438: e49df004 ldr pc, [sp], #4
3000043c <Lcd_EnvidOnOff>:
3000043c: e3a01456 mov r1, #1442840576 ; 0x56000000
30000440: e3500001 cmp r0, #1 ; 0x1
30000444: e52de004 str lr, [sp, #-4]!
30000448: e3a0244d mov r2, #1291845632 ; 0x4d000000
3000044c: e1a0e001 mov lr, r1
30000450: 0a000007 beq 30000474 <Lcd_EnvidOnOff+0x38>
30000454: e5923000 ldr r3, [r2]
30000458: e3c3337f bic r3, r3, #-67108863 ; 0xfc000001
3000045c: e3c337ff bic r3, r3, #66846720 ; 0x3fc0000
30000460: e5823000 str r3, [r2]
30000464: e5912014 ldr r2, [r1, #20]
30000468: e3c22001 bic r2, r2, #1 ; 0x1
3000046c: e5812014 str r2, [r1, #20]
30000470: e49df004 ldr pc, [sp], #4
30000474: e5923000 ldr r3, [r2]
30000478: e3833001 orr r3, r3, #1 ; 0x1
3000047c: e5823000 str r3, [r2]
30000480: e5912014 ldr r2, [r1, #20]
30000484: e3822001 orr r2, r2, #1 ; 0x1
30000488: e5812014 str r2, [r1, #20]
3000048c: e49df004 ldr pc, [sp], #4
30000490 <ClearScrWithTmpPlt>:
30000490: e3c004ff bic r0, r0, #-16777216 ; 0xff000000
30000494: e3800401 orr r0, r0, #16777216 ; 0x1000000
30000498: e3a0344d mov r3, #1291845632 ; 0x4d000000
3000049c: e5830050 str r0, [r3, #80]
300004a0: e1a0f00e mov pc, lr
300004a4 <DisableTmpPlt>:
300004a4: e3a02000 mov r2, #0 ; 0x0
300004a8: e3a0344d mov r3, #1291845632 ; 0x4d000000
300004ac: e5832050 str r2, [r3, #80]
300004b0: e1a0f00e mov pc, lr
300004b4 <PutPixel>:
300004b4: e92d4030 stmdb sp!, {r4, r5, lr}
300004b8: e59f3080 ldr r3, [pc, #128] ; 30000540 <.text+0x540>
300004bc: e1a0c002 mov ip, r2
300004c0: e1a05000 mov r5, r0
300004c4: e1a04001 mov r4, r1
300004c8: e593e000 ldr lr, [r3]
300004cc: e35e0008 cmp lr, #8 ; 0x8
300004d0: 0a000013 beq 30000524 <PutPixel+0x70>
300004d4: e1a03422 mov r3, r2, lsr #8
300004d8: e1a022a2 mov r2, r2, lsr #5
300004dc: e2033b3e and r3, r3, #63488 ; 0xf800
300004e0: e2022e7e and r2, r2, #2016 ; 0x7e0
300004e4: e1833002 orr r3, r3, r2
300004e8: e1a01c0c mov r1, ip, lsl #24
300004ec: e183cda1 orr ip, r3, r1, lsr #27
300004f0: e35e0010 cmp lr, #16 ; 0x10
300004f4: e1a0044c mov r0, ip, asr #8
300004f8: 18bd8030 ldmneia sp!, {r4, r5, pc}
300004fc: e59f3040 ldr r3, [pc, #64] ; 30000544 <.text+0x544>
30000500: e5932000 ldr r2, [r3]
30000504: e0215492 mla r1, r2, r4, r5
30000508: e59f3038 ldr r3, [pc, #56] ; 30000548 <.text+0x548>
3000050c: e5932000 ldr r2, [r3]
30000510: e1a01081 mov r1, r1, lsl #1
30000514: e0813002 add r3, r1, r2
30000518: e7c1c002 strb ip, [r1, r2]
3000051c: e5c30001 strb r0, [r3, #1]
30000520: e8bd8030 ldmia sp!, {r4, r5, pc}
30000524: e59f3018 ldr r3, [pc, #24] ; 30000544 <.text+0x544>
30000528: e5932000 ldr r2, [r3]
3000052c: e0210492 mla r1, r2, r4, r0
30000530: e59f3010 ldr r3, [pc, #16] ; 30000548 <.text+0x548>
30000534: e5932000 ldr r2, [r3]
30000538: e7c1c002 strb ip, [r1, r2]
3000053c: e8bd8030 ldmia sp!, {r4, r5, pc}
30000540: 30004878 andcc r4, r0, r8, ror r8
30000544: 3000486c andcc r4, r0, ip, ror #16
30000548: 30004870 andcc r4, r0, r0, ror r8
3000054c <DrawLine>:
3000054c: e92d4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr}
30000550: e0528000 subs r8, r2, r0
30000554: e1a05000 mov r5, r0
30000558: e1a0a002 mov sl, r2
3000055c: e1a06001 mov r6, r1
30000560: e1a09003 mov r9, r3
30000564: e59db024 ldr fp, [sp, #36]
30000568: e0617003 rsb r7, r1, r3
3000056c: 4a000023 bmi 30000600 <DrawLine+0xb4>
30000570: e3570000 cmp r7, #0 ; 0x0
30000574: ba000036 blt 30000654 <DrawLine+0x108>
30000578: e1580007 cmp r8, r7
3000057c: ba00000f blt 300005c0 <DrawLine+0x74>
30000580: e0883fa8 add r3, r8, r8, lsr #31
30000584: e1500002 cmp r0, r2
30000588: e04740c3 sub r4, r7, r3, asr #1
3000058c: c8bd8ff0 ldmgtia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
30000590: e1a00005 mov r0, r5
30000594: e1a01006 mov r1, r6
30000598: e1a0200b mov r2, fp
3000059c: e2855001 add r5, r5, #1 ; 0x1
300005a0: ebffffc3 bl 300004b4 <PutPixel>
300005a4: e3540000 cmp r4, #0 ; 0x0
300005a8: c0684004 rsbgt r4, r8, r4
300005ac: c2866001 addgt r6, r6, #1 ; 0x1
300005b0: e155000a cmp r5, sl
300005b4: e0844007 add r4, r4, r7
300005b8: dafffff4 ble 30000590 <DrawLine+0x44>
300005bc: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
300005c0: e1510003 cmp r1, r3
300005c4: e0873fa7 add r3, r7, r7, lsr #31
300005c8: e04840c3 sub r4, r8, r3, asr #1
300005cc: c8bd8ff0 ldmgtia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
300005d0: e1a00005 mov r0, r5
300005d4: e1a01006 mov r1, r6
300005d8: e1a0200b mov r2, fp
300005dc: e2866001 add r6, r6, #1 ; 0x1
300005e0: ebffffb3 bl 300004b4 <PutPixel>
300005e4: e3540000 cmp r4, #0 ; 0x0
300005e8: c0674004 rsbgt r4, r7, r4
300005ec: c2855001 addgt r5, r5, #1 ; 0x1
300005f0: e1560009 cmp r6, r9
300005f4: e0844008 add r4, r4, r8
300005f8: dafffff4 ble 300005d0 <DrawLine+0x84>
300005fc: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
30000600: e3570000 cmp r7, #0 ; 0x0
30000604: e2688000 rsb r8, r8, #0 ; 0x0
30000608: ba000044 blt 30000720 <DrawLine+0x1d4>
3000060c: e1580007 cmp r8, r7
30000610: ba000022 blt 300006a0 <DrawLine+0x154>
30000614: e0883fa8 add r3, r8, r8, lsr #31
30000618: e1500002 cmp r0, r2
3000061c: e04740c3 sub r4, r7, r3, asr #1
30000620: b8bd8ff0 ldmltia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
30000624: e1a00005 mov r0, r5
30000628: e1a01006 mov r1, r6
3000062c: e1a0200b mov r2, fp
30000630: e2455001 sub r5, r5, #1 ; 0x1
30000634: ebffff9e bl 300004b4 <PutPixel>
30000638: e3540000 cmp r4, #0 ; 0x0
3000063c: c0684004 rsbgt r4, r8, r4
30000640: c2866001 addgt r6, r6, #1 ; 0x1
30000644: e155000a cmp r5, sl
30000648: e0844007 add r4, r4, r7
3000064c: aafffff4 bge 30000624 <DrawLine+0xd8>
30000650: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
30000654: e2677000 rsb r7, r7, #0 ; 0x0
30000658: e1580007 cmp r8, r7
3000065c: ba00001f blt 300006e0 <DrawLine+0x194>
30000660: e0883fa8 add r3, r8, r8, lsr #31
30000664: e1500002 cmp r0, r2
30000668: e04740c3 sub r4, r7, r3, asr #1
3000066c: c8bd8ff0 ldmgtia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
30000670: e1a00005 mov r0, r5
30000674: e1a01006 mov r1, r6
30000678: e1a0200b mov r2, fp
3000067c: e2855001 add r5, r5, #1 ; 0x1
30000680: ebffff8b bl 300004b4 <PutPixel>
30000684: e3540000 cmp r4, #0 ; 0x0
30000688: c0684004 rsbgt r4, r8, r4
3000068c: c2466001 subgt r6, r6, #1 ; 0x1
30000690: e155000a cmp r5, sl
30000694: e0844007 add r4, r4, r7
30000698: dafffff4 ble 30000670 <DrawLine+0x124>
3000069c: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
300006a0: e1510003 cmp r1, r3
300006a4: e0873fa7 add r3, r7, r7, lsr #31
300006a8: e04840c3 sub r4, r8, r3, asr #1
300006ac: c8bd8ff0 ldmgtia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
300006b0: e1a00005 mov r0, r5
300006b4: e1a01006 mov r1, r6
300006b8: e1a0200b mov r2, fp
300006bc: e2866001 add r6, r6, #1 ; 0x1
300006c0: ebffff7b bl 300004b4 <PutPixel>
300006c4: e3540000 cmp r4, #0 ; 0x0
300006c8: c0674004 rsbgt r4, r7, r4
300006cc: c2455001 subgt r5, r5, #1 ; 0x1
300006d0: e1560009 cmp r6, r9
300006d4: e0844008 add r4, r4, r8
300006d8: dafffff4 ble 300006b0 <DrawLine+0x164>
300006dc: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
300006e0: e1510003 cmp r1, r3
300006e4: e0873fa7 add r3, r7, r7, lsr #31
300006e8: e04840c3 sub r4, r8, r3, asr #1
300006ec: b8bd8ff0 ldmltia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
300006f0: e1a00005 mov r0, r5
300006f4: e1a01006 mov r1, r6
300006f8: e1a0200b mov r2, fp
300006fc: e2466001 sub r6, r6, #1 ; 0x1
30000700: ebffff6b bl 300004b4 <PutPixel>
30000704: e3540000 cmp r4, #0 ; 0x0
30000708: c0674004 rsbgt r4, r7, r4
3000070c: c2855001 addgt r5, r5, #1 ; 0x1
30000710: e1560009 cmp r6, r9
30000714: e0844008 add r4, r4, r8
30000718: aafffff4 bge 300006f0 <DrawLine+0x1a4>
3000071c: e8bd8ff0 ldmia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
30000720: e2677000 rsb r7, r7, #0 ; 0x0
30000724: e1580007 cmp r8, r7
30000728: ba00000f blt 3000076c <DrawLine+0x220>
3000072c: e0883fa8 add r3, r8, r8, lsr #31
30000730: e1500002 cmp r0, r2
30000734: e04740c3 sub r4, r7, r3, asr #1
30000738: b8bd8ff0 ldmltia sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc}
3000073c: e1a00005 mov r0, r5