📄 zlg7290.lst
字号:
PUBLIC DelayMS?T
*** CODE SEGMENT '?PR?DelayMS?T?zlg7290':
57: void DelayMS(uint32 dly)
00000000 ---- Variable 'dly' assigned to Register 'R0' ----
58: { uint8 i;
00000000 ; SCOPE-START
60: for(; dly>0; dly--)
00000000 E00A B L_3 ; T=0x00000018
61: for(i=0; i<100; i++);
00000002 L_10:
00000002 2100 MOV R1,#0x0
00000004 ---- Variable 'i' assigned to Register 'R1' ----
00000004 E002 B L_8 ; T=0x0000000C
00000006 L_6:
00000006 3101 ADD R1,#0x1
00000008 0609 LSL R1,R1,#0x18
0000000A 0E09 LSR R1,R1,#0x18
0000000C L_8:
0000000C 1C0A MOV R2,R1 ; i
0000000E 0612 LSL R2,R2,#0x18 ; i
00000010 0E12 LSR R2,R2,#0x18
00000012 2A64 CMP R2,#0x64
00000014 DBF7 BLT L_6 ; T=0x00000006
00000016 3801 SUB R0,#0x1
00000018 L_3:
00000018 1C01 MOV R1,R0 ; dly
0000001A 2900 CMP R1,#0x0 ; dly
0000001C D8F1 BHI L_10 ; T=0x00000002
0000001E ; SCOPE-END
62: }
0000001E 4770 BX R14
00000020 ENDP ; 'DelayMS?T'
*** CODE SEGMENT '?PR?ZLG7290_SendData?T?zlg7290':
83: unsigned char ZLG7290_SendData(unsigned char SubAdd,unsigned char Data)
00000000 B502 PUSH {R1,LR}
00000002 1C01 MOV R1,R0 ; SubAdd
00000004 ---- Variable 'SubAdd' assigned to Register 'R1' ----
85: if(SubAdd>0x17) return 0;
00000004 1C08 MOV R0,R1 ; SubAdd
00000006 0600 LSL R0,R0,#0x18 ; SubAdd
00000008 0E00 LSR R0,R0,#0x18
0000000A 2817 CMP R0,#0x17
0000000C DD01 BLE L_11 ; T=0x00000012
0000000E 2000 MOV R0,#0x0
00000010 E00B B L_12 ; T=0x0000002A
00000012 L_11:
86: ISendStr(ZLG7290,SubAdd,&Data,1);
00000012 1C08 MOV R0,R1 ; SubAdd
00000014 0601 LSL R1,R0,#0x18 ; SubAdd
00000016 0E09 LSR R1,R1,#0x18
00000018 AA00 ADD R2,R13,#0x0
0000001A 2070 MOV R0,#0x70
0000001C 2301 MOV R3,#0x1
ARM COMPILER V2.40a, zlg7290 19/07/07 01:23:00 PAGE 5
0000001E F7FF BL ISendStr?T ; T=0x0001 (1)
00000020 FFEF BL ISendStr?T ; T=0x0001 (2)
87: DelayMS(10);
00000022 200A MOV R0,#0xA
00000024 F7FF BL DelayMS?T ; T=0x0001 (1)
00000026 FFEC BL DelayMS?T ; T=0x0001 (2)
88: return 1;
00000028 2001 MOV R0,#0x1
89: }
0000002A L_12:
0000002A B001 ADD R13,#0x4
0000002C BC08 POP {R3}
0000002E 4718 BX R3
00000030 ENDP ; 'ZLG7290_SendData?T'
*** CODE SEGMENT '?PR?ZLG7290_SendCmd?T?zlg7290':
109: unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2)
00000000 B500 PUSH {LR}
00000002 1C0A MOV R2,R1 ; Data2
00000004 ---- Variable 'Data2' assigned to Register 'R2' ----
00000004 1C03 MOV R3,R0 ; Data1
00000006 ---- Variable 'Data1' assigned to Register 'R3' ----
00000006 B081 SUB R13,#0x4
110: {
00000008 ; SCOPE-START
113: Data[0]=Data1;
00000008 1C19 MOV R1,R3 ; Data1
0000000A A800 ADD R0,R13,#0x0
0000000C 7001 STRB R1,[R0,#0x0] ; Data
114: Data[1]=Data2;
0000000E 1C11 MOV R1,R2 ; Data2
00000010 2001 MOV R0,#0x1
00000012 4468 ADD R0,R13
00000014 7001 STRB R1,[R0,#0x0] ; Data+1
115: ISendStr(ZLG7290,0x07,Data,2);
00000016 AA00 ADD R2,R13,#0x0
00000018 2070 MOV R0,#0x70
0000001A 2107 MOV R1,#0x7
0000001C 2302 MOV R3,#0x2
0000001E F7FF BL ISendStr?T ; T=0x0001 (1)
00000020 FFEF BL ISendStr?T ; T=0x0001 (2)
116: DelayMS(10);
00000022 200A MOV R0,#0xA
00000024 F7FF BL DelayMS?T ; T=0x0001 (1)
00000026 FFEC BL DelayMS?T ; T=0x0001 (2)
117: return 1;
00000028 2001 MOV R0,#0x1
0000002A ; SCOPE-END
118: }
0000002A B001 ADD R13,#0x4
0000002C BC08 POP {R3}
0000002E 4718 BX R3
00000030 ENDP ; 'ZLG7290_SendCmd?T'
*** CODE SEGMENT '?PR?ZLG7290_SendBuf?T?zlg7290':
136: void ZLG7290_SendBuf(unsigned char * disp_buf,unsigned char num)
00000000 B570 PUSH {R4-R6,LR}
00000002 1C0E MOV R6,R1 ; num
00000004 ---- Variable 'num' assigned to Register 'R6' ----
00000004 1C05 MOV R5,R0 ; disp_buf
00000006 ---- Variable 'disp_buf' assigned to Register 'R5' ----
137: {
00000006 ; SCOPE-START
140: for(i=0;i<num;i++)
00000006 2400 MOV R4,#0x0
00000008 ---- Variable 'i' assigned to Register 'R4' ----
00000008 E00B B L_16 ; T=0x00000022
0000000A L_17:
ARM COMPILER V2.40a, zlg7290 19/07/07 01:23:00 PAGE 6
142: ZLG7290_SendCmd(0x60+i,*disp_buf);
0000000A 1C20 MOV R0,R4 ; i
0000000C 0600 LSL R0,R0,#0x18 ; i
0000000E 0E00 LSR R0,R0,#0x18
00000010 3060 ADD R0,#0x60
00000012 1C29 MOV R1,R5 ; disp_buf
00000014 7809 LDRB R1,[R1,#0x0] ; disp_buf
00000016 F7FF BL ZLG7290_SendCmd?T ; T=0x0001 (1)
00000018 FFF3 BL ZLG7290_SendCmd?T ; T=0x0001 (2)
143: disp_buf++;
0000001A 3501 ADD R5,#0x1
144: }
0000001C 3401 ADD R4,#0x1
0000001E 0624 LSL R4,R4,#0x18
00000020 0E24 LSR R4,R4,#0x18
00000022 L_16:
00000022 1C30 MOV R0,R6 ; num
00000024 0601 LSL R1,R0,#0x18 ; num
00000026 0E09 LSR R1,R1,#0x18
00000028 1C20 MOV R0,R4 ; i
0000002A 0600 LSL R0,R0,#0x18 ; i
0000002C 0E00 LSR R0,R0,#0x18
0000002E 4288 CMP R0,R1
00000030 D3EB BCC L_17 ; T=0x0000000A
00000032 ; SCOPE-END
145: }
00000032 BC70 POP {R4-R6}
00000034 BC08 POP {R3}
00000036 4718 BX R3
00000038 ENDP ; 'ZLG7290_SendBuf?T'
*** CODE SEGMENT '?PR?ZLG7290_GetKey?T?zlg7290':
164: unsigned char ZLG7290_GetKey(void)
00000000 B500 PUSH {LR}
00000002 B081 SUB R13,#0x4
165: {
00000004 ; SCOPE-START
168: rece=0;
00000004 2100 MOV R1,#0x0
00000006 A800 ADD R0,R13,#0x0
00000008 7001 STRB R1,[R0,#0x0] ; rece
169: IRcvStr(ZLG7290,1,&rece,1);
0000000A AA00 ADD R2,R13,#0x0
0000000C 2070 MOV R0,#0x70
0000000E 2101 MOV R1,#0x1
00000010 2301 MOV R3,#0x1
00000012 F7FF BL IRcvStr?T ; T=0x0001 (1)
00000014 FFF5 BL IRcvStr?T ; T=0x0001 (2)
170: DelayMS(10);
00000016 200A MOV R0,#0xA
00000018 F7FF BL DelayMS?T ; T=0x0001 (1)
0000001A FFF2 BL DelayMS?T ; T=0x0001 (2)
171: return rece;
0000001C A800 ADD R0,R13,#0x0
0000001E 7800 LDRB R0,[R0,#0x0] ; rece
00000020 ; SCOPE-END
172: }
00000020 B001 ADD R13,#0x4
00000022 BC08 POP {R3}
00000024 4718 BX R3
00000026 ENDP ; 'ZLG7290_GetKey?T'
Module Information Static
----------------------------------
code size = ------
data size = ------
const size = ------
ARM COMPILER V2.40a, zlg7290 19/07/07 01:23:00 PAGE 7
End of Module Information.
ARM COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -