OUTREG32 、SETREG32 有什么区别?
2015-01-04 10:31
387 查看
微软的实现代码如下:
可以看出,SETREG32,只是设置了y这一位,而不改变其他位,OUTREG32则是y位之外其他位全部设置成0,所以区别就在这里。
// Note that SETREG32 does read, OR of argument and write, the IRQSTATUS is write '1' to clear,
// this will clear all interrupt bits, not just the ones in the argument.
<span style="font-size:18px;">#define OUTREG32(x, y) WRITE_REGISTER_ULONG((ULONG*)(x), (ULONG)(y)) #define SETREG32(x, y) OUTREG32(x, INREG32(x)|(y)) </span>
可以看出,SETREG32,只是设置了y这一位,而不改变其他位,OUTREG32则是y位之外其他位全部设置成0,所以区别就在这里。
// Note that SETREG32 does read, OR of argument and write, the IRQSTATUS is write '1' to clear,
// this will clear all interrupt bits, not just the ones in the argument.
相关文章推荐
- set A = NEW OBJ和SET A = CreateObject(OBJ)有什么区别
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- mysql declare和set有什么区别啊?
- notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别
- _raw_readl() 与ioread32()有什么区别
- java中map与set的区别是什么
- Rs.Open(Sql,Conn) 和 Set Rs = Conn.Execute(Sql)到底有什么区别!
- SQL Server中 SET 和 SELECT 赋值有什么区别?
- android中setNegativeButton和setNeutralButton的区别是什么?
- Java中的List和Map有什么区别?List, Set, Map是否继承自Collection接口?
- 32 位和 64 位版本 Windows 之间有什么区别?
- SQL 中 SET 和 SELECT 有什么区别???
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别? (转载)
- notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别?
- SetWindowLong()和 SetClassLong()这两个函数有什么区别?
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- <Java>ArrayList中的add和set有什么区别
- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
- notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别?