📄 rtl8019.s
字号:
lds R12,49152
L168:
.dbline 488
.dbline 488
ldi R24,33
sts 49152,R24
.dbline 488
L169:
.dbline 488
; rtl8019Write(CR, 0x21);
.dbline 489
; delay_ms(2);
ldi R16,2
xcall _delay_ms
L171:
.dbline 490
.dbline 490
clr R2
sts 51712,R2
.dbline 490
L172:
.dbline 490
; rtl8019Write(RBCR0, 0x00);
L174:
.dbline 491
.dbline 491
clr R2
sts 51968,R2
.dbline 491
L175:
.dbline 491
; rtl8019Write(RBCR1, 0x00);
.dbline 492
; if(!(data_L & 0x04))
sbrc R12,2
rjmp L177
.dbline 493
; resend = 0;
clr R10
xjmp L178
L177:
.dbline 494
; else if(data_L & 0x04)
sbrs R12,2
rjmp L179
.dbline 495
; {
.dbline 496
; data_L = rtl8019Read(ISR);
lds R12,50944
.dbline 497
; if((data_L & 0x02) || (data_L & 0x08))
sbrc R12,1
rjmp L183
sbrs R12,3
rjmp L181
L183:
.dbline 498
; resend = 0;
clr R10
xjmp L182
L181:
.dbline 500
; else
; resend = 1;
clr R10
inc R10
L182:
.dbline 501
; }
L179:
L178:
L184:
.dbline 503
.dbline 503
ldi R24,2
sts 52480,R24
.dbline 503
L185:
.dbline 503
;
; rtl8019Write(TCR, 0x02);
L187:
.dbline 504
.dbline 504
ldi R24,34
sts 49152,R24
.dbline 504
L188:
.dbline 504
; rtl8019Write(CR, 0x22);
L190:
.dbline 505
.dbline 505
ldi R24,70
sts 49920,R24
.dbline 505
L191:
.dbline 505
; rtl8019Write(BNRY, RXSTART_INIT);
L193:
.dbline 506
.dbline 506
ldi R24,98
sts 49152,R24
.dbline 506
L194:
.dbline 506
; rtl8019Write(CR, 0x62);
L196:
.dbline 507
.dbline 507
ldi R24,70
sts 50944,R24
.dbline 507
L197:
.dbline 507
; rtl8019Write(CURR, RXSTART_INIT);
L199:
.dbline 508
.dbline 508
ldi R24,34
sts 49152,R24
.dbline 508
L200:
.dbline 508
; rtl8019Write(CR, 0x22);
L202:
.dbline 509
.dbline 509
ldi R24,16
sts 50944,R24
.dbline 509
L203:
.dbline 509
; rtl8019Write(ISR, 0x10);
L205:
.dbline 510
.dbline 510
clr R2
sts 52480,R2
.dbline 510
L206:
.dbline 510
; rtl8019Write(TCR, TCR_INIT);
.dbline 512
;
; if(resend)
tst R10
breq L208
L210:
.dbline 513
.dbline 513
ldi R24,38
sts 49152,R24
.dbline 513
L211:
.dbline 513
; rtl8019Write(CR, 0x26);
L208:
L213:
.dbline 515
.dbline 515
ldi R24,255
sts 50944,R24
.dbline 515
L214:
.dbline 515
;
; rtl8019Write(ISR, 0xFF);
.dbline -2
L167:
xcall pop_gset4x
.dbline 0 ; func end
ret
.dbsym r resend 10 c
.dbsym r data_L 12 c
.dbend
.dbfunc e rtl8019Init _rtl8019Init fV
.even
_rtl8019Init::
.dbline -1
.dbline 520
; }
;
;
; void rtl8019Init(void)
; {
.dbline 521
; rtl8019SetupPorts();
xcall _rtl8019SetupPorts
L217:
.dbline 523
.dbline 523
lds R24,101
ori R24,8
sts 101,R24
.dbline 523
ldi R16,10
xcall _delay_ms
.dbline 523
lds R24,101
andi R24,247
sts 101,R24
.dbline 523
L218:
.dbline 523
;
; HARD_RESET_RTL8019();
L220:
.dbline 526
.dbline 526
lds R2,50944
sts 50944,R2
.dbline 526
L221:
.dbline 526
;
; // do soft reset
; rtl8019Write( ISR, rtl8019Read(ISR) ) ;
.dbline 527
; delay_ms(50);
ldi R16,50
xcall _delay_ms
L223:
.dbline 530
.dbline 530
ldi R24,225
sts 49152,R24
.dbline 530
L224:
.dbline 530
;
; // switch to page 3 to load config registers
; rtl8019Write(CR, 0xE1);
L226:
.dbline 533
.dbline 533
ldi R24,192
sts 49408,R24
.dbline 533
L227:
.dbline 533
;
; // disable EEPROM write protect of config registers
; rtl8019Write(RTL_EECR, 0xC0);
L229:
.dbline 536
.dbline 536
ldi R24,32
sts 50432,R24
.dbline 536
L230:
.dbline 536
;
; // set network type to 10 Base-T link test
; rtl8019Write(CONFIG2, 0x20);
L232:
.dbline 539
.dbline 539
clr R2
sts 50688,R2
.dbline 539
L233:
.dbline 539
;
; // disable powerdown and sleep
; rtl8019Write(CONFIG3, 0);
.dbline 540
; delay_ms(255);
ldi R16,255
xcall _delay_ms
L235:
.dbline 543
.dbline 543
clr R2
sts 49408,R2
.dbline 543
L236:
.dbline 543
;
; // reenable EEPROM write protect
; rtl8019Write(RTL_EECR, 0);
L238:
.dbline 546
.dbline 546
ldi R24,33
sts 49152,R24
.dbline 546
L239:
.dbline 546
;
; // go back to page 0
; rtl8019Write(CR, 0x21);
L241:
.dbline 548
.dbline 548
ldi R24,33
sts 49152,R24
.dbline 548
L242:
.dbline 548
;
; rtl8019Write(CR,0x21); // stop the NIC, abort DMA, page 0
.dbline 549
; delay_ms(2); // make sure nothing is coming in or going out
ldi R16,2
xcall _delay_ms
L244:
.dbline 550
.dbline 550
ldi R24,88
sts 52736,R24
.dbline 550
L245:
.dbline 550
; rtl8019Write(DCR, DCR_INIT); // 0x58
L247:
.dbline 551
.dbline 551
clr R2
sts 51712,R2
.dbline 551
L248:
.dbline 551
; rtl8019Write(RBCR0,0x00);
L250:
.dbline 552
.dbline 552
clr R2
sts 51968,R2
.dbline 552
L251:
.dbline 552
; rtl8019Write(RBCR1,0x00);
L253:
.dbline 553
.dbline 553
ldi R24,4
sts 52224,R24
.dbline 553
L254:
.dbline 553
; rtl8019Write(RCR,0x04);
L256:
.dbline 554
.dbline 554
ldi R24,64
sts 50176,R24
.dbline 554
L257:
.dbline 554
; rtl8019Write(TPSR, TXSTART_INIT);
L259:
.dbline 555
.dbline 555
ldi R24,2
sts 52480,R24
.dbline 555
L260:
.dbline 555
; rtl8019Write(TCR,0x02);
L262:
.dbline 556
.dbline 556
ldi R24,70
sts 49408,R24
.dbline 556
L263:
.dbline 556
; rtl8019Write(PSTART, RXSTART_INIT);
L265:
.dbline 557
.dbline 557
ldi R24,70
sts 49920,R24
.dbline 557
L266:
.dbline 557
; rtl8019Write(BNRY, RXSTART_INIT);
L268:
.dbline 558
.dbline 558
ldi R24,96
sts 49664,R24
.dbline 558
L269:
.dbline 558
; rtl8019Write(PSTOP, RXSTOP_INIT);
L271:
.dbline 559
.dbline 559
ldi R24,97
sts 49152,R24
.dbline 559
L272:
.dbline 559
; rtl8019Write(CR, 0x61);
.dbline 560
; delay_ms(2);
ldi R16,2
xcall _delay_ms
L274:
.dbline 561
.dbline 561
ldi R24,70
sts 50944,R24
.dbline 561
L275:
.dbline 561
; rtl8019Write(CURR, RXSTART_INIT);
L277:
.dbline 563
.dbline 563
ldi R24,79
sts 49408,R24
.dbline 563
L278:
.dbline 563
;
; rtl8019Write(PAR0+0, MYMAC_0);
L280:
.dbline 564
.dbline 564
ldi R24,70
sts 49664,R24
.dbline 564
L281:
.dbline 564
; rtl8019Write(PAR0+1, MYMAC_1);
L283:
.dbline 565
.dbline 565
ldi R24,70
sts 49920,R24
.dbline 565
L284:
.dbline 565
; rtl8019Write(PAR0+2, MYMAC_2);
L286:
.dbline 566
.dbline 566
ldi R24,73
sts 50176,R24
.dbline 566
L287:
.dbline 566
; rtl8019Write(PAR0+3, MYMAC_3);
L289:
.dbline 567
.dbline 567
ldi R24,67
sts 50432,R24
.dbline 567
L290:
.dbline 567
; rtl8019Write(PAR0+4, MYMAC_4);
L292:
.dbline 568
.dbline 568
ldi R24,69
sts 50688,R24
.dbline 568
L293:
.dbline 568
; rtl8019Write(PAR0+5, MYMAC_5);
L295:
.dbline 570
.dbline 570
ldi R24,33
sts 49152,R24
.dbline 570
L296:
.dbline 570
;
; rtl8019Write(CR,0x21);
L298:
.dbline 571
.dbline 571
ldi R24,88
sts 52736,R24
.dbline 571
L299:
.dbline 571
; rtl8019Write(DCR, DCR_INIT);
L301:
.dbline 572
.dbline 572
ldi R24,34
sts 49152,R24
.dbline 572
L302:
.dbline 572
; rtl8019Write(CR,0x22);
L304:
.dbline 573
.dbline 573
ldi R24,255
sts 50944,R24
.dbline 573
L305:
.dbline 573
; rtl8019Write(ISR,0xFF);
L307:
.dbline 574
.dbline 574
ldi R24,17
sts 52992,R24
.dbline 574
L308:
.dbline 574
; rtl8019Write(IMR, IMR_INIT);
L310:
.dbline 575
.dbline 575
clr R2
sts 52480,R2
.dbline 575
L311:
.dbline 575
; rtl8019Write(TCR, TCR_INIT);
L313:
.dbline 577
.dbline 577
ldi R24,34
sts 49152,R24
.dbline 577
L314:
.dbline 577
;
; rtl8019Write(CR, 0x22); // start the NIC
.dbline -2
L216:
.dbline 0 ; func end
ret
.dbend
.dbfunc e rtl8019ProcessInterrupt _rtl8019ProcessInterrupt fV
; byte -> R10
.even
_rtl8019ProcessInterrupt::
xcall push_gset3x
.dbline -1
.dbline 582
.dbline 583
lds R10,50944
.dbline 585
sbrs R10,4
rjmp L317
.dbline 586
xcall _rtl8019Overrun
L317:
.dbline -2
L316:
xcall pop_gset3x
.dbline 0 ; func end
ret
.dbsym r byte 10 c
.dbend
.area bss(ram, con, rel)
.dbfile D:\hexok项目\AVRNET项目\AVRNET光盘\AVRuIP\rtl8019.c
_currentRetreiveAddress:
.blkb 2
.dbsym s currentRetreiveAddress _currentRetreiveAddress i
_nextPage:
.blkb 1
.dbsym s nextPage _nextPage c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -