如何解决如何使用汇编语言读取和写入连接的PCI设备?
我正在学习有关硬件和驱动程序编程的知识。我试图分析为PCI,以太网和以太网卡上的menuetOS编程的代码。我可以理解这些概念以及每个部分的功能。 我开始为自己的笔记本电脑编程PCI和以太网,但无法获得供应商和设备ID 在Kali Linux中。实际上,我遇到了语法错误或分段错误。我正在尝试使用用于在MS-DOS中获取供应商和设备ID的代码。CODE:
eax: 80000000
ecx: 00000020
0100 : mov dx,0cf8
0103 : out dx,eax
0105 : mov dx,0cfc
0108 : mov ebp,eax
010B : in eax,dx
010D : cmp eax,FFFFFFFF
0113 : je 0130
0115 : mov ds:[ebx],eax
011A : add ebx,0004
011E : mov [ebx],ebp
0123 : add ebx,0004
0127 : mov eax,ebp
012A : add eax,00000800
0130 : loop 0100
它写道:
ds: 0000 12378086 80000000
ds: 0008 80008086 80000800
ds: 0010 BEEF80EE 00001000
.
.
.
问题1:如何在NASM中获取这些值然后打印出来? (实际上,我不知道写入或读取不同设备的起始地址,也不知道如何在内存中找到它们)
第二季度:在安装NIC的驱动程序之前,操作系统(如Windows或Linux)如何连接到Internet?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。