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

📄 main.lst

📁 ARM仿真案例
💻 LST
📖 第 1 页 / 共 2 页
字号:
     55          	IOSET=rs;
   \   00000008   ....               LDR      R0,??DataTable11  ;; 0xe0028004
   \   0000000A   8021               MOVS     R1,#+128
   \   0000000C   4900               LSLS     R1,R1,#+1        ;; #+256
   \   0000000E   0160               STR      R1,[R0, #+0]
     56          	IOCLR=rw;
   \   00000010   ....               LDR      R0,??DataTable15  ;; 0xe002800c
   \   00000012   4900               LSLS     R1,R1,#+1
   \   00000014   0160               STR      R1,[R0, #+0]
     57          	IOCLR=0xff;		//先清零
   \   00000016   FF21               MOVS     R1,#+255
   \   00000018   0160               STR      R1,[R0, #+0]
     58          	IOSET=dat;		//再送数
   \   0000001A   ....               LDR      R0,??DataTable11  ;; 0xe0028004
   \   0000001C   0460               STR      R4,[R0, #+0]
     59          	IOSET=en;
   \   0000001E   8021               MOVS     R1,#+128
   \   00000020   C900               LSLS     R1,R1,#+3        ;; #+1024
   \   00000022   0160               STR      R1,[R0, #+0]
     60          	IOCLR=en;
   \   00000024   ....               LDR      R0,??DataTable15  ;; 0xe002800c
   \   00000026   0160               STR      R1,[R0, #+0]
     61          }
   \   00000028   10BC               POP      {R4}
   \   0000002A   01BC               POP      {R0}
   \   0000002C   0047               BX       R0               ;; return
     62          
     63          /****************************************************************************
     64          * 名称:DisText()
     65          * 功能:显示文本函数
     66          ****************************************************************************/
     67          

   \                                 In segment CODE, align 4, keep-with-next
     68          void DisplayText(INT8U addr,INT8U *p)
     69          {
   \                     DisplayText:
   \   00000000   10B5               PUSH     {R4,LR}
   \   00000002   0C00               MOVS     R4,R1
     70          	WrOp(addr);
   \   00000004   ........           BL       WrOp
   \   00000008   02E0               B        ??DisplayText_0
     71          	while(*p !='\0')WrDat(*(p++));
   \                     ??DisplayText_1:
   \   0000000A   ........           BL       WrDat
   \   0000000E   641C               ADDS     R4,R4,#+1
   \                     ??DisplayText_0:
   \   00000010   2078               LDRB     R0,[R4, #+0]
   \   00000012   0028               CMP      R0,#+0
   \   00000014   F9D1               BNE      ??DisplayText_1
     72          }
   \   00000016   10BC               POP      {R4}
   \   00000018   01BC               POP      {R0}
   \   0000001A   0047               BX       R0               ;; return
     73          /****************************************************************************
     74          * 名称:main()
     75          * 功能:显示文本
     76          ****************************************************************************/
     77          

   \                                 In segment CODE, align 4, keep-with-next
     78           int main (void)
     79          {
   \                     main:
   \   00000000   00B5               PUSH     {LR}
     80              OSInit();
   \   00000002   ........           _BLF     OSInit,??OSInit??rT
     81          
     82              OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 3);
   \   00000006   0323               MOVS     R3,#+3
   \   00000008   044A               LDR      R2,??main_0      ;; TaskStartStk + 252
   \   0000000A   0021               MOVS     R1,#+0
   \   0000000C   0448               LDR      R0,??main_0+0x4  ;; TaskStart
   \   0000000E   ........           _BLF     OSTaskCreate,??OSTaskCreate??rT
     83              OSStart();
   \   00000012   ........           _BLF     OSStart,??OSStart??rT
     84          }
   \   00000016   0020               MOVS     R0,#+0
   \   00000018   02BC               POP      {R1}
   \   0000001A   0847               BX       R1               ;; return
   \                     ??main_0:
   \   0000001C   ........           DC32     TaskStartStk + 252
   \   00000020   ........           DC32     TaskStart
     85          /****************************************************************************
     86          * 名称:TaskStart()
     87          * 功能:任务
     88          ****************************************************************************/
     89          

   \                                 In segment CODE, align 4, keep-with-next
     90          void  TaskStart(void *pdata)
     91          {   pdata=pdata;
   \                     TaskStart:
   \   00000000   00B5               PUSH     {LR}
     92              BSP_Init();
   \   00000002   ........           _BLF     BSP_Init,??BSP_Init??rT
     93              WrOp(0x0c);
   \   00000006   0C20               MOVS     R0,#+12
   \   00000008   ........           BL       WrOp
     94              IODIR=0x7ff;		//设置为输出
   \   0000000C   ....               LDR      R0,??DataTable13  ;; 0xe0028008
   \   0000000E   ....               LDR      R1,??DataTable14  ;; 0x7ff
   \   00000010   0160               STR      R1,[R0, #+0]
     95              IOCLR=0x7ff;
   \   00000012   ....               LDR      R0,??DataTable15  ;; 0xe002800c
   \   00000014   0160               STR      R1,[R0, #+0]
     96              DisplayText(0x86,txt);
   \   00000016   0249               LDR      R1,??TaskStart_0  ;; txt
   \   00000018   8620               MOVS     R0,#+134
   \   0000001A   ........           BL       DisplayText
     97              while(1);
   \                     ??TaskStart_1:
   \   0000001E   FEE7               B        ??TaskStart_1
   \                     ??TaskStart_0:
   \   00000020   ........           DC32     txt
     98          }

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable11:
   \   00000000   048002E0           DC32     0xe0028004

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable13:
   \   00000000   088002E0           DC32     0xe0028008

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable14:
   \   00000000   FF070000           DC32     0x7ff

   \                                 In segment CODE, align 4, keep-with-next
   \                     ??DataTable15:
   \   00000000   0C8002E0           DC32     0xe002800c

   \                                 In segment DATA_ID, align 4, align-sorted
   \                     `?<Initializer for txt>`:
   \   00000000   68656C6C6F77       DC8 "helloworld"
   \              6F726C6400  
   \   0000000B   00                 DC8 0

   Maximum stack usage in bytes:

     Function    CSTACK
     --------    ------
     ChkBusy         4
     DisplayText     8
     TaskStart       4
     WrDat           8
     WrOp            8
     main            4


   Segment part sizes:

     Function/Label         Bytes
     --------------         -----
     _A_PINSEL0                4
     _A_IOPIN                  4
     _A_IOSET                  4
     _A_IODIR                  4
     _A_IOCLR                  4
     TaskStartStk            256
     txt                      12
     ChkBusy                  68
     WrOp                     44
     WrDat                    46
     DisplayText              28
     main                     36
     TaskStart                36
     ??DataTable11             4
     ??DataTable13             4
     ??DataTable14             4
     ??DataTable15             4
     ?<Initializer for txt>   12
      Others                 112

 
 362 bytes in segment CODE
  20 bytes in segment DATA_AN
  12 bytes in segment DATA_I
  12 bytes in segment DATA_ID
 256 bytes in segment DATA_Z
  24 bytes in segment INITTAB
 
 274 bytes of CODE  memory (+ 112 bytes shared)
  12 bytes of CONST memory
 268 bytes of DATA  memory (+  20 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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