📄 main.lst
字号:
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 + -