发布于 2012-07-26 10:53:00
41楼
我的方法是这样的:
1、在同一区,比如Q,将位编号,规则是Qx.y=x*8+y,所以Q0.0编号为0,Q1.1编号为9,依次类推。这个编号就当作位的间接地址(word);
2、拿到这个位的地址addr,先对它作ANDW,取出最低的3位(二进制),这个就是Qx.y中的y,对它DECO,就定位到字节内的某一位了,定义这个变量为bits;再对地址作SRW Addr,3,取出x,这个就是字节序号,合成指针&QB0+x,就可以定位这个“位”所在的字节,定义这个指针为ptr;
3、位的状态:movb *ptr,ac0、andb bits,ac0,查看sm1.1,就行了;(应该是SM1.0,结果为0的标记,2012.08.08修正)
4、置位:orb bits,*ptr
5、复位:invb bits、andb bits,*ptr