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

📄 eeprom.lis

📁 AVR程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 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 + -