中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-14 23:53
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS开发编程 & 发展交流 (开发室) » [求助]RTL8100BL的网卡驱动,某些寄存器无法操作
可打印版本  2,481 / 0
第1楼 yv920 发表于 2016-01-07 09:32
新手上路 发帖 1 积分 4
[求助]RTL8100BL的网卡驱动,某些寄存器无法操作
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位写,但目前我不知道我的哪块操作有问题,谁做过这方面的工作,给点建议或者意见,多谢。。。。。。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023