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

📄 test.lst

📁 ucos在avr上的移植代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000002D0   01E0                       LDI     R16,1
   \   000002D2   0093....                   STS     LWRD(UartTxCount),R16
    201                  UCR        |= 0x40;                             /* Enable UART transmit complete interrupt          */
   \   000002D6   569A                       SBI     LOW(10),LOW(6)
   \                     ?0043:
    202              }
    203              OS_EXIT_CRITICAL();
   \   000002D8   0A93                       DW      LWRD(37642)
   \   000002DA   0F91                       DW      LWRD(37135)
   \   000002DC   0FBF                       DW      LWRD(48911)
   \   000002DE   0991                       DW      LWRD(37129)
    204          }
   \   000002E0   2196                       ADIW    R28,LOW(1)
   \   000002E2   8991                       LD      R24,Y+
   \   000002E4   0895                       RET     
   \                     ;	c               	R24
   \                     PutString:
    205          
    206          
    207          void PutString (const char *s)
    208          {
   \   000002E6   ....                       RCALL   ?PROLOGUE2_L09
   \   000002E8   802F                       MOV     R24,R16
   \   000002EA   912F                       MOV     R25,R17
   \                     ?0045:
    209              while (*s != '\0') {
   \   000002EC   E82F                       MOV     R30,R24
   \   000002EE   F92F                       MOV     R31,R25
   \   000002F0   0081                       LD      R16,Z
   \   000002F2   0023                       TST     R16
   \   000002F4   29F0                       BREQ    ?0044
    210                  PutChar(*s++);
   \   000002F6   0191                       LD      R16,Z+
   \   000002F8   8E2F                       MOV     R24,R30
   \   000002FA   9F2F                       MOV     R25,R31
   \   000002FC   C4DF                       RCALL   PutChar
    211              }
    212          }
   \   000002FE   F6CF                       RJMP    ?0045
   \                     ?0044:
   \   00000300   E2E0                       LDI     R30,2
   \   00000302   ....                       RJMP    ?EPILOGUE_B2_L09
   \                     ;	s               	R24-R25
   \                     SPrintDec:
    213          
    214          
    215          void SPrintDec(char *s, INT16U x, INT8U n)
    216          {
   \   00000304   ....                       RCALL   ?PROLOGUE6_L09
   \   00000306   402E                       MOV     R4,R16
   \   00000308   512E                       MOV     R5,R17
   \   0000030A   842F                       MOV     R24,R20
   \   0000030C   952F                       MOV     R25,R21
   \   0000030E   BE81                       LDD     R27,Y+6
    217              INT8U i;
    218          
    219          
    220              s[n] = '\0';
   \   00000310   0027                       CLR     R16
   \   00000312   EB2F                       MOV     R30,R27
   \   00000314   FF27                       CLR     R31
   \   00000316   E40D                       ADD     R30,R4
   \   00000318   F11F                       ADC     R31,R17
   \   0000031A   0083                       ST      Z,R16
    221              for (i = 0; i < n; i++) {
   \   0000031C   AA27                       CLR     R26
   \                     ?0048:
   \   0000031E   AB17                       CP      R26,R27
   \   00000320   78F4                       BRCC    ?0047
    222                  s[n - i - 1] = '0' + (x % 10);
   \   00000322   22D0                       RCALL   ?0077
   \   00000324   405D                       SUBI    R20,LOW(208)
   \   00000326   EB2F                       MOV     R30,R27
   \   00000328   FF27                       CLR     R31
   \   0000032A   EA1B                       SUB     R30,R26
   \   0000032C   F040                       SBCI    R31,LOW(0)
   \   0000032E   E40D                       ADD     R30,R4
   \   00000330   F51D                       ADC     R31,R5
   \   00000332   3197                       SBIW    R30,LWRD(1)
   \   00000334   4083                       ST      Z,R20
    223                  x /= 10;
   \   00000336   18D0                       RCALL   ?0077
   \   00000338   802F                       MOV     R24,R16
   \   0000033A   912F                       MOV     R25,R17
   \   0000033C   A395                       INC     R26
   \   0000033E   EFCF                       RJMP    ?0048
   \                     ?0047:
    224              }
    225              for (i = 0; i < (n - 1); i++) {
   \   00000340   AA27                       CLR     R26
   \                     ?0052:
   \   00000342   0B2F                       MOV     R16,R27
   \   00000344   1127                       CLR     R17
   \   00000346   0150                       SUBI    R16,LOW(1)
   \   00000348   1040                       SBCI    R17,LOW(0)
   \   0000034A   3327                       CLR     R19
   \   0000034C   A017                       CP      R26,R16
   \   0000034E   3107                       CPC     R19,R17
   \   00000350   4CF4                       BRGE    ?0051
    226                  if (s[i] == '0') {
   \   00000352   0FD0                       RCALL   ?0082
   \   00000354   0081                       LD      R16,Z
   \   00000356   0033                       CPI     R16,LOW(48)
   \   00000358   29F4                       BRNE    ?0051
    227                      s[i] = ' ';
   \   0000035A   00E2                       LDI     R16,32
   \   0000035C   0AD0                       RCALL   ?0082
   \   0000035E   0083                       ST      Z,R16
    228                  } else {
    229                      break;
   \   00000360   A395                       INC     R26
    230                  }
    231              }
    232          }
   \   00000362   EFCF                       RJMP    ?0052
   \                     ?0051:
   \   00000364   E7E0                       LDI     R30,7
   \   00000366   ....                       RJMP    ?EPILOGUE_B6_L09
   \                     ?0077:
   \   00000368   082F                       MOV     R16,R24
   \   0000036A   192F                       MOV     R17,R25
   \   0000036C   4AE0                       LDI     R20,LOW(10)
   \   0000036E   50E0                       LDI     R21,0
   \   00000370   ....                       RJMP    ?US_DIVMOD_L02
   \                     ?0082:
   \   00000372   EA2F                       MOV     R30,R26
   \   00000374   FF27                       CLR     R31
   \   00000376   E40D                       ADD     R30,R4
   \   00000378   F51D                       ADC     R31,R5
   \   0000037A   0895                       RET     
   \                     ;	x               	R24-R25
   \                     ;	i               	R26
   \                     ;	n               	R27
   \                     ;	s               	R4-R5
   \                     random:
    233          
    234          
    235          INT8U random (INT8U n)
    236          {
   \   0000037C   ....                       RCALL   ?PROLOGUE2_L09
   \   0000037E   802F                       MOV     R24,R16
    237              RndNext = RndNext * 1103515245 + 12345;
   \   00000380   ....                       LDI     R30,LOW(RndNext)
   \   00000382   ....                       LDI     R31,(RndNext >> 8)
   \   00000384   0081                       LDD     R16,Z+0
   \   00000386   1181                       LDD     R17,Z+1
   \   00000388   2281                       LDD     R18,Z+2
   \   0000038A   3381                       LDD     R19,Z+3
   \   0000038C   4DE6                       LDI     R20,LOW(109)
   \   0000038E   5EE4                       LDI     R21,LOW(78)
   \   00000390   66EC                       LDI     R22,LOW(198)
   \   00000392   71E4                       LDI     R23,65
   \   00000394   ....                       RCALL   ?L_MUL_L03
   \   00000396   075C                       SUBI    R16,LOW(199)
   \   00000398   1F4C                       SBCI    R17,LOW(207)
   \   0000039A   2F4F                       SBCI    R18,LOW(255)
   \   0000039C   3F4F                       SBCI    R19,LOW(255)
   \   0000039E   ....                       LDI     R30,LOW(RndNext)
   \   000003A0   0083                       STD     Z+0,R16
   \   000003A2   1183                       STD     Z+1,R17
   \   000003A4   2283                       STD     Z+2,R18
   \   000003A6   3383                       STD     Z+3,R19
    238              return ((INT8U)(RndNext / 256) % (n + 1));
   \   000003A8   012F                       MOV     R16,R17
   \   000003AA   1127                       CLR     R17
   \   000003AC   9927                       CLR     R25
   \   000003AE   0196                       ADIW    R24,LWRD(1)
   \   000003B0   482F                       MOV     R20,R24
   \   000003B2   592F                       MOV     R21,R25
   \   000003B4   ....                       RCALL   ?SS_DIVMOD_L02
   \   000003B6   042F                       MOV     R16,R20
    239          }
   \   000003B8   E2E0                       LDI     R30,2
   \   000003BA   ....                       RJMP    ?EPILOGUE_B2_L09
   \                     ;	n               	R24
   \                     PutDec:
    240          
    241          
    242          void PutDec (INT8U x2)
    243          {
   \   000003BC   ....                       RCALL   ?PROLOGUE3_L09
   \   000003BE   802F                       MOV     R24,R16
    244              INT8U x0;
    245              INT8U x1;
    246          
    247          
    248              x0  = (x2 % 10);
   \   000003C0   4AE0                       LDI     R20,10
   \   000003C2   ....                       RCALL   ?UC_DIVMOD_L01
   \   000003C4   A42F                       MOV     R26,R20
    249              x2 /= 10;
   \   000003C6   14D0                       RCALL   ?0078
    250              x1  = (x2 % 10);
   \   000003C8   4AE0                       LDI     R20,10
   \   000003CA   ....                       RCALL   ?UC_DIVMOD_L01
   \   000003CC   942F                       MOV     R25,R20
    251              x2 /= 10;
   \   000003CE   10D0                       RCALL   ?0078
    252              if (x2) {
   \   000003D0   0023                       TST     R16
   \   000003D2   11F0                       BREQ    ?0059
    253                  PutChar(x2 + '0');
   \   000003D4   005D                       SUBI    R16,LOW(208)
   \   000003D6   57DF                       RCALL   PutChar
   \                     ?0059:
    254              }
    255              if (x1 || x2) {
   \   000003D8   9923                       TST     R25
   \   000003DA   11F4                       BRNE    ?0062
   \   000003DC   8823                       TST     R24
   \   000003DE   19F0                       BREQ    ?0061
   \                     ?0062:
    256                  PutChar(x1 + '0');
   \   000003E0   905D                       SUBI    R25,LOW(208)

⌨️ 快捷键说明

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