⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zlg7290.lst

📁 基于ARM的电梯控制程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -