📄 dotled.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 919] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\SDRAM\dotled.o --depend=.\SDRAM\dotled.d --device=DARMSS9 --apcs=interwork -O0 -I..\Common\Inc -I.\Include -IC:\Keil\ARM\INC\Samsung --omf_browse=.\SDRAM\dotled.crf Source\Dotled.c]
ARM
AREA ||.text||, CODE, READONLY, ALIGN=2
write_L4094 PROC
;;;54 UINT8T i;
;;;55 Lstr_H;
000000 e3a02456 MOV r2,#0x56000000
000004 e5922014 LDR r2,[r2,#0x14]
000008 e3822010 ORR r2,r2,#0x10
00000c e3a03456 MOV r3,#0x56000000
000010 e5832014 STR r2,[r3,#0x14]
;;;56 for(i=0;i<16;i++)
000014 e3a01000 MOV r1,#0
000018 ea00001c B |L1.144|
|L1.28|
;;;57 {
;;;58 CLK_L;
00001c e3a02456 MOV r2,#0x56000000
000020 e5922034 LDR r2,[r2,#0x34]
000024 e59f3248 LDR r3,|L1.628|
000028 e0022003 AND r2,r2,r3
00002c e3a03456 MOV r3,#0x56000000
000030 e5832034 STR r2,[r3,#0x34]
;;;59 if(data & 0x01==1)
000034 e3100001 TST r0,#1
000038 0a000005 BEQ |L1.84|
;;;60 Ldata_H;
00003c e3a02456 MOV r2,#0x56000000
000040 e5922024 LDR r2,[r2,#0x24]
000044 e3822001 ORR r2,r2,#1
000048 e3a03456 MOV r3,#0x56000000
00004c e5832024 STR r2,[r3,#0x24]
000050 ea000005 B |L1.108|
|L1.84|
;;;61 else
;;;62 Ldata_L;
000054 e3a02456 MOV r2,#0x56000000
000058 e5922024 LDR r2,[r2,#0x24]
00005c e59f3214 LDR r3,|L1.632|
000060 e0022003 AND r2,r2,r3
000064 e3a03456 MOV r3,#0x56000000
000068 e5832024 STR r2,[r3,#0x24]
|L1.108|
;;;63 data = data >> 1;
00006c e59f2208 LDR r2,|L1.636|
000070 e00200c0 AND r0,r2,r0,ASR #1
;;;64 CLK_H;
000074 e3a02456 MOV r2,#0x56000000
000078 e5922034 LDR r2,[r2,#0x34]
00007c e3822b01 ORR r2,r2,#0x400
000080 e3a03456 MOV r3,#0x56000000
000084 e5832034 STR r2,[r3,#0x34]
000088 e2812001 ADD r2,r1,#1 ;56
00008c e20210ff AND r1,r2,#0xff ;56
|L1.144|
000090 e3510010 CMP r1,#0x10 ;56
000094 baffffe0 BLT |L1.28|
;;;65 }
;;;66 Lstr_L;
000098 e3a02456 MOV r2,#0x56000000
00009c e5922014 LDR r2,[r2,#0x14]
0000a0 e59f31d8 LDR r3,|L1.640|
0000a4 e0022003 AND r2,r2,r3
0000a8 e3a03456 MOV r3,#0x56000000
0000ac e5832014 STR r2,[r3,#0x14]
;;;67 }
0000b0 e12fff1e BX lr
;;;68
ENDP
write_R4094 PROC
;;;79 UINT8T i;
;;;80 Rstr_H;
0000b4 e3a02456 MOV r2,#0x56000000
0000b8 e5922064 LDR r2,[r2,#0x64]
0000bc e3822c01 ORR r2,r2,#0x100
0000c0 e3a03456 MOV r3,#0x56000000
0000c4 e5832064 STR r2,[r3,#0x64]
;;;81 for(i = 0; i < 8; i++)
0000c8 e3a01000 MOV r1,#0
0000cc ea00001b B |L1.320|
|L1.208|
;;;82 {
;;;83 CLK_L;
0000d0 e3a02456 MOV r2,#0x56000000
0000d4 e5922034 LDR r2,[r2,#0x34]
0000d8 e59f3194 LDR r3,|L1.628|
0000dc e0022003 AND r2,r2,r3
0000e0 e3a03456 MOV r3,#0x56000000
0000e4 e5832034 STR r2,[r3,#0x34]
;;;84 if(data & 0x01==1)
0000e8 e3100001 TST r0,#1
0000ec 0a000005 BEQ |L1.264|
;;;85 Rdata_H;
0000f0 e3a02456 MOV r2,#0x56000000
0000f4 e5922024 LDR r2,[r2,#0x24]
0000f8 e3822001 ORR r2,r2,#1
0000fc e3a03456 MOV r3,#0x56000000
000100 e5832024 STR r2,[r3,#0x24]
000104 ea000005 B |L1.288|
|L1.264|
;;;86 else
;;;87 Rdata_L;
000108 e3a02456 MOV r2,#0x56000000
00010c e5922024 LDR r2,[r2,#0x24]
000110 e59f3160 LDR r3,|L1.632|
000114 e0022003 AND r2,r2,r3
000118 e3a03456 MOV r3,#0x56000000
00011c e5832024 STR r2,[r3,#0x24]
|L1.288|
;;;88 data = data >> 1;
000120 e1a000c0 ASR r0,r0,#1
;;;89 CLK_H;
000124 e3a02456 MOV r2,#0x56000000
000128 e5922034 LDR r2,[r2,#0x34]
00012c e3822b01 ORR r2,r2,#0x400
000130 e3a03456 MOV r3,#0x56000000
000134 e5832034 STR r2,[r3,#0x34]
000138 e2812001 ADD r2,r1,#1 ;81
00013c e20210ff AND r1,r2,#0xff ;81
|L1.320|
000140 e3510008 CMP r1,#8 ;81
000144 baffffe1 BLT |L1.208|
;;;90 }
;;;91 Rstr_L;
000148 e3a02456 MOV r2,#0x56000000
00014c e5922064 LDR r2,[r2,#0x64]
000150 e59f312c LDR r3,|L1.644|
000154 e0022003 AND r2,r2,r3
000158 e3a03456 MOV r3,#0x56000000
00015c e5832064 STR r2,[r3,#0x64]
;;;92 }
000160 e12fff1e BX lr
;;;93
ENDP
led_char_disp PROC
;;;102 void led_char_disp(void)
;;;103 {
000164 e92d40f0 PUSH {r4-r7,lr}
;;;104 UINT8T i=0;
000168 e3a04000 MOV r4,#0
;;;105 UINT8T j=2,k=0;
00016c e3a05002 MOV r5,#2
000170 e3a06000 MOV r6,#0
;;;106 UINT16T x;
;;;107
;;;108 for(i = 0; i < 32; i++)
000174 e1a00000 MOV r0,r0
000178 ea000006 B |L1.408|
|L1.380|
;;;109 dispram[i] = ~l_display_array[i];
00017c e59f0104 LDR r0,|L1.648|
000180 e7d00004 LDRB r0,[r0,r4]
000184 e1e00000 MVN r0,r0
000188 e59f10fc LDR r1,|L1.652|
00018c e7c10004 STRB r0,[r1,r4]
000190 e2840001 ADD r0,r4,#1 ;108
000194 e20040ff AND r4,r0,#0xff ;108
|L1.408|
000198 e3540020 CMP r4,#0x20 ;108
00019c bafffff6 BLT |L1.380|
;;;110 i=0;
0001a0 e3a04000 MOV r4,#0
;;;111 while(i < 16)
0001a4 ea00002e B |L1.612|
|L1.424|
;;;112 {
;;;113 Rstr_L; // Enable RSTR
0001a8 e3a00456 MOV r0,#0x56000000
0001ac e5900064 LDR r0,[r0,#0x64]
0001b0 e59f10cc LDR r1,|L1.644|
0001b4 e0000001 AND r0,r0,r1
0001b8 e3a01456 MOV r1,#0x56000000
0001bc e5810064 STR r0,[r1,#0x64]
;;;114 Lstr_L; // Enable LSTR
0001c0 e3a00456 MOV r0,#0x56000000
0001c4 e5900014 LDR r0,[r0,#0x14]
0001c8 e59f10b0 LDR r1,|L1.640|
0001cc e0000001 AND r0,r0,r1
0001d0 e3a01456 MOV r1,#0x56000000
0001d4 e5810014 STR r0,[r1,#0x14]
;;;115 DisEn_Dataout; // lock the data
0001d8 e3a00456 MOV r0,#0x56000000
0001dc e5900014 LDR r0,[r0,#0x14]
0001e0 e59f10a8 LDR r1,|L1.656|
0001e4 e0000001 AND r0,r0,r1
0001e8 e3a01456 MOV r1,#0x56000000
0001ec e5810014 STR r0,[r1,#0x14]
;;;116
;;;117 do { // Write the row data
0001f0 e1a00000 MOV r0,r0
|L1.500|
;;;118 j--;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -