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

📄 test.lst

📁 ATMEL ucos transplant of AVR
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \                     ?0041:
    216              }
    217              OS_EXIT_CRITICAL();
   \   0000030E   930A                       DW      LWRD(37642)
   \   00000310   910F                       DW      LWRD(37135)
   \   00000312   BF0F                       DW      LWRD(48911)
   \   00000314   9109                       DW      LWRD(37129)
    218          }
   \   00000316   9621                       ADIW    R28,LOW(1)
   \   00000318   9189                       LD      R24,Y+
   \   0000031A   9508                       RET     
   \                     ;	c               	R24
   \                     PutString:
    219          
    220          
    221          void PutString (const char *s)
    222          {
   \   0000031C   939A                       ST      -Y,R25
   \   0000031E   938A                       ST      -Y,R24
   \   00000320   2F80                       MOV     R24,R16
   \   00000322   2F91                       MOV     R25,R17
   \                     ?0043:
    223              while (*s != '\0') {
   \   00000324   2FE8                       MOV     R30,R24
   \   00000326   2FF9                       MOV     R31,R25
   \   00000328   8100                       LD      R16,Z
   \   0000032A   2300                       TST     R16
   \   0000032C   F029                       BREQ    ?0042
    224                  PutChar(*s++);
   \   0000032E   9101                       LD      R16,Z+
   \   00000330   2F8E                       MOV     R24,R30
   \   00000332   2F9F                       MOV     R25,R31
   \   00000334   DFBF                       RCALL   PutChar
    225              }
    226          }
   \   00000336   CFF6                       RJMP    ?0043
   \                     ?0042:
   \   00000338   9189                       LD      R24,Y+
   \   0000033A   9199                       LD      R25,Y+
   \   0000033C   9508                       RET     
   \                     ;	s               	R24-R25
   \                     SPrintDec:
    227          
    228          
    229          void SPrintDec(char *s, INT16U x, INT8U n)
    230          {
   \   0000033E   ........                   CALL    ?PROLOGUE6_L09
   \   00000342   2FA0                       MOV     R26,R16
   \   00000344   2FB1                       MOV     R27,R17
   \   00000346   2F84                       MOV     R24,R20
   \   00000348   2F95                       MOV     R25,R21
   \   0000034A   804E                       LDD     R4,Y+6
    231              INT8U i;
    232          
    233          
    234              s[n] = '\0';
   \   0000034C   E000                       LDI     R16,LOW(0)
   \   0000034E   2DE4                       MOV     R30,R4
   \   00000350   E0F0                       LDI     R31,LOW(0)
   \   00000352   0FEA                       ADD     R30,R26
   \   00000354   1FF1                       ADC     R31,R17
   \   00000356   8300                       ST      Z,R16
    235              for (i = 0; i < n; i++) {
   \   00000358   2455                       CLR     R5
   \                     ?0046:
   \   0000035A   1454                       CP      R5,R4
   \   0000035C   F478                       BRCC    ?0045
    236                  s[n - i - 1] = '0' + (x % 10);
   \   0000035E   D029                       RCALL   ?0069
   \   00000360   5D40                       SUBI    R20,LOW(208)
   \   00000362   2DE4                       MOV     R30,R4
   \   00000364   E0F0                       LDI     R31,LOW(0)
   \   00000366   19E5                       SUB     R30,R5
   \   00000368   40F0                       SBCI    R31,LOW(0)
   \   0000036A   0FEA                       ADD     R30,R26
   \   0000036C   1FFB                       ADC     R31,R27
   \   0000036E   9731                       SBIW    R30,LWRD(1)
   \   00000370   8340                       ST      Z,R20
    237                  x /= 10;
   \   00000372   D01F                       RCALL   ?0069
   \   00000374   2F80                       MOV     R24,R16
   \   00000376   2F91                       MOV     R25,R17
   \   00000378   9453                       INC     R5
   \   0000037A   CFEF                       RJMP    ?0046
   \                     ?0045:
    238              }
    239              for (i = 0; i < (n - 1); i++) {
   \   0000037C   2455                       CLR     R5
   \                     ?0050:
   \   0000037E   2D04                       MOV     R16,R4
   \   00000380   E010                       LDI     R17,LOW(0)
   \   00000382   5001                       SUBI    R16,LOW(1)
   \   00000384   4010                       SBCI    R17,LOW(0)
   \   00000386   E030                       LDI     R19,LOW(0)
   \   00000388   1650                       CP      R5,R16
   \   0000038A   0731                       CPC     R19,R17
   \   0000038C   F47C                       BRGE    ?0049
    240                  if (s[i] == '0') {
   \   0000038E   2DE5                       MOV     R30,R5
   \   00000390   E0F0                       LDI     R31,LOW(0)
   \   00000392   0FEA                       ADD     R30,R26
   \   00000394   1FFB                       ADC     R31,R27
   \   00000396   8100                       LD      R16,Z
   \   00000398   3300                       CPI     R16,LOW(48)
   \   0000039A   F441                       BRNE    ?0049
    241                      s[i] = ' ';
   \   0000039C   E200                       LDI     R16,32
   \   0000039E   2DE5                       MOV     R30,R5
   \   000003A0   E0F0                       LDI     R31,LOW(0)
   \   000003A2   0FEA                       ADD     R30,R26
   \   000003A4   1FFB                       ADC     R31,R27
   \   000003A6   8300                       ST      Z,R16
    242                  } else {
    243                      break;
   \   000003A8   9453                       INC     R5
    244                  }
    245              }
    246          }
   \   000003AA   CFE9                       RJMP    ?0050
   \                     ?0049:
   \   000003AC   E0E7                       LDI     R30,7
   \   000003AE   ........                   JMP     ?EPILOGUE_B6_L09
   \                     ?0069:
   \   000003B2   2F08                       MOV     R16,R24
   \   000003B4   2F19                       MOV     R17,R25
   \   000003B6   E04A                       LDI     R20,LOW(10)
   \   000003B8   E050                       LDI     R21,0
   \   000003BA   ........                   JMP     ?US_DIVMOD_L02
   \                     ;	x               	R24-R25
   \                     ;	i               	R5
   \                     ;	n               	R4
   \                     ;	s               	R26-R27
   \                     random:
    247          
    248          
    249          INT8U random (INT8U n)
    250          {
   \   000003BE   939A                       ST      -Y,R25
   \   000003C0   938A                       ST      -Y,R24
   \   000003C2   2F80                       MOV     R24,R16
    251              RndNext = RndNext * 1103515245 + 12345;
   \   000003C4   ....                       LDI     R30,LOW(RndNext)
   \   000003C6   ....                       LDI     R31,(RndNext >> 8)
   \   000003C8   8100                       LDD     R16,Z+0
   \   000003CA   8111                       LDD     R17,Z+1
   \   000003CC   8122                       LDD     R18,Z+2
   \   000003CE   8133                       LDD     R19,Z+3
   \   000003D0   E64D                       LDI     R20,LOW(109)
   \   000003D2   E45E                       LDI     R21,LOW(78)
   \   000003D4   EC66                       LDI     R22,LOW(198)
   \   000003D6   E471                       LDI     R23,65
   \   000003D8   ........                   CALL    ?L_MUL_L03
   \   000003DC   5C07                       SUBI    R16,LOW(199)
   \   000003DE   4C1F                       SBCI    R17,LOW(207)
   \   000003E0   4F2F                       SBCI    R18,LOW(255)
   \   000003E2   4F3F                       SBCI    R19,LOW(255)
   \   000003E4   ....                       LDI     R30,LOW(RndNext)
   \   000003E6   8300                       STD     Z+0,R16
   \   000003E8   8311                       STD     Z+1,R17
   \   000003EA   8322                       STD     Z+2,R18
   \   000003EC   8333                       STD     Z+3,R19
    252              return ((INT8U)(RndNext / 256) % (n + 1));
   \   000003EE   2F01                       MOV     R16,R17
   \   000003F0   E010                       LDI     R17,LOW(0)
   \   000003F2   E090                       LDI     R25,LOW(0)
   \   000003F4   9601                       ADIW    R24,LWRD(1)
   \   000003F6   2F48                       MOV     R20,R24
   \   000003F8   2F59                       MOV     R21,R25
   \   000003FA   ........                   CALL    ?SS_DIVMOD_L02
   \   000003FE   2F04                       MOV     R16,R20
    253          }
   \   00000400   9189                       LD      R24,Y+
   \   00000402   9199                       LD      R25,Y+
   \   00000404   9508                       RET     
   \                     ;	n               	R24
   \                     PutDec:
    254          
    255          
    256          void PutDec (INT8U x2)
    257          {
   \   00000406   ........                   CALL    ?PROLOGUE3_L09
   \   0000040A   2FA0                       MOV     R26,R16
    258              INT8U x0;
    259              INT8U x1;
    260          
    261          
    262              x0  = (x2 % 10);
   \   0000040C   E04A                       LDI     R20,10
   \   0000040E   ........                   CALL    ?UC_DIVMOD_L01
   \   00000412   2F94                       MOV     R25,R20
    263              x2 /= 10;
   \   00000414   2F0A                       MOV     R16,R26
   \   00000416   E04A                       LDI     R20,10
   \   00000418   ........                   CALL    ?UC_DIVMOD_L01
   \   0000041C   2FA0                       MOV     R26,R16
    264              x1  = (x2 % 10);
   \   0000041E   E04A                       LDI     R20,10
   \   00000420   ........                   CALL    ?UC_DIVMOD_L01
   \   00000424   2F84                       MOV     R24,R20
    265              x2 /= 10;
   \   00000426   2F0A                       MOV     R16,R26
   \   00000428   E04A                       LDI     R20,10
   \   0000042A   ........                   CALL    ?UC_DIVMOD_L01
   \   0000042E   2FA0                       MOV     R26,R16
    266              if (x2) {
   \   00000430   2300                       TST     R16
   \   00000432   F011                       BREQ    ?0057
    267                  PutChar(x2 + '0');
   \   00000434   5D00                       SUBI    R16,LOW(208)
   \   00000436   DF3E                       RCALL   PutChar
   \                     ?0057:
    268              }
    269              if (x1 || x2) {
   \   00000438   2388                       TST     R24
   \   0000043A   F411                       BRNE    ?0060
   \   0000043C   23AA                       TST     R26
   \   0000043E   F019                       BREQ    ?0059

⌨️ 快捷键说明

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