| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1206 人关注过本帖
标题:看linux内核源代码拼凑的一个读取cmos时间的小程序 出现段错误(吐核) 求解 ...
取消只看楼主 加入收藏
朱大哥
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:72
专家分:123
注 册:2015-1-16
结帖率:22.22%
收藏
已结贴  问题点数:20 回复次数:2 
看linux内核源代码拼凑的一个读取cmos时间的小程序 出现段错误(吐核) 求解
#define outb(value,port) \
__asm__ ("outb %%al,%%dx"::"a" (value),"d" (port))   //C语言内插汇编,采用AT&T语言 大致意思是 输入 eax=value  edx=port 执行操作out
                                                     //无返回值
#define inb(port) ({ \
unsigned char _v; \
__asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \    //输入 edx=port 语句执行返回结果放在 变量_v里 执行动作 in
_v; \
})
#define CMOS_READ(addr) ({ \
outb(0x80|addr,0x70); \
inb(0x71); \
})
void main()
{
    int tm_sec;
    //outb(0x80|0,0x70);
    tm_sec=CMOS_READ(0);  //往端口70写入0X80 后从端口71读取数据放入tm_sec 中   这个地方就段错误(吐了)        
   
}

这个程序为吗不能在linux上跑呢  现在给的代码是copy的源程序代码呀


[此贴子已经被作者于2015-10-30 16:48编辑过]

搜索更多相关主题的帖子: 源代码 linux C语言 
2015-10-30 16:45
朱大哥
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:72
专家分:123
注 册:2015-1-16
收藏
得分:0 
回复 2楼 tlliqi
我也是来了兴致就看一眼的,太复杂的东西
2015-10-30 16:51
朱大哥
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:72
专家分:123
注 册:2015-1-16
收藏
得分:0 
回复 6楼 wp231957
可以的阿 ,我编译成功哦  我想是因为用户态不能直接访问硬件的缘故把
2015-10-31 12:53
快速回复:看linux内核源代码拼凑的一个读取cmos时间的小程序 出现段错误(吐核) ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024276 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved