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

📄 intellisense.lst

📁 在ATMEL芯片下的USB底层程序的开发
💻 LST
📖 第 1 页 / 共 5 页
字号:
 0000001E  1C29      MOV         R1,R5 ; mask
 00000020  4A49      LDR         R2,=0x124
 00000022  1C20      MOV         R0,R4 ; pAic
 00000024  5081      STR         R1,[R0,R2]
 2702:     pAic->AIC_SVR[irq_id] = (unsigned int) newHandler ;
 00000026  9A01      LDR         R2,[R13,#0x4] ; newHandler
 00000028  1C31      MOV         R1,R6 ; irq_id
 0000002A  0089      LSL         R1,R1,#0x2 ; irq_id
 0000002C  1C20      MOV         R0,R4 ; pAic
 0000002E  1840      ADD         R0,R1 ; pAic
 00000030  3080      ADD         R0,#0x80
 00000032  6002      STR         R2,[R0,#0x0]
 2704:     pAic->AIC_SMR[irq_id] = src_type | priority  ;
 00000034  1C38      MOV         R0,R7 ; priority
 00000036  1C1A      MOV         R2,R3 ; src_type
ARM COMPILER V2.53,  intellisense                                                          31/10/07  15:43:15  PAGE 17  

 00000038  4302      ORR         R2,R0 ; priority
 0000003A  1C31      MOV         R1,R6 ; irq_id
 0000003C  0089      LSL         R1,R1,#0x2 ; irq_id
 0000003E  1C20      MOV         R0,R4 ; pAic
 00000040  5042      STR         R2,[R0,R1]
 2706:     pAic->AIC_ICCR = mask ;
 00000042  1C29      MOV         R1,R5 ; mask
 00000044  4A4A      LDR         R2,=0x128
 00000046  1C20      MOV         R0,R4 ; pAic
 00000048  5081      STR         R1,[R0,R2]
 2708:     return oldHandler;
 0000004A  9800      LDR         R0,[R13,#0x0] ; oldHandler
 0000004C            ; SCOPE-END
 2709: }
 0000004C  B001      ADD         R13,#0x4
 0000004E  BCF0      POP         {R4-R7}
 00000050  4770      BX          R14
 00000052          ENDP ; 'AT91F_AIC_ConfigureIt?T'


*** CODE SEGMENT '?PR?AT91F_AIC_DisableIt?T?intellisense':
 2727: __inline void AT91F_AIC_DisableIt (
 00000000  B410      PUSH        {R4}
 00000002  ---- Variable 'irq_id' assigned to Register 'R1' ----
 00000002  1C03      MOV         R3,R0 ; pAic
 00000004  ---- Variable 'pAic' assigned to Register 'R3' ----
 2730: {
 00000004            ; SCOPE-START
 2731:     unsigned int mask = 0x1 << irq_id;
 00000004  1C08      MOV         R0,R1 ; irq_id
 00000006  2401      MOV         R4,#0x1
 00000008  4084      LSL         R4,R0
 0000000A  ---- Variable 'mask' assigned to Register 'R4' ----
 2733:     pAic->AIC_IDCR = mask ;
 0000000A  1C21      MOV         R1,R4 ; mask
 0000000C  4A49      LDR         R2,=0x124
 0000000E  1C18      MOV         R0,R3 ; pAic
 00000010  5081      STR         R1,[R0,R2]
 2735:     pAic->AIC_ICCR = mask ;
 00000012  1C21      MOV         R1,R4 ; mask
 00000014  4A4A      LDR         R2,=0x128
 00000016  1C18      MOV         R0,R3 ; pAic
 00000018  5081      STR         R1,[R0,R2]
 0000001A            ; SCOPE-END
 2736: }
 0000001A  BC10      POP         {R4}
 0000001C  4770      BX          R14
 0000001E          ENDP ; 'AT91F_AIC_DisableIt?T'


*** CODE SEGMENT '?PR?AT91F_AIC_SetExceptionVector?T?intellisense':
 2764: __inline unsigned int  AT91F_AIC_SetExceptionVector (
 00000000  B410      PUSH        {R4}
 00000002  1C0C      MOV         R4,R1 ; Handler
 00000004  ---- Variable 'Handler' assigned to Register 'R4' ----
 00000004  1C03      MOV         R3,R0 ; pVector
 00000006  ---- Variable 'pVector' assigned to Register 'R3' ----
 2767: {
 00000006            ; SCOPE-START
 2768:     unsigned int oldVector = *pVector;
 00000006  1C18      MOV         R0,R3 ; pVector
 00000008  6802      LDR         R2,[R0,#0x0] ; pVector
 0000000A  ---- Variable 'oldVector' assigned to Register 'R2' ----
 2770:     if ((unsigned int) Handler == (unsigned int) AT91C_AIC_BRANCH_OPCODE)
 0000000A  1C20      MOV         R0,R4 ; Handler
 0000000C  4800      LDR         R1,=0xE51FFF20
 0000000E  4288      CMP         R0,R1
 00000010  D102      BNE         L_57  ; T=0x00000018
 2771:         *pVector = (unsigned int) AT91C_AIC_BRANCH_OPCODE;
 00000012  1C18      MOV         R0,R3 ; pVector
ARM COMPILER V2.53,  intellisense                                                          31/10/07  15:43:15  PAGE 18  

 00000014  6001      STR         R1,[R0,#0x0] ; pVector
 00000016  E00A      B           L_58  ; T=0x0000002E
 00000018          L_57:
 2773:         *pVector = (((((unsigned int) Handler) - ((unsigned int) pVector) - 0x8) >> 2) & 0x00FFFFFF) | 0xEA000000;
 00000018  1C18      MOV         R0,R3 ; pVector
 0000001A  1C21      MOV         R1,R4 ; Handler
 0000001C  1A09      SUB         R1,R0
 0000001E  3908      SUB         R1,#0x8
 00000020  0889      LSR         R1,R1,#0x2
 00000022  4800      LDR         R0,=0xFF000000
 00000024  4381      BIC         R1,R0
 00000026  4800      LDR         R0,=0xEA000000
 00000028  4301      ORR         R1,R0
 0000002A  1C18      MOV         R0,R3 ; pVector
 0000002C  6001      STR         R1,[R0,#0x0] ; pVector
 0000002E          L_58:
 2775:     return oldVector;
 0000002E  1C10      MOV         R0,R2 ; oldVector
 00000030            ; SCOPE-END
 2776: }
 00000030  BC10      POP         {R4}
 00000032  4770      BX          R14
 00000034          ENDP ; 'AT91F_AIC_SetExceptionVector?T'


*** CODE SEGMENT '?PR?main?intellisense':
   18: int main (void) {
 00000000  B500      PUSH        {LR}
 00000002  ---- Variable 'timecount' assigned to Register 'R4' ----
 00000002            ; SCOPE-START
   20:   AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA);  /* Enable Clock for PIO */
 00000002  2104      MOV         R1,#0x4
 00000004  4800      LDR         R0,=0xFFFFFC10
 00000006  6001      STR         R1,[R0,#0x0]
   21:   *AT91C_PIOA_PER=0x0000000F;               /*PIOA0-2作为I/O使用*/
 00000008  210F      MOV         R1,#0xF
 0000000A  4800      LDR         R0,=0xFFFFF400
 0000000C  6001      STR         R1,[R0,#0x0]
   22:   *AT91C_PIOA_OER=0x0000000F;               /*PIOA0-2输出使能 */
 0000000E  4800      LDR         R0,=0xFFFFF410
 00000010  6001      STR         R1,[R0,#0x0]
   23:   pPIO->PIO_PER  = LED_MASK;                /* Enable PIO for LED1..4  */
 00000012  4800      LDR         R0,=pPIO ; pPIO
 00000014  6800      LDR         R0,[R0,#0x0] ; pPIO
 00000016  6001      STR         R1,[R0,#0x0]
   24:   pPIO->PIO_OER  = LED_MASK;                /* LED1..4 are Outputs     */
 00000018  200F      MOV         R0,#0xF
 0000001A  4800      LDR         R1,=pPIO ; pPIO
 0000001C  6809      LDR         R1,[R1,#0x0] ; pPIO
 0000001E  6108      STR         R0,[R1,#0x10]
   25:   pPIO->PIO_SODR = LED_MASK;                /* Turn off LED's ("1")    */
 00000020  200F      MOV         R0,#0xF
 00000022  4800      LDR         R1,=pPIO ; pPIO
 00000024  6809      LDR         R1,[R1,#0x0] ; pPIO
 00000026  6308      STR         R0,[R1,#0x30]
   26:   data=0;
 00000028  2100      MOV         R1,#0x0
 0000002A  4800      LDR         R0,=data ; data
 0000002C  7001      STRB        R1,[R0,#0x0] ; data
   28:   USB_Init();                               /* USB Initialization */
 0000002E  F7FF      BL          USB_Init?T  ; T=0x0001  (1)
 00000030  FFE7      BL          USB_Init?T  ; T=0x0001  (2)
   29:   USB_Connect(TRUE);                        /* USB Connect */
 00000032  2001      MOV         R0,#0x1
 00000034  F7FF      BL          USB_Connect?T  ; T=0x0001  (1)
 00000036  FFE4      BL          USB_Connect?T  ; T=0x0001  (2)
   31:   while (1)                                /* Loop forever */
 00000038          L_62:
ARM COMPILER V2.53,  intellisense                                                          31/10/07  15:43:15  PAGE 19  

   33:       if(data==49)
 00000038  4800      LDR         R0,=data ; data
 0000003A  7800      LDRB        R0,[R0,#0x0] ; data
 0000003C  2831      CMP         R0,#0x31
 0000003E  D113      BNE         L_64  ; T=0x00000068
   35:          *AT91C_PIOA_CODR=0x00000001;                       /*开led1*/
 00000040  2101      MOV         R1,#0x1
 00000042  4800      LDR         R0,=0xFFFFF434
 00000044  6001      STR         R1,[R0,#0x0]
   36:         for(timecount=0;timecount<6000000;timecount++);
 00000046  2400      MOV         R4,#0x0
 00000048          L_65:
 00000048  3401      ADD         R4,#0x1
 0000004A  1C20      MOV         R0,R4 ; timecount
 0000004C  4800      LDR         R1,=0x5B8D80
 0000004E  4288      CMP         R0,R1 ; timecount
 00000050  DBFA      BLT         L_65  ; T=0x00000048
   37:         *AT91C_PIOA_SODR=0x00000001;                        /*关led1*/      
 00000052  2101      MOV         R1,#0x1
 00000054  4800      LDR         R0,=0xFFFFF430
 00000056  6001      STR         R1,[R0,#0x0]
   38:         USB_WriteEP (1, &data, 1);
 00000058  4800      LDR         R1,=data ; data
 0000005A  2201      MOV         R2,#0x1
 0000005C  1C10      MOV         R0,R2
 0000005E  F7FF      BL          USB_WriteEP?T  ; T=0x0001  (1)
 00000060  FFCF      BL          USB_WriteEP?T  ; T=0x0001  (2)
   39:         data=0;
 00000062  2100      MOV         R1,#0x0
 00000064  4800      LDR         R0,=data ; data
 00000066  7001      STRB        R1,[R0,#0x0] ; data
   40:     }
 00000068          L_64:
   42:     if(data==50)
 00000068  4800      LDR         R0,=data ; data
 0000006A  7800      LDRB        R0,[R0,#0x0] ; data
 0000006C  2832      CMP         R0,#0x32
 0000006E  D113      BNE         L_70  ; T=0x00000098
   44:         *AT91C_PIOA_CODR=0x00000002;                         /*开led2*/
 00000070  2102      MOV         R1,#0x2
 00000072  4800      LDR         R0,=0xFFFFF434
 00000074  6001      STR         R1,[R0,#0x0]
   45:         for(timecount=0;timecount<6000000;timecount++);
 00000076  2400      MOV         R4,#0x0
 00000078          L_71:
 00000078  3401      ADD         R4,#0x1
 0000007A  1C20      MOV         R0,R4 ; timecount
 0000007C  4800      LDR         R1,=0x5B8D80
 0000007E  4288      CMP         R0,R1 ; timecount
 00000080  DBFA      BLT         L_71  ; T=0x00000078
   46:         *AT91C_PIOA_SODR=0x00000002;
 00000082  2102      MOV         R1,#0x2
 00000084  4800      LDR         R0,=0xFFFFF430
 00000086  6001      STR         R1,[R0,#0x0]
   47:         USB_WriteEP (1, &data, 1);                          /*关led2*/
 00000088  4800      LDR         R1,=data ; data
 0000008A  2201      MOV         R2,#0x1
 0000008C  1C10      MOV         R0,R2
 0000008E  F7FF      BL          USB_WriteEP?T  ; T=0x0001  (1)
 00000090  FFB7      BL          USB_WriteEP?T  ; T=0x0001  (2)
   48:         data=0;
 00000092  2100      MOV         R1,#0x0
 00000094  4800      LDR         R0,=data ; data
 00000096  7001      STRB        R1,[R0,#0x0] ; data
   49:     }
 00000098          L_70:
ARM COMPILER V2.53,  intellisense                                                          31/10/07  15:43:15  PAGE 20  

   50:         if(data==51)
 00000098  4800      LDR         R0,=data ; data
 0000009A  7800      LDRB        R0,[R0,#0x0] ; data
 0000009C  2833      CMP         R0,#0x33
 0000009E  D1CB      BNE         L_62  ; T=0x00000038
   52:         *AT91C_PIOA_CODR=0x00000004;                        /*开led3*/
 000000A0  2104      MOV         R1,#0x4
 000000A2  4800      LDR         R0,=0xFFFFF434
 000000A4  6001      STR         R1,[R0,#0x0]
   53:         for(timecount=0;timecount<6000000;timecount++);
 000000A6  2400      MOV         R4,#0x0
 000000A8          L_77:
 000000A8  3401      ADD         R4,#0x1
 000000AA  1C20      MOV         R0,R4 ; timecount
 000000AC  4800      LDR         R1,=0x5B8D80
 000000AE  4288      CMP         R0,R1 ; timecount
 000000B0  DBFA      BLT         L_77  ; T=0x000000A8
   54:         *AT91C_PIOA_SODR=0x00000004;
 000000B2  2104      MOV         R1,#0x4
 000000B4  4800      LDR         R0,=0xFFFFF430
 000000B6  6001      STR         R1,[R0,#0x0]
   55:         USB_WriteEP (1, &data, 1);                          /*关led3*/
 000000B8  4800      LDR         R1,=data ; data
 000000BA  2201      MOV         R2,#0x1
 000000BC  1C10      MOV         R0,R2
 000000BE  F7FF      BL          USB_WriteEP?T  ; T=0x0001  (1)
 000000C0  FF9F      BL          USB_WriteEP?T  ; T=0x0001  (2)
   56:         data=0;
 000000C2  2100      MOV         R1,#0x0
 000000C4  4800      LDR         R0,=data ; data
 000000C6  7001      STRB        R1,[R0,#0x0] ; data
   58:   }
 000000C8  E7B6      B           L_62  ; T=0x00000038
 000000CA            ; SCOPE-END
   60: }
 000000CA  BC08      POP         {R3}
 000000CC  4718      BX          R3
 000000CE          ENDP ; 'main'



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


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

⌨️ 快捷键说明

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