📄 eeprom.lis
字号:
006E .dbsym r addr 16 i
006E .dbend
006E .dbfunc e EepromRead _EepromRead fV
006E ; val -> R20,R21
006E ; addr -> R18,R19
006E ; num -> R16
.even
006E _EepromRead::
006E 0E940000 xcall push_gset1
0072 4A81 ldd R20,y+2
0074 5B81 ldd R21,y+3
0076 .dbline -1
0076 .dbline 50
0076 0DC0 xjmp L13
0078 X0:
0078 .dbline 52
0078 L15:
0078 .dbline 53
0078 L16:
0078 .dbline 53
0078 E099 sbic 0x1c,0
007A FECF rjmp L15
007C .dbline 54
007C 3FBB out 0x1f,R19
007E 2EBB out 0x1e,R18
0080 .dbline 55
0080 E09A sbi 0x1c,0
0082 .dbline 56
0082 2DB2 in R2,0x1d
0084 FA01 movw R30,R20
0086 2082 std z+0,R2
0088 .dbline 57
0088 2F5F subi R18,255 ; offset = 1
008A 3F4F sbci R19,255
008C .dbline 58
008C 4F5F subi R20,255 ; offset = 1
008E 5F4F sbci R21,255
0090 .dbline 59
0090 0A95 dec R16
0092 .dbline 60
0092 L13:
0092 .dbline 51
0092 0023 tst R16
0094 89F7 brne L16
0096 .dbline -2
0096 L11:
0096 0E940000 xcall pop_gset1
009A .dbline 0 ; func end
009A 0895 ret
009C .dbsym r val 20 pc
009C .dbsym r addr 18 i
009C .dbsym r num 16 c
009C .dbend
009C .dbfunc e Uart0Init _Uart0Init fV
.even
009C _Uart0Init::
009C .dbline -1
009C .dbline 70
009C .dbline 71
009C 2224 clr R2
009E 2AB8 out 0xa,R2
00A0 .dbline 72
00A0 82E0 ldi R24,2
00A2 8BB9 out 0xb,R24
00A4 .dbline 73
00A4 86E8 ldi R24,134
00A6 80BD out 0x20,R24
00A8 .dbline 74
00A8 8EEC ldi R24,206
00AA 89B9 out 0x9,R24
00AC .dbline 75
00AC 88E9 ldi R24,152
00AE 8AB9 out 0xa,R24
00B0 .dbline -2
00B0 L18:
00B0 .dbline 0 ; func end
00B0 0895 ret
00B2 .dbend
.area vector(rom, abs)
.org 44
002C 0C945900 jmp _UartRecvData
.area text(rom, con, rel)
00B2 .dbfile F:\job\M16学习板\EEPROM实验(实验八)\EEprom.c
00B2 .dbfunc e UartRecvData _UartRecvData fV
.even
00B2 _UartRecvData::
00B2 2A92 st -y,R2
00B4 8A93 st -y,R24
00B6 2FB6 in R2,0x3f
00B8 2A92 st -y,R2
00BA .dbline -1
00BA .dbline 85
00BA .dbline 86
00BA 2CB0 in R2,0xc
00BC 20920000 sts _temp1,R2
00C0 .dbline 87
00C0 81E0 ldi R24,1
00C2 80930000 sts _RecvFlag,R24
00C6 .dbline -2
00C6 L19:
00C6 2990 ld R2,y+
00C8 2FBE out 0x3f,R2
00CA 8991 ld R24,y+
00CC 2990 ld R2,y+
00CE .dbline 0 ; func end
00CE 1895 reti
00D0 .dbend
00D0 .dbfunc e UartTransmitData _UartTransmitData fV
00D0 ; i -> R20,R21
00D0 ; len -> R18,R19
00D0 ; SendData -> R16,R17
.even
00D0 _UartTransmitData::
00D0 0E940000 xcall push_gset1
00D4 .dbline -1
00D4 .dbline 97
00D4 .dbline 99
00D4 4427 clr R20
00D6 5527 clr R21
00D8 09C0 xjmp L24
00DA X1:
00DA .dbline 100
00DA L25:
00DA .dbline 101
00DA L26:
00DA .dbline 101
00DA 5D9B sbis 0xb,5
00DC FECF rjmp L25
00DE .dbline 102
00DE FA01 movw R30,R20
00E0 E00F add R30,R16
00E2 F11F adc R31,R17
00E4 2080 ldd R2,z+0
00E6 2CB8 out 0xc,R2
00E8 .dbline 103
00E8 L22:
00E8 .dbline 99
00E8 4F5F subi R20,255 ; offset = 1
00EA 5F4F sbci R21,255
00EC L24:
00EC .dbline 99
00EC 4217 cp R20,R18
00EE 5307 cpc R21,R19
00F0 A0F3 brlo L26
00F2 .dbline -2
00F2 L20:
00F2 0E940000 xcall pop_gset1
00F6 .dbline 0 ; func end
00F6 0895 ret
00F8 .dbsym r i 20 i
00F8 .dbsym r len 18 i
00F8 .dbsym r SendData 16 pc
00F8 .dbend
00F8 .dbfunc e InitDevices _InitDevices fV
.even
00F8 _InitDevices::
00F8 .dbline -1
00F8 .dbline 112
00F8 .dbline 113
00F8 F894 cli
00FA .dbline 114
00FA D0DF xcall _Uart0Init
00FC .dbline 115
00FC 7894 sei
00FE .dbline -2
00FE L28:
00FE .dbline 0 ; func end
00FE 0895 ret
0100 .dbend
0100 .dbfunc e main _main fV
0100 ; j -> R20,R21
0100 ; EepromData -> y+2
.even
0100 _main::
0100 EF97 sbiw R28,63
0102 EF97 sbiw R28,63
0104 EF97 sbiw R28,63
0106 EF97 sbiw R28,63
0108 2597 sbiw R28,5 ; offset = 257
010A .dbline -1
010A .dbline 119
010A .dbline 122
010A F6DF xcall _InitDevices
010C L30:
010C .dbline 123
010C L31:
010C .dbline 123
010C 1A01 movw R2,R20
010E 4F5F subi R20,255 ; offset = 1
0110 5F4F sbci R21,255
0112 2220 tst R2
0114 D9F7 brne L30
0116 3320 tst R3
0118 C9F7 brne L30
011A X2:
011A .dbline 124
011A CE01 movw R24,R28
011C 0296 adiw R24,2
011E 9983 std y+1,R25
0120 8883 std y+0,R24
0122 2227 clr R18
0124 3327 clr R19
0126 0FEF ldi R16,255
0128 A2DF xcall _EepromRead
012A .dbline 125
012A 2FEF ldi R18,255
012C 30E0 ldi R19,0
012E 8E01 movw R16,R28
0130 0E5F subi R16,254 ; offset = 2
0132 1F4F sbci R17,255
0134 CDDF xcall _UartTransmitData
0136 54C0 xjmp L34
0138 L33:
0138 .dbline 127
0138 .dbline 128
0138 80910100 lds R24,_Flag
013C 8230 cpi R24,2
013E A1F4 brne L36
0140 .dbline 129
0140 .dbline 130
0140 2224 clr R2
0142 20920100 sts _Flag,R2
0146 .dbline 131
0146 CE01 movw R24,R28
0148 0296 adiw R24,2
014A 9983 std y+1,R25
014C 8883 std y+0,R24
014E 2227 clr R18
0150 3327 clr R19
0152 00910200 lds R16,_EEpromAdd
0156 8BDF xcall _EepromRead
0158 .dbline 132
0158 20910200 lds R18,_EEpromAdd
015C 30910300 lds R19,_EEpromAdd+1
0160 8E01 movw R16,R28
0162 0E5F subi R16,254 ; offset = 2
0164 1F4F sbci R17,255
0166 B4DF xcall _UartTransmitData
0168 .dbline 133
0168 L36:
0168 .dbline 134
0168 20900000 lds R2,_RecvFlag
016C 2220 tst R2
016E C1F1 breq L38
0170 .dbline 135
0170 .dbline 136
0170 2224 clr R2
0172 20920000 sts _RecvFlag,R2
0176 .dbline 137
0176 80910000 lds R24,_temp1
017A 8034 cpi R24,64
017C 21F4 brne L40
017E .dbline 138
017E 81E0 ldi R24,1
0180 80930100 sts _Flag,R24
0184 2DC0 xjmp L41
0186 L40:
0186 .dbline 139
0186 80910000 lds R24,_temp1
018A 8235 cpi R24,82
018C 11F0 breq L44
018E 8237 cpi R24,114
0190 41F4 brne L42
0192 L44:
0192 80910100 lds R24,_Flag
0196 8130 cpi R24,1
0198 21F4 brne L42
019A .dbline 140
019A .dbline 141
019A 82E0 ldi R24,2
019C 80930100 sts _Flag,R24
01A0 .dbline 142
01A0 1FC0 xjmp L43
01A2 L42:
01A2 .dbline 144
01A2 .dbline 145
01A2 2224 clr R2
01A4 20920100 sts _Flag,R2
01A8 .dbline 146
01A8 20910000 lds R18,_temp1
01AC 20900200 lds R2,_EEpromAdd
01B0 30900300 lds R3,_EEpromAdd+1
01B4 C101 movw R24,R2
01B6 0196 adiw R24,1
01B8 90930300 sts _EEpromAdd+1,R25
01BC 80930200 sts _EEpromAdd,R24
01C0 8101 movw R16,R2
01C2 4BDF xcall _EepromWrite
01C4 .dbline 147
01C4 80910200 lds R24,_EEpromAdd
01C8 90910300 lds R25,_EEpromAdd+1
01CC 8F3F cpi R24,255
01CE E0E0 ldi R30,0
01D0 9E07 cpc R25,R30
01D2 30F0 brlo L45
01D4 .dbline 148
01D4 2224 clr R2
01D6 3324 clr R3
01D8 30920300 sts _EEpromAdd+1,R3
01DC 20920200 sts _EEpromAdd,R2
01E0 L45:
01E0 .dbline 149
01E0 L43:
01E0 L41:
01E0 .dbline 150
01E0 L38:
01E0 .dbline 151
01E0 L34:
01E0 .dbline 126
01E0 ABCF xjmp L33
01E2 X3:
01E2 .dbline -2
01E2 L29:
01E2 EF96 adiw R28,63
01E4 EF96 adiw R28,63
01E6 EF96 adiw R28,63
01E8 EF96 adiw R28,63
01EA 2596 adiw R28,5 ; offset = 257
01EC .dbline 0 ; func end
01EC 0895 ret
01EE .dbsym r j 20 i
01EE .dbsym l EepromData 2 A[255:255]c
01EE .dbend
.area bss(ram, con, rel)
0000 .dbfile F:\job\M16学习板\EEPROM实验(实验八)\EEprom.c
0000 _temp1::
0000 .blkb 1
0001 .dbsym e temp1 _temp1 c
0001 _temp::
0001 .blkb 255
0100 .dbsym e temp _temp A[255:255]c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -