求助:怎么用C语言去读硬件寄存器的值

fergie2003 2010-07-17 10:58:47
如题。希望各位高手给予解答,不胜感谢!
...全文
1010 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yl_lex072056232 2012-06-12
  • 打赏
  • 举报
回复
7 楼的 有用, 学习下。
疯癫小程序 2010-07-23
  • 打赏
  • 举报
回复
我再贴一个:
main()
{
_AX=1;
_BX=1;
_CX=2;
_AX=_BX+_CX;
_AH=_BL+_CL;
_AL=_BH+_CH;
}
疯癫小程序 2010-07-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tr0j4n 的回复:]
引用 3 楼 helonsy 的回复:

in al,端口号
mov al,你要输入的值
out 端口号,al

ps:C和汇编可以混合编译的。

端口是端口,寄存器是寄存器
[/Quote]
主席,其实端口就是外设芯片里的寄存器,不是吗?我前段时间从王爽汇编语言里就看到了啊。。。。
Sou2012 2010-07-23
  • 打赏
  • 举报
回复
学习了。
neocane 2010-07-23
  • 打赏
  • 举报
回复
硬件所指不同, 方法不同吧.
如果是外围设备要CreatFile然后DeviceIOContrl.
xmzzy 2010-07-23
  • 打赏
  • 举报
回复
Mark,学习
你妹的特盗不 2010-07-23
  • 打赏
  • 举报
回复
另外补充 硬件的寄存器嘛
有好几种形式吧,pci形式的,得以pci方式的读,isa port得以isa 方式读,还有一种是用i2c去读
象cpu的reg 就得用cpuid msr pci这三种方式,
你妹的特盗不 2010-07-23
  • 打赏
  • 举报
回复
lz 以语言如果在dos下面,就可以,在windows下面就不可以,在linux下面也可以
就是out in这些函数而已

这些函数也可以用汇编实现,给你一段汇编的函数


UINT8 IoRead8(UINT16 Port)
{
_asm {
mov dx, Port
in al, dx
}
}

void IoWrite8(UINT16 Port,UINT8 Value)
{
_asm {
mov dx, Port
mov al, Value
out dx, al
}
}

比如读我们的com port 一般为 0x3f8

UINT8 value=IoRead8(0x3f8);


windows下面,要有驱动啊,没有驱动,就没法啊
MoXiaoRab 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 helonsy 的回复:]

in al,端口号
mov al,你要输入的值
out 端口号,al

ps:C和汇编可以混合编译的。
[/Quote]
端口是端口,寄存器是寄存器
MoXiaoRab 2010-07-21
  • 打赏
  • 举报
回复
GetThreadContext
疯癫小程序 2010-07-20
  • 打赏
  • 举报
回复
in al,端口号
mov al,你要输入的值
out 端口号,al

ps:C和汇编可以混合编译的。
LZNJ06 2010-07-20
  • 打赏
  • 举报
回复
硬件寄存器有地址吧,用指针去取该地址的值不就可以了吗?
zwfgdlc 2010-07-17
  • 打赏
  • 举报
回复
这样算不算。

INT a, b, c, d;
__asm
{
mov a, eax
mov b, ebx
mov c, ecx
mov d, edx
}

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧