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

📄 main.lst

📁 一些简单的c51程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
  89   1      printf ("EEPROM Size = %lu bytes\n", (unsigned long) flash_size ());
  90   1      
  91   1      printf ("Writing \"%s\" to the EEPROM\n", msgbuf);
  92   1      flash_write (msgbuf, sizeof (msgbuf), 0);
  93   1      
  94   1      flash_read  (strbuf, sizeof (msgbuf), 0);
  95   1      printf ("Read    \"%s\" from the EEPROM\n", strbuf);
  96   1      
  97   1      printf ("Erasing the EEPROM\n");
  98   1      flash_erase_all ();
  99   1      
 100   1      /*-----------------------------------------------
 101   1      -----------------------------------------------*/
 102   1      while (1);
 103   1      }
 104          
 105          
 106          /*-----------------------------------------------------------------------------
 107          -----------------------------------------------------------------------------*/
 108          
C51 COMPILER V7.09   MAIN                                                                  06/18/2004 09:19:30 PAGE 7   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION Com000F (BEGIN)
0000         L?0016:
0000 E500        R     MOV     A,i+03H
0002 24FF              ADD     A,#0FFH
0004 F500        R     MOV     i+03H,A
0006 E500        R     MOV     A,i+02H
0008 34FF              ADDC    A,#0FFH
000A F500        R     MOV     i+02H,A
000C E500        R     MOV     A,i+01H
000E 34FF              ADDC    A,#0FFH
0010 F500        R     MOV     i+01H,A
0012 E500        R     MOV     A,i
0014 34FF              ADDC    A,#0FFH
0016 F500        R     MOV     i,A
0018 0500        R     INC     dbuf
001A 22                RET     
001B         L?0017:
001B E4                CLR     A
001C FF                MOV     R7,A
001D FE                MOV     R6,A
001E FD                MOV     R5,A
001F FC                MOV     R4,A
0020 AB00        R     MOV     R3,i+03H
0022 AA00        R     MOV     R2,i+02H
0024 A900        R     MOV     R1,i+01H
0026 A800        R     MOV     R0,i
0028 D3                SETB    C
0029 020000      E     LJMP    ?C?ULCMP
             ; FUNCTION Com000F (END)

             ; FUNCTION test_eeprom (BEGIN)
                                           ; SOURCE LINE # 12
                                           ; SOURCE LINE # 13
                                           ; SOURCE LINE # 21
0000 120000      E     LCALL   flash_erase_all
                                           ; SOURCE LINE # 26
0003 120000      R     LCALL   L?0018
0006         ?C0001:
0006 120000      R     LCALL   L?0017
0009 402E              JC      ?C0002
                                           ; SOURCE LINE # 27
                                           ; SOURCE LINE # 28
000B 7B00              MOV     R3,#00H
000D 7A00        R     MOV     R2,#HIGH dbuf
000F 7900        R     MOV     R1,#LOW dbuf
0011 E500        R     MOV     A,i+03H
0013 24FF              ADD     A,#0FFH
0015 F500        E     MOV     ?_flash_write?BYTE+0AH,A
0017 E500        R     MOV     A,i+02H
0019 34FF              ADDC    A,#0FFH
001B F500        E     MOV     ?_flash_write?BYTE+09H,A
001D E500        R     MOV     A,i+01H
001F 34FF              ADDC    A,#0FFH
0021 F500        E     MOV     ?_flash_write?BYTE+08H,A
0023 E500        R     MOV     A,i
0025 34FF              ADDC    A,#0FFH
0027 F500        E     MOV     ?_flash_write?BYTE+07H,A
0029 7F01              MOV     R7,#01H
002B 7E00              MOV     R6,#00H
C51 COMPILER V7.09   MAIN                                                                  06/18/2004 09:19:30 PAGE 8   

002D 7D00              MOV     R5,#00H
002F 7C00              MOV     R4,#00H
0031 120000      E     LCALL   _flash_write
                                           ; SOURCE LINE # 29
0034 120000      R     LCALL   L?0016
0037 80CD              SJMP    ?C0001
0039         ?C0002:
                                           ; SOURCE LINE # 36
0039 120000      R     LCALL   L?0018
003C         ?C0004:
003C 120000      R     LCALL   L?0017
003F 4049              JC      ?C0005
                                           ; SOURCE LINE # 37
                                           ; SOURCE LINE # 38
0041 7B00              MOV     R3,#00H
0043 7A00        R     MOV     R2,#HIGH rbuf
0045 7900        R     MOV     R1,#LOW rbuf
0047 E500        R     MOV     A,i+03H
0049 24FF              ADD     A,#0FFH
004B F500        E     MOV     ?_flash_read?BYTE+0AH,A
004D E500        R     MOV     A,i+02H
004F 34FF              ADDC    A,#0FFH
0051 F500        E     MOV     ?_flash_read?BYTE+09H,A
0053 E500        R     MOV     A,i+01H
0055 34FF              ADDC    A,#0FFH
0057 F500        E     MOV     ?_flash_read?BYTE+08H,A
0059 E500        R     MOV     A,i
005B 34FF              ADDC    A,#0FFH
005D F500        E     MOV     ?_flash_read?BYTE+07H,A
005F 7F01              MOV     R7,#01H
0061 7E00              MOV     R6,#00H
0063 7D00              MOV     R5,#00H
0065 7C00              MOV     R4,#00H
0067 120000      E     LCALL   _flash_read
                                           ; SOURCE LINE # 39
006A E500        R     MOV     A,rbuf
006C 6500        R     XRL     A,dbuf
006E 6015              JZ      ?C0006
                                           ; SOURCE LINE # 40
                                           ; SOURCE LINE # 41
0070 E500        R     MOV     A,i+03H
0072 24FF              ADD     A,#0FFH
0074 FF                MOV     R7,A
0075 E500        R     MOV     A,i+02H
0077 34FF              ADDC    A,#0FFH
0079 FE                MOV     R6,A
007A E500        R     MOV     A,i+01H
007C 34FF              ADDC    A,#0FFH
007E FD                MOV     R5,A
007F E500        R     MOV     A,i
0081 34FF              ADDC    A,#0FFH
0083 FC                MOV     R4,A
0084 22                RET     
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 43
0085         ?C0006:
0085 120000      R     LCALL   L?0016
0088 80B2              SJMP    ?C0004
008A         ?C0005:
                                           ; SOURCE LINE # 48
008A 74FF              MOV     A,#0FFH
008C FF                MOV     R7,A
C51 COMPILER V7.09   MAIN                                                                  06/18/2004 09:19:30 PAGE 9   

008D FE                MOV     R6,A
008E FD                MOV     R5,A
008F FC                MOV     R4,A
                                           ; SOURCE LINE # 49
0090         ?C0008:
0090 22                RET     
0091         L?0018:
0091 E4                CLR     A
0092 F500        R     MOV     dbuf,A
0094 120000      E     LCALL   flash_size
0097 8F00        R     MOV     i+03H,R7
0099 8E00        R     MOV     i+02H,R6
009B 8D00        R     MOV     i+01H,R5
009D 8C00        R     MOV     i,R4
009F 22                RET     
             ; FUNCTION test_eeprom (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 53
                                           ; SOURCE LINE # 54
                                           ; SOURCE LINE # 62
0000 759850            MOV     SCON,#050H
                                           ; SOURCE LINE # 63
0003 438920            ORL     TMOD,#020H
                                           ; SOURCE LINE # 64
0006 758DF4            MOV     TH1,#0F4H
                                           ; SOURCE LINE # 65
0009 D28E              SETB    TR1
                                           ; SOURCE LINE # 66
000B D299              SETB    TI
                                           ; SOURCE LINE # 72
000D 7BFF              MOV     R3,#0FFH
000F 7A00        R     MOV     R2,#HIGH ?SC_0
0011 7900        R     MOV     R1,#LOW ?SC_0
0013 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 73
0016 120000      R     LCALL   test_eeprom
0019 8F00        R     MOV     addr+03H,R7
001B 8E00        R     MOV     addr+02H,R6
001D 8D00        R     MOV     addr+01H,R5
001F 8C00        R     MOV     addr,R4
                                           ; SOURCE LINE # 75
0021 74FF              MOV     A,#0FFH
0023 FF                MOV     R7,A
0024 FE                MOV     R6,A
0025 FD                MOV     R5,A
0026 FC                MOV     R4,A
0027 AB00        R     MOV     R3,addr+03H
0029 AA00        R     MOV     R2,addr+02H
002B A900        R     MOV     R1,addr+01H
002D A800        R     MOV     R0,addr
002F C3                CLR     C
0030 120000      E     LCALL   ?C?SLCMP
0033 7BFF              MOV     R3,#0FFH
0035 7006              JNZ     ?C0009
                                           ; SOURCE LINE # 76
                                           ; SOURCE LINE # 77
0037 7A00        R     MOV     R2,#HIGH ?SC_20
0039 7900        R     MOV     R1,#LOW ?SC_20
                                           ; SOURCE LINE # 78
003B 8010              SJMP    ?C0014
003D         ?C0009:
C51 COMPILER V7.09   MAIN                                                                  06/18/2004 09:19:30 PAGE 10  

                                           ; SOURCE LINE # 80
                                           ; SOURCE LINE # 81
003D 7A00        R     MOV     R2,#HIGH ?SC_41
003F 7900        R     MOV     R1,#LOW ?SC_41
0041 850000      E     MOV     ?_printf?BYTE+06H,addr+03H
0044 850000      E     MOV     ?_printf?BYTE+05H,addr+02H
0047 850000      E     MOV     ?_printf?BYTE+04H,addr+01H
004A 850000      E     MOV     ?_printf?BYTE+03H,addr
004D         ?C0014:
004D 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 82
0050         ?C0010:
                                           ; SOURCE LINE # 86
                                           ; SOURCE LINE # 87
0050 120000      R     LCALL   L?0019
                                           ; SOURCE LINE # 89
0053 120000      E     LCALL   flash_size
0056 8F00        E     MOV     ?_printf?BYTE+06H,R7
0058 8E00        E     MOV     ?_printf?BYTE+05H,R6
005A 8D00        E     MOV     ?_printf?BYTE+04H,R5
005C 8C00        E     MOV     ?_printf?BYTE+03H,R4
005E 7BFF              MOV     R3,#0FFH
0060 7A00        R     MOV     R2,#HIGH ?SC_88
0062 7900        R     MOV     R1,#LOW ?SC_88
0064 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 91
0067 7500FF      E     MOV     ?_printf?BYTE+03H,#0FFH
006A 750000      R     MOV     ?_printf?BYTE+04H,#HIGH msgbuf
006D 750000      R     MOV     ?_printf?BYTE+05H,#LOW msgbuf
0070 7BFF              MOV     R3,#0FFH
0072 7A00        R     MOV     R2,#HIGH ?SC_113
0074 7900        R     MOV     R1,#LOW ?SC_113
0076 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 92
0079 7BFF              MOV     R3,#0FFH
007B 7A00        R     MOV     R2,#HIGH msgbuf
007D 7900        R     MOV     R1,#LOW msgbuf
007F E4                CLR     A
0080 F500        E     MOV     ?_flash_write?BYTE+0AH,A
0082 F500        E     MOV     ?_flash_write?BYTE+09H,A
0084 F500        E     MOV     ?_flash_write?BYTE+08H,A
0086 F500        E     MOV     ?_flash_write?BYTE+07H,A
0088 7F32              MOV     R7,#032H
008A FE                MOV     R6,A
008B FD                MOV     R5,A
008C FC                MOV     R4,A
008D 120000      E     LCALL   _flash_write
                                           ; SOURCE LINE # 94
0090 7B01              MOV     R3,#01H
0092 7A00        R     MOV     R2,#HIGH strbuf
0094 7900        R     MOV     R1,#LOW strbuf
0096 E4                CLR     A
0097 F500        E     MOV     ?_flash_read?BYTE+0AH,A
0099 F500        E     MOV     ?_flash_read?BYTE+09H,A
009B F500        E     MOV     ?_flash_read?BYTE+08H,A
009D F500        E     MOV     ?_flash_read?BYTE+07H,A
009F 7F32              MOV     R7,#032H
00A1 FE                MOV     R6,A
00A2 FD                MOV     R5,A
00A3 FC                MOV     R4,A
00A4 120000      E     LCALL   _flash_read
                                           ; SOURCE LINE # 95
C51 COMPILER V7.09   MAIN                                                                  06/18/2004 09:19:30 PAGE 11  

00A7 750001      E     MOV     ?_printf?BYTE+03H,#01H
00AA 750000      R     MOV     ?_printf?BYTE+04H,#HIGH strbuf
00AD 750000      R     MOV     ?_printf?BYTE+05H,#LOW strbuf
00B0 7BFF              MOV     R3,#0FFH
00B2 7A00        R     MOV     R2,#HIGH ?SC_141
00B4 7900        R     MOV     R1,#LOW ?SC_141
00B6 120000      E     LCALL   _printf
                                           ; SOURCE LINE # 97
                                           ; SOURCE LINE # 98
00B9 120000      R     LCALL   L?0019
00BC         ?C0011:
                                           ; SOURCE LINE # 102
00BC 80FE              SJMP    ?C0011
                                           ; SOURCE LINE # 103
00BE         L?0019:
00BE 7BFF              MOV     R3,#0FFH
00C0 7A00        R     MOV     R2,#HIGH ?SC_68
00C2 7900        R     MOV     R1,#LOW ?SC_68
00C4 120000      E     LCALL   _printf
00C7 120000      E     LCALL   flash_erase_all
00CA 22                RET     
             ; FUNCTION main (END)

C51 COMPILER V7.09   MAIN                                                                  06/18/2004 09:19:30 PAGE 12  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


_flash_write . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
msgbuf . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    00ABH  50
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
strbuf . . . . . . . . . . . . . . . .  PUBLIC   XDATA  ARRAY    0000H  101
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
flash_erase_all. . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
I2CCON . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00E8H  1
DCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00E8H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  addr . . . . . . . . . . . . . . . .  AUTO     DATA   LONG     0000H  4
test_eeprom. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_LONG   0000H  4
  dbuf . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  rbuf . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
flash_size . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
_flash_read. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_printf. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    407    ----
   CONSTANT SIZE    =    221    ----
   XDATA SIZE       =    101    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      10
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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