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

📄 lcd.lst

📁 NXP LPC2148 GPS Demo for Keil
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -