📄 main.lst
字号:
(0178) }
(0179)
(0180)
(0181) void uartsenddata(void)
(0182) {
(0183) unsigned int udpdata=0;
016B 2744 CLR R20
016C 2755 CLR R21
(0184)
(0185) if(UCSR1A&0x20)
016D 9020009B LDS R2,0x9B
016F FE25 SBRS R2,5
0170 C003 RJMP 0x0174
(0186) {
(0187) udpdata=udp_readdata();
0171 940E07AA CALL _udp_readdata
0173 01A8 MOVW R20,R16
(0188) }
(0189) if(udpdata&0x8000) //有新的UDP数据到达
0174 FF57 SBRS R21,7
0175 C006 RJMP 0x017C
(0190) {
(0191) UDR1=(udpdata&0x00FF); ///////////////////////////////////////
0176 01CA MOVW R24,R20
0177 7090 ANDI R25,0
0178 9380009C STS 0x9C,R24
(0192) udpdata=0;
017A 2744 CLR R20
017B 2755 CLR R21
(0193) }
017C 940E0836 CALL pop_gset1
017E 9508 RET
(0194) }
(0195)
(0196) void led_cont(unsigned char data)
(0197) {
(0198) LEDPORT=(data&0x30)|0xCF;
_led_cont:
data --> R16
017F 2F80 MOV R24,R16
0180 7380 ANDI R24,0x30
0181 6C8F ORI R24,0xCF
0182 BB82 OUT 0x12,R24
0183 9508 RET
(0199) }
(0200)
(0201) ////////////////////////////////////////////////////////////////////////////////
(0202) ////////////////////////////////////////////////////////////////////////////////
(0203) ////////////////////////////////////////////////////////////////////////////////
(0204) //define mappings
(0205) void mapping_init(void)
(0206) {
(0207) asm( ".area memory(abs)\n"
_mapping_init:
0184 9508 RET
_rtl8019_reset:
temp --> R20
0185 940E0833 CALL push_gset1
0187 2744 CLR R20
0188 91800065 LDS R24,0x65
018A 6088 ORI R24,0x8
018B 93800065 STS 0x65,R24
018D 940E012F CALL _delay_100ms
018F 91800065 LDS R24,0x65
0191 7F87 ANDI R24,0xF7
0192 93800065 STS 0x65,R24
0194 940E012F CALL _delay_100ms
0196 9140DF00 LDS R20,0xDF00
0198 940E012F CALL _delay_100ms
019A 9340DF00 STS 0xDF00,R20
019C 940E012F CALL _delay_100ms
019E 940E0836 CALL pop_gset1
01A0 9508 RET
_rtl8019_hotreset:
temp --> R16
01A1 2700 CLR R16
01A2 9100DF00 LDS R16,0xDF00
01A4 9300DF00 STS 0xDF00,R16
01A6 9508 RET
_rtl8019_page:
temp --> R20
pagenumber --> R16
01A7 940E0833 CALL push_gset1
01A9 9140C000 LDS R20,0xC000
01AB 734B ANDI R20,0x3B
01AC 0F00 LSL R16
01AD 0F00 LSL R16
01AE 0F00 LSL R16
01AF 0F00 LSL R16
01B0 0F00 LSL R16
01B1 0F00 LSL R16
01B2 2B40 OR R20,R16
01B3 9340C000 STS 0xC000,R20
01B5 940E0836 CALL pop_gset1
01B7 9508 RET
_rtl8019_init:
01B8 E281 LDI R24,0x21
01B9 9380C000 STS 0xC000,R24
01BB E48D LDI R24,0x4D
01BC 9380C100 STS 0xC100,R24
01BE E880 LDI R24,0x80
01BF 9380C200 STS 0xC200,R24
01C1 E48C LDI R24,0x4C
01C2 9380C300 STS 0xC300,R24
01C4 E480 LDI R24,0x40
01C5 9380C400 STS 0xC400,R24
01C7 EF8E LDI R24,0xFE
01C8 9380C500 STS 0xC500,R24
01CA 2422 CLR R2
01CB 9220C600 STS 0xC600,R2
01CD EF8F LDI R24,0xFF
01CE 9380C700 STS 0xC700,R24
01D0 EC8C LDI R24,0xCC
01D1 9380CC00 STS 0xCC00,R24
01D3 EE80 LDI R24,0xE0
01D4 9380CD00 STS 0xCD00,R24
01D6 EC88 LDI R24,0xC8
01D7 9380CE00 STS 0xCE00,R24
01D9 EF8F LDI R24,0xFF
01DA 9380CF00 STS 0xCF00,R24
01DC E001 LDI R16,1
01DD DFC9 RCALL _rtl8019_page
01DE E48D LDI R24,0x4D
01DF 9380C700 STS 0xC700,R24
01E1 2422 CLR R2
01E2 9220C800 STS 0xC800,R2
01E4 E481 LDI R24,0x41
01E5 9380C900 STS 0xC900,R24
01E7 9220CA00 STS 0xCA00,R2
01E9 E880 LDI R24,0x80
01EA 9380CB00 STS 0xCB00,R24
01EC 9220CC00 STS 0xCC00,R2
01EE 9220CD00 STS 0xCD00,R2
01F0 9220CE00 STS 0xCE00,R2
01F2 9220CF00 STS 0xCF00,R2
01F4 E282 LDI R24,0x22
01F5 9380C000 STS 0xC000,R24
01F7 9508 RET
_rtl8019_writemynodeid:
01F8 E001 LDI R16,1
01F9 DFAD RCALL _rtl8019_page
01FA E48F LDI R24,0x4F
01FB 9380C100 STS 0xC100,R24
01FD E486 LDI R24,0x46
01FE 9380C200 STS 0xC200,R24
0200 9380C300 STS 0xC300,R24
0202 E489 LDI R24,0x49
0203 9380C400 STS 0xC400,R24
0205 E483 LDI R24,0x43
0206 9380C500 STS 0xC500,R24
0208 E485 LDI R24,0x45
0209 9380C600 STS 0xC600,R24
020B 9508 RET
_rtl_status:
020C 2700 CLR R16
020D DF99 RCALL _rtl8019_page
020E 9100CC00 LDS R16,0xCC00
0210 9508 RET
_rtl_isrstatus:
rtlisrstatus --> R20
0211 940E0833 CALL push_gset1
0213 2700 CLR R16
0214 DF92 RCALL _rtl8019_page
0215 9140C700 LDS R20,0xC700
0217 EF8F LDI R24,0xFF
0218 9380C700 STS 0xC700,R24
021A 2F04 MOV R16,R20
021B 940E0836 CALL pop_gset1
021D 9508 RET
_rtl_readcurr:
021E E001 LDI R16,1
021F DF87 RCALL _rtl8019_page
0220 9100C700 LDS R16,0xC700
0222 9508 RET
_rtl_setcurr:
0223 E281 LDI R24,0x21
0224 9380C000 STS 0xC000,R24
0226 E48C LDI R24,0x4C
0227 9380C300 STS 0xC300,R24
0229 E282 LDI R24,0x22
022A 9380C000 STS 0xC000,R24
022C 9508 RET
_rtl8019_write:
i --> R20
offset --> Y+6
count --> R22
addr --> R10
022D 940E082F CALL push_gset3
022F 01B9 MOVW R22,R18
0230 0158 MOVW R10,R16
0231 814E LDD R20,Y+6
0232 2755 CLR R21
0233 2700 CLR R16
0234 DF72 RCALL _rtl8019_page
0235 0115 MOVW R2,R10
0236 2C23 MOV R2,R3
0237 2433 CLR R3
0238 9220C900 STS 0xC900,R2
023A 01C5 MOVW R24,R10
023B 7090 ANDI R25,0
023C 9380C800 STS 0xC800,R24
023E 011B MOVW R2,R22
023F 2C23 MOV R2,R3
0240 2433 CLR R3
0241 9220CB00 STS 0xCB00,R2
0243 01CB MOVW R24,R22
0244 7090 ANDI R25,0
0245 9380CA00 STS 0xCA00,R24
0247 E182 LDI R24,0x12
0248 9380C000 STS 0xC000,R24
024A 802E LDD R2,Y+6
024B 2433 CLR R3
024C 0D62 ADD R22,R2
024D 1D73 ADC R23,R3
024E C00A RJMP 0x0259
024F E082 LDI R24,2
0250 E092 LDI R25,2
0251 01FA MOVW R30,R20
0252 0FE8 ADD R30,R24
0253 1FF9 ADC R31,R25
0254 8020 LDD R2,Z+0
0255 9220D000 STS 0xD000,R2
0257 5F4F SUBI R20,0xFF
0258 4F5F SBCI R21,0xFF
0259 1746 CP R20,R22
025A 0757 CPC R21,R23
025B F398 BCS 0x024F
025C 2422 CLR R2
025D 9220CB00 STS 0xCB00,R2
025F 9220CA00 STS 0xCA00,R2
0261 E282 LDI R24,0x22
0262 9380C000 STS 0xC000,R24
0264 940E0822 CALL pop_gset3
0266 9508 RET
_rtl8019_read:
i --> R20
count --> R22
addr --> R10
0267 940E082F CALL push_gset3
0269 01B9 MOVW R22,R18
026A 0158 MOVW R10,R16
026B 2744 CLR R20
026C 2755 CLR R21
026D 2700 CLR R16
026E DF38 RCALL _rtl8019_page
026F 0115 MOVW R2,R10
0270 2C23 MOV R2,R3
0271 2433 CLR R3
0272 9220C900 STS 0xC900,R2
0274 01C5 MOVW R24,R10
0275 7090 ANDI R25,0
0276 9380C800 STS 0xC800,R24
0278 011B MOVW R2,R22
0279 2C23 MOV R2,R3
027A 2433 CLR R3
027B 9220CB00 STS 0xCB00,R2
027D 01CB MOVW R24,R22
027E 7090 ANDI R25,0
027F 9380CA00 STS 0xCA00,R24
0281 E08A LDI R24,0xA
0282 9380C000 STS 0xC000,R24
0284 C00A RJMP 0x028F
0285 E082 LDI R24,2
0286 E092 LDI R25,2
0287 01FA MOVW R30,R20
0288 0FE8 ADD R30,R24
0289 1FF9 ADC R31,R25
028A 9020D000 LDS R2,0xD000
028C 8220 STD Z+0,R2
028D 5F4F SUBI R20,0xFF
028E 4F5F SBCI R21,0xFF
028F 1746 CP R20,R22
0290 0757 CPC R21,R23
0291 F398 BCS 0x0285
0292 2422 CLR R2
0293 9220CB00 STS 0xCB00,R2
0295 9220CA00 STS 0xCA00,R2
0297 E282 LDI R24,0x22
0298 9380C000 STS 0xC000,R24
029A 940E0822 CALL pop_gset3
029C 9508 RET
_rtl8019_sendpack:
offset --> R22
len --> R20
029D 940E0831 CALL push_gset2
029F 2F62 MOV R22,R18
02A0 01A8 MOVW R20,R16
02A1 9721 SBIW R28,1
02A2 E281 LDI R24,0x21
02A3 9380C000 STS 0xC000,R24
02A5 E480 LDI R24,0x40
02A6 9380C400 STS 0xC400,R24
02A8 8368 STD Y+0,R22
02A9 019A MOVW R18,R20
02AA E000 LDI R16,0
02AB E410 LDI R17,0x40
02AC DF80 RCALL _rtl8019_write
02AD E281 LDI R24,0x21
02AE 9380C000 STS 0xC000,R24
02B0 E480 LDI R24,0x40
02B1 9380C400 STS 0xC400,R24
02B3 01CA MOVW R24,R20
02B4 7090 ANDI R25,0
02B5 9380C500 STS 0xC500,R24
02B7 011A MOVW R2,R20
02B8 2C23 MOV R2,R3
02B9 2433 CLR R3
02BA 9220C600 STS 0xC600,R2
02BC E18E LDI R24,0x1E
02BD 9380C000 STS 0xC000,R24
02BF 9621 ADIW R28,1
02C0 940E081F CALL pop_gset2
02C2 9508 RET
_buildpack:
len --> Y+20
mac_s0 --> Y+18
mac_s1 --> Y+16
mac_s2 --> Y+14
mac_s3 --> Y+12
mac_s4 --> Y+10
mac_s5 --> Y+8
mac_d0 --> Y+6
mac_d1 --> Y+4
mac_d2 --> Y+2
mac_d3 --> Y+0
mac_d4 --> R18
mac_d5 --> R16
02C3 93000202 STS 0x202,R16
02C5 93200203 STS 0x203,R18
02C7 8008 LDD R0,Y+0
02C8 92000204 STS 0x204,R0
02CA 800A LDD R0,Y+2
02CB 92000205 STS 0x205,R0
02CD 800C LDD R0,Y+4
02CE 92000206 STS 0x206,R0
02D0 800E LDD R0,Y+6
02D1 92000207 STS 0x207,R0
02D3 8408 LDD R0,Y+8
02D4 92000208 STS 0x208,R0
02D6 840A LDD R0,Y+10
02D7 92000209 STS 0x209,R0
02D9 840C LDD R0,Y+12
02DA 9200020A STS 0x20A,R0
02DC 840E LDD R0,Y+14
02DD 9200020B STS 0x20B,R0
02DF 8808 LDD R0,Y+16
02E0 9200020C STS 0x20C,R0
02E2 880A LDD R0,Y+18
02E3 9200020D STS 0x20D,R0
02E5 898C LDD R24,Y+20
02E6 899D LDD R25,Y+21
02E7 7090 ANDI R25,0
02E8 9380020F STS 0x20F,R24
02EA 882C LDD R2,Y+20
02EB 883D LDD R3,Y+21
02EC 2C23 MOV R2,R3
02ED 2433 CLR R3
02EE 9220020E STS 0x20E,R2
02F0 9508 RET
_rtl_packhandle:
i --> R10
packlen --> R20
packtyp --> R22
mac_des --> Y+6
mac_sou --> Y+0
02F1 940E082F CALL push_gset3
02F3 972C SBIW R28,0xC
02F4 2744 CLR R20
02F5 2755 CLR R21
02F6 2766 CLR R22
02F7 2777 CLR R23
02F8 24AA CLR R10
02F9 24BB CLR R11
02FA 90200206 LDS R2,0x206
02FC 862B STD Y+11,R2
02FD 90200207 LDS R2,0x207
02FF 862A STD Y+10,R2
0300 90200208 LDS R2,0x208
0302 8629 STD Y+9,R2
0303 90200209 LDS R2,0x209
0305 8628 STD Y+8,R2
0306 9020020A LDS R2,0x20A
0308 822F STD Y+7,R2
0309 9020020B LDS R2,0x20B
030B 822E STD Y+6,R2
030C 9020020C LDS R2,0x20C
030E 822D STD Y+5,R2
030F 9020020D LDS R2,0x20D
0311 822C STD Y+4,R2
0312 9020020E LDS R2,0x20E
0314 822B STD Y+3,R2
0315 9020020F LDS R2,0x20F
0317 822A STD Y+2,R2
0318 90200210 LDS R2,0x210
031A 8229 STD Y+1,R2
031B 90200211 LDS R2,0x211
031D 8228 STD Y+0,R2
031E 802D LDD R2,Y+5
031F 92201106 STS tempmac_d5,R2
0321 802C LDD R2,Y+4
0322 92201105 STS tempmac_d4,R2
0324 802B LDD R2,Y+3
0325 92201104 STS tempmac_d3,R2
0327 802A LDD R2,Y+2
0328 92201103 STS tempmac_d2,R2
032A 8029 LDD R2,Y+1
032B 92201102 STS tempmac_d1,R2
032D 8028 LDD R2,Y+0
032E 92201101 STS tempmac_d0,R2
0330 90200202 LDS R2,0x202
0332 FC20 SBRC R2,0
0333 C001 RJMP 0x0335
0334 C061 RJMP 0x0396
0335 91400205 LDS R20,0x205
0337 2755 CLR R21
0338 2F54 MOV R21,R20
0339 2744 CLR R20
033A 90200204 LDS R2,0x204
033C 2433 CLR R3
033D 2942 OR R20,R2
033E 2953 OR R21,R3
033F 91600212 LDS R22,0x212
0341 2777 CLR R23
0342 2F76 MOV R23,R22
0343 2766 CLR R22
0344 90200213 LDS R2,0x213
0346 2433 CLR R3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -