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

📄 uart.lst

📁 aduc7026裸机程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 00000024  FFED      BL          SendHex?T  ; T=0x0001  (2)
   31:     NewLine();
 00000026  F7FF      BL          NewLine?T  ; T=0x0001  (1)
 00000028  FFEB      BL          NewLine?T  ; T=0x0001  (2)
   32:     return tmp;
 0000002A  1C20      MOV         R0,R4 ; tmp
 0000002C  0600      LSL         R0,R0,#0x18 ; tmp
 0000002E  0E00      LSR         R0,R0,#0x18
 00000030            ; SCOPE-END
   33: }
 00000030  BC10      POP         {R4}
 00000032  BC08      POP         {R3}
 00000034  4718      BX          R3
 00000036          ENDP ; 'GetData?T'


*** CODE SEGMENT '?PR?SendHex?T?uart':
   39: void SendHex(int num)
 00000000  B500      PUSH        {LR}
 00000002  1C03      MOV         R3,R0 ; num
 00000004  ---- Variable 'num' assigned to Register 'R3' ----
ARM COMPILER V2.42,  uart                                                                  17/01/09  22:24:15  PAGE 5   

   41:     SendByte('0');
 00000004  2030      MOV         R0,#0x30
 00000006  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000008  FFFB      BL          SendByte?T  ; T=0x0001  (2)
   42:     SendByte('x');
 0000000A  2078      MOV         R0,#0x78
 0000000C  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 0000000E  FFF8      BL          SendByte?T  ; T=0x0001  (2)
   43:     SendByte(HexList[num/16]);
 00000010  1C18      MOV         R0,R3 ; num
 00000012  2110      MOV         R1,#0x10
 00000014  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000016  FFF4      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000018  1C08      MOV         R0,R1
 0000001A  4800      LDR         R1,=HexList ; HexList
 0000001C  5C08      LDRB        R0,[R1,R0]
 0000001E  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000020  FFEF      BL          SendByte?T  ; T=0x0001  (2)
   44:     SendByte(HexList[num%16]);
 00000022  1C18      MOV         R0,R3 ; num
 00000024  2110      MOV         R1,#0x10
 00000026  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000028  FFEB      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 0000002A  1C01      MOV         R1,R0
 0000002C  4800      LDR         R0,=HexList ; HexList
 0000002E  5C40      LDRB        R0,[R0,R1]
 00000030  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000032  FFE6      BL          SendByte?T  ; T=0x0001  (2)
   45: }
 00000034  BC08      POP         {R3}
 00000036  4718      BX          R3
 00000038          ENDP ; 'SendHex?T'


*** CODE SEGMENT '?PR?SendNum?T?uart':
   50: void SendNum(int num)
 00000000  B500      PUSH        {LR}
 00000002  1C03      MOV         R3,R0 ; num
 00000004  ---- Variable 'num' assigned to Register 'R3' ----
   52:     if(num >= 10){
 00000004  1C18      MOV         R0,R3 ; num
 00000006  280A      CMP         R0,#0xA ; num
 00000008  DB3B      BLT         L_10  ; T=0x00000082
   53:         if(num >=100){
 0000000A  1C18      MOV         R0,R3 ; num
 0000000C  2864      CMP         R0,#0x64 ; num
 0000000E  DB30      BLT         L_11  ; T=0x00000072
   54:             if(num >= 1000){
 00000010  1C18      MOV         R0,R3 ; num
 00000012  49FA      LDR         R1,=0x3E8
 00000014  4288      CMP         R0,R1 ; num
 00000016  DB1E      BLT         L_12  ; T=0x00000056
   55:                 if(num>= 10000){
 00000018  1C18      MOV         R0,R3 ; num
 0000001A  4800      LDR         R1,=0x2710
 0000001C  4288      CMP         R0,R1 ; num
 0000001E  DB0C      BLT         L_13  ; T=0x0000003A
   56:                     SendByte(num / 10000 + 0x30);
 00000020  1C18      MOV         R0,R3 ; num
 00000022  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000024  FFED      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000026  1C08      MOV         R0,R1
 00000028  3030      ADD         R0,#0x30
 0000002A  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 0000002C  FFE9      BL          SendByte?T  ; T=0x0001  (2)
   57:                     num = num % 10000;
 0000002E  1C18      MOV         R0,R3 ; num
 00000030  4800      LDR         R1,=0x2710
ARM COMPILER V2.42,  uart                                                                  17/01/09  22:24:15  PAGE 6   

 00000032  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000034  FFE5      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000036  1C01      MOV         R1,R0
 00000038  1C0B      MOV         R3,R1 ; num
   58:                 }
 0000003A          L_13:
   59:                 SendByte(num / 1000 + 0x30);
 0000003A  1C18      MOV         R0,R3 ; num
 0000003C  49FA      LDR         R1,=0x3E8
 0000003E  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000040  FFDF      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000042  1C08      MOV         R0,R1
 00000044  3030      ADD         R0,#0x30
 00000046  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000048  FFDB      BL          SendByte?T  ; T=0x0001  (2)
   60:                 num = num % 1000;
 0000004A  1C18      MOV         R0,R3 ; num
 0000004C  49FA      LDR         R1,=0x3E8
 0000004E  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000050  FFD7      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 00000052  1C01      MOV         R1,R0
 00000054  1C0B      MOV         R3,R1 ; num
   61:             }
 00000056          L_12:
   62:             SendByte(num / 100 + 0x30);
 00000056  1C18      MOV         R0,R3 ; num
 00000058  2164      MOV         R1,#0x64
 0000005A  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 0000005C  FFD1      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 0000005E  1C08      MOV         R0,R1
 00000060  3030      ADD         R0,#0x30
 00000062  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000064  FFCD      BL          SendByte?T  ; T=0x0001  (2)
   63:             num = num % 100;
 00000066  1C18      MOV         R0,R3 ; num
 00000068  2164      MOV         R1,#0x64
 0000006A  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 0000006C  FFC9      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 0000006E  1C01      MOV         R1,R0
 00000070  1C0B      MOV         R3,R1 ; num
   64:         }
 00000072          L_11:
   65:         SendByte(num / 10 + 0x30);
 00000072  1C18      MOV         R0,R3 ; num
 00000074  210A      MOV         R1,#0xA
 00000076  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000078  FFC3      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 0000007A  1C08      MOV         R0,R1
 0000007C  3030      ADD         R0,#0x30
 0000007E  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000080  FFBF      BL          SendByte?T  ; T=0x0001  (2)
   66:     }
 00000082          L_10:
   67:     SendByte(num % 10 + 0x30);  
 00000082  1C18      MOV         R0,R3 ; num
 00000084  210A      MOV         R1,#0xA
 00000086  F7FF      BL          ?C?SDIV?T  ; T=0x0001  (1) ; ?C?SDIV?T
 00000088  FFBB      BL          ?C?SDIV?T  ; T=0x0001  (2) ; ?C?SDIV?T
 0000008A  1C01      MOV         R1,R0
 0000008C  3030      ADD         R0,#0x30
 0000008E  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000090  FFB7      BL          SendByte?T  ; T=0x0001  (2)
   68: }
 00000092  BC08      POP         {R3}
 00000094  4718      BX          R3
 00000096          ENDP ; 'SendNum?T'

ARM COMPILER V2.42,  uart                                                                  17/01/09  22:24:15  PAGE 7   


*** CODE SEGMENT '?PR?PrintStr?T?uart':
   72: void PrintStr(unsigned char *p)
 00000000  B510      PUSH        {R4,LR}
 00000002  1C04      MOV         R4,R0 ; p
 00000004  ---- Variable 'p' assigned to Register 'R4' ----
   73: {
 00000004            ; SCOPE-START
   74:     int i = 0;
 00000004  2300      MOV         R3,#0x0
 00000006  ---- Variable 'i' assigned to Register 'R3' ----
   75:     while( p[i] != 0){
 00000006  E005      B           L_14  ; T=0x00000014
 00000008          L_16:
   76:         SendByte(p[i]);
 00000008  1C19      MOV         R1,R3 ; i
 0000000A  1C20      MOV         R0,R4 ; p
 0000000C  5C40      LDRB        R0,[R0,R1]
 0000000E  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000010  FFF7      BL          SendByte?T  ; T=0x0001  (2)
   77:         i++;
 00000012  3301      ADD         R3,#0x1
   78:     } 
 00000014          L_14:
 00000014  1C19      MOV         R1,R3 ; i
 00000016  1C20      MOV         R0,R4 ; p
 00000018  5C40      LDRB        R0,[R0,R1]
 0000001A  2800      CMP         R0,#0x0
 0000001C  D1F4      BNE         L_16  ; T=0x00000008
 0000001E            ; SCOPE-END
   79: }
 0000001E  BC10      POP         {R4}
 00000020  BC08      POP         {R3}
 00000022  4718      BX          R3
 00000024          ENDP ; 'PrintStr?T'


*** CODE SEGMENT '?PR?NewLine?T?uart':
   83: void NewLine()
 00000000  B500      PUSH        {LR}
   85:     SendByte(0x0D);
 00000002  200D      MOV         R0,#0xD
 00000004  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 00000006  FFFC      BL          SendByte?T  ; T=0x0001  (2)
   86:     SendByte(0x0A);
 00000008  200A      MOV         R0,#0xA
 0000000A  F7FF      BL          SendByte?T  ; T=0x0001  (1)
 0000000C  FFF9      BL          SendByte?T  ; T=0x0001  (2)
 0000000E  BC08      POP         {R3}
 00000010  4718      BX          R3
 00000012          ENDP ; 'NewLine?T'



Module Information          Static
----------------------------------
  code size            =    ------
  data size            =        16
  const size           =        31
End of Module Information.


ARM COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -