以下是初始化代码
;初始化网卡
ISAINT:
SETB RST ;硬件复位ISA网卡
LCALL waits
CLR RST ;End of Reset ISA bus
LCALL waits
MOV A,#1FH ;软件复位8019地址 #31FH
LCALL ISAR
LCALL longwaits
MOV R0,A
MOV A,#1FH
LCALL ISAW
LCALL longwaits
;复位结束
MOV R0,#0
LCALL EPAGE
MOV A,#0 ;停止运行8109
MOV R0,#21H
LCALL ISAW
LCALL waitbus
MOV A,#1
MOV R0,#4CH ;接收起始页
LCALL ISAW
MOV A,#2
MOV R0,#80H ;PSTOP=80
LCALL ISAW
MOV A,#3
MOV R0,#4CH ;BNRY=4C
LCALL ISAW
MOV A,#4 ;发送起始页
MOV R0,#40H
LCALL ISAW
MOV A,#0CH
MOV R0,#0CCH
LCALL ISAW
MOV A,#0DH
MOV R0,#0E0H
LCALL ISAW
MOV A,#0EH
MOV R0,#0C8H
LCALL ISAW
MOV A,#0FH
MOV R0,#0H
LCALL ISAW
;换页面--------------------------
MOV R0,#40H
LCALL EPAGE
;--------------------------------
MOV A,#7
MOV R0,#4DH
LCALL ISAW
MOV A,#8
MOV R0,#0H
LCALL ISAW
MOV A,#9
MOV R0,#41H
LCALL ISAW
MOV A,#0AH
MOV R0,#0H
LCALL ISAW
MOV A,#0BH
MOV R0,#80H
LCALL ISAW
MOV A,#0CH
MOV R0,#0H
LCALL ISAW
MOV A,#0DH
MOV R0,#0H
LCALL ISAW
MOV A,#0EH
MOV R0,#0H
LCALL ISAW
MOV A,#0FH
MOV R0,#0H
LCALL ISAW
;初始化结束,开始运行网卡
MOV A,#0 ;开始运行8109
MOV R0,#22H
LCALL ISAW
RET ;结束
MOV A,#07H ;清除中断
MOV R0,#0FFH;
LCALL ISAW ;写入
问题出在这里,自己解决了。。。
奇怪,我明明是写入0页的7h,竟然写入到1页的curr去了
后来就把最后一句写入去掉就ok