中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-31 19:55
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » [求助]RTL8100BL的网卡驱动,某些寄存器无法操作 查看 2,357 回复 0
楼 主 [求助]RTL8100BL的网卡驱动,某些寄存器无法操作 发表于 2016-01-07 09:32 ·  中国 北京 电信
新手上路
积分 4
发帖 1
注册 2016-01-06 17:19
10年会员
UID 181417
性别 男
状态 离线
dos 版本:6.22 bc版本:3.1 硬件架构:x86
目前遇到问题:发现一些寄存器不能正常操作:例如:Transmit Configuration Register这个寄存器,按8位 16位 32位写,然后按8位读发现每次根本就写不进去数值,我的8位操作outport()函数,16位操作outportb()函数,32位用的是static void outportd(unsigned short portid, unsigned long value) //output dword to I/O port
{

asm MOV DX, portid
asm DB 0x66 //
asm MOV AX, WORD PTR value // MOV EAX,value
asm DB 0x66, 0xEF // OUT DX,EAX

}
这个函数,有一点我不是特别理解,一般的寄存器如果支持32位的写,按道理来说它可以8位写,也可以16位写,但目前我不知道我的哪块操作有问题,谁做过这方面的工作,给点建议或者意见,多谢。。。。。。
论坛跳转: