请教我这样读IO为什么读出来的结果是错的?

milozy1983 2005-07-01 08:18:54
大家都说用EVC可以内嵌汇编来读写IO , 但是我测试了下读cmos时间的秒却发现结果总是错 ,到底wince.net能不能这样操作IO呢?谢谢。读系统时间当向70号端口发送0的时候从71号端口返回的应该是当前秒的大小。

//写IO
void CIO1Dlg::OutPortByte(int addr,BYTE prnch)
{
#if defined(x86)
_asm
{
push eax
push edx
mov edx,addr
mov al,prnch
out dx,al
pop edx
pop eax
}
#endif
}

//读IO
BYTE CIO1Dlg::InPortByte(int addr)
{
BYTE tb =0 ;
//printf("InPortByte %d\n",tb);
#if defined(x86)
_asm
{
push eax
push edx
mov edx,addr
in al,dx
mov tb,al
pop edx
pop eax
}
#endif
//printf("InPortByte %d\n",tb);
return tb;
}

//读取cmos时间的秒
void CIO1Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
OutPortByte(70,0);
m_Edit.Format(_T("%d") , InPortByte(71));
UpdateData(false);

}
...全文
91 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
红牛哥110 2005-07-01
  • 打赏
  • 举报
回复
应当是程式有问题,肯定是可以内嵌汇编的.
milozy1983 2005-07-01
  • 打赏
  • 举报
回复
milozy1983 2005-07-01
  • 打赏
  • 举报
回复
如果在模拟器上能正常显示结果吗?正确的程序如果方便的话提供个 , 没的话我自己再试下 , 呵呵

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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