📄 lcd.lst
字号:
0000002C 6002 STR R2,[R0,#0x0] ; LCDdata
30: IO0DIR = 0xffffffff;
0000002E 4800 LDR R2,=0xFFFFFFFF
00000030 4800 LDR R0,=0xE0028008
00000032 6002 STR R2,[R0,#0x0]
31: E_CLR();
00000034 4800 LDR R0,=0xE002800C
00000036 6001 STR R1,[R0,#0x0]
ARM COMPILER V2.53, lcd 12/04/08 01:40:25 PAGE 5
33: return(LCDdata&0x00000080);
00000038 4800 LDR R0,=LCDdata ; LCDdata
0000003A 6800 LDR R0,[R0,#0x0] ; LCDdata
0000003C 2180 MOV R1,#0x80
0000003E 4008 AND R0,R1
34: }
00000040 4770 BX R14
00000042 ENDP ; 'readBF?T'
*** CODE SEGMENT '?PR?send_instr?T?lcd':
36: void send_instr(uint8 x){
00000000 B500 PUSH {LR}
00000002 1C03 MOV R3,R0 ; x
00000004 ---- Variable 'x' assigned to Register 'R3' ----
37: while(readBF());
00000004 L_12:
00000004 F7FF BL readBF?T ; T=0x0001 (1)
00000006 FFFC BL readBF?T ; T=0x0001 (2)
00000008 2800 CMP R0,#0x0 ; readBF?T
0000000A D1FB BNE L_12 ; T=0x00000004
38: RS_CLR();
0000000C 4800 LDR R1,=0x400
0000000E 4800 LDR R0,=0xE002800C
00000010 6001 STR R1,[R0,#0x0]
39: RW_CLR();
00000012 4800 LDR R1,=0x800
00000014 4800 LDR R0,=0xE002800C
00000016 6001 STR R1,[R0,#0x0]
40: IO0PIN = (IO0PIN & 0xffffff00) | x;
00000018 4800 LDR R0,=0xE0028000
0000001A 6801 LDR R1,[R0,#0x0]
0000001C 20FF MOV R0,#0xFF
0000001E 4381 BIC R1,R0
00000020 1C18 MOV R0,R3 ; x
00000022 0600 LSL R0,R0,#0x18 ; x
00000024 0E00 LSR R0,R0,#0x18
00000026 4301 ORR R1,R0
00000028 4800 LDR R0,=0xE0028000
0000002A 6001 STR R1,[R0,#0x0]
41: E_SET();
0000002C 4800 LDR R1,=0x1000
0000002E 4800 LDR R0,=0xE0028004
00000030 6001 STR R1,[R0,#0x0]
42: E_CLR();
00000032 4800 LDR R0,=0xE002800C
00000034 6001 STR R1,[R0,#0x0]
43: }
00000036 BC08 POP {R3}
00000038 4718 BX R3
0000003A ENDP ; 'send_instr?T'
*** CODE SEGMENT '?PR?writedat?T?lcd':
45: void writedat(uint8 dat){
00000000 B500 PUSH {LR}
00000002 1C03 MOV R3,R0 ; dat
00000004 ---- Variable 'dat' assigned to Register 'R3' ----
46: while(readBF());
00000004 L_16:
00000004 F7FF BL readBF?T ; T=0x0001 (1)
00000006 FFFC BL readBF?T ; T=0x0001 (2)
00000008 2800 CMP R0,#0x0 ; readBF?T
0000000A D1FB BNE L_16 ; T=0x00000004
47: RS_SET();
0000000C 4800 LDR R1,=0x400
0000000E 4800 LDR R0,=0xE0028004
00000010 6001 STR R1,[R0,#0x0]
48: RW_CLR();
00000012 4800 LDR R1,=0x800
ARM COMPILER V2.53, lcd 12/04/08 01:40:25 PAGE 6
00000014 4800 LDR R0,=0xE002800C
00000016 6001 STR R1,[R0,#0x0]
49: IO0PIN = (IO0PIN & 0xffffff00) | dat;;
00000018 4800 LDR R0,=0xE0028000
0000001A 6801 LDR R1,[R0,#0x0]
0000001C 20FF MOV R0,#0xFF
0000001E 4381 BIC R1,R0
00000020 1C18 MOV R0,R3 ; dat
00000022 0600 LSL R0,R0,#0x18 ; dat
00000024 0E00 LSR R0,R0,#0x18
00000026 4301 ORR R1,R0
00000028 4800 LDR R0,=0xE0028000
0000002A 6001 STR R1,[R0,#0x0]
50: E_SET();
0000002C 4800 LDR R1,=0x1000
0000002E 4800 LDR R0,=0xE0028004
00000030 6001 STR R1,[R0,#0x0]
53: E_CLR();
00000032 4800 LDR R0,=0xE002800C
00000034 6001 STR R1,[R0,#0x0]
54: }
00000036 BC08 POP {R3}
00000038 4718 BX R3
0000003A ENDP ; 'writedat?T'
*** CODE SEGMENT '?PR?initLCD?T?lcd':
56: void initLCD(void){
00000000 B500 PUSH {LR}
57: send_instr(0x01);
00000002 2001 MOV R0,#0x1
00000004 F7FF BL send_instr?T ; T=0x0001 (1)
00000006 FFFC BL send_instr?T ; T=0x0001 (2)
58: send_instr(0x30);
00000008 2030 MOV R0,#0x30
0000000A F7FF BL send_instr?T ; T=0x0001 (1)
0000000C FFF9 BL send_instr?T ; T=0x0001 (2)
59: send_instr(0x02);
0000000E 2002 MOV R0,#0x2
00000010 F7FF BL send_instr?T ; T=0x0001 (1)
00000012 FFF6 BL send_instr?T ; T=0x0001 (2)
60: send_instr(0x06);
00000014 2006 MOV R0,#0x6
00000016 F7FF BL send_instr?T ; T=0x0001 (1)
00000018 FFF3 BL send_instr?T ; T=0x0001 (2)
61: send_instr(0x0c);
0000001A 200C MOV R0,#0xC
0000001C F7FF BL send_instr?T ; T=0x0001 (1)
0000001E FFF0 BL send_instr?T ; T=0x0001 (2)
62: send_instr(0x80);
00000020 2080 MOV R0,#0x80
00000022 F7FF BL send_instr?T ; T=0x0001 (1)
00000024 FFED BL send_instr?T ; T=0x0001 (2)
63: }
00000026 BC08 POP {R3}
00000028 4718 BX R3
0000002A ENDP ; 'initLCD?T'
*** CODE SEGMENT '?PR?logo?T?lcd':
65: void logo(void)
00000000 B500 PUSH {LR}
67: send_instr(0x81);
00000002 2081 MOV R0,#0x81
00000004 F7FF BL send_instr?T ; T=0x0001 (1)
00000006 FFFC BL send_instr?T ; T=0x0001 (2)
68: for(i=0;i<14;i++){
00000008 2100 MOV R1,#0x0
0000000A 4800 LDR R0,=i ; i
0000000C 7001 STRB R1,[R0,#0x0] ; i
ARM COMPILER V2.53, lcd 12/04/08 01:40:25 PAGE 7
0000000E E00A B L_22 ; T=0x00000026
00000010 L_23:
69: writedat(name[0][i]);
00000010 4800 LDR R0,=i ; i
00000012 7800 LDRB R0,[R0,#0x0] ; i
00000014 1C01 MOV R1,R0
00000016 4800 LDR R0,=name ; name
00000018 5C40 LDRB R0,[R0,R1]
0000001A F7FF BL writedat?T ; T=0x0001 (1)
0000001C FFF1 BL writedat?T ; T=0x0001 (2)
70: }
0000001E 4800 LDR R0,=i ; i
00000020 7801 LDRB R1,[R0,#0x0] ; i
00000022 3101 ADD R1,#0x1
00000024 7001 STRB R1,[R0,#0x0] ; i
00000026 L_22:
00000026 4800 LDR R0,=i ; i
00000028 7800 LDRB R0,[R0,#0x0] ; i
0000002A 280E CMP R0,#0xE
0000002C DBF0 BLT L_23 ; T=0x00000010
71: send_instr(0xC0);
0000002E 20C0 MOV R0,#0xC0
00000030 F7FF BL send_instr?T ; T=0x0001 (1)
00000032 FFE6 BL send_instr?T ; T=0x0001 (2)
72: for(i=0;i<16;i++){
00000034 2100 MOV R1,#0x0
00000036 4800 LDR R0,=i ; i
00000038 7001 STRB R1,[R0,#0x0] ; i
0000003A E00A B L_27 ; T=0x00000052
0000003C L_28:
73: writedat(name[1][i]);
0000003C 4800 LDR R0,=i ; i
0000003E 7800 LDRB R0,[R0,#0x0] ; i
00000040 1C01 MOV R1,R0
00000042 4800 LDR R0,=name + 0x14 ; name+20
00000044 5C40 LDRB R0,[R0,R1]
00000046 F7FF BL writedat?T ; T=0x0001 (1)
00000048 FFDB BL writedat?T ; T=0x0001 (2)
74: }
0000004A 4800 LDR R0,=i ; i
0000004C 7801 LDRB R1,[R0,#0x0] ; i
0000004E 3101 ADD R1,#0x1
00000050 7001 STRB R1,[R0,#0x0] ; i
00000052 L_27:
00000052 4800 LDR R0,=i ; i
00000054 7800 LDRB R0,[R0,#0x0] ; i
00000056 2810 CMP R0,#0x10
00000058 DBF0 BLT L_28 ; T=0x0000003C
75: delay(100);
0000005A 2064 MOV R0,#0x64
0000005C F7FF BL delay?T ; T=0x0001 (1)
0000005E FFD0 BL delay?T ; T=0x0001 (2)
76: }
00000060 BC08 POP {R3}
00000062 4718 BX R3
00000064 ENDP ; 'logo?T'
Module Information Static
----------------------------------
code size = ------
data size = 11
const size = 71
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -