quote:以下是引用yanxiao在2012-07-26 10:53:00的发言:
我的方法是这样的:
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,就行了;
4、置位:orb bits,*ptr
5、复位:invb bits、andb bits,*ptr
赞一个,可以帮助理解西门子编址的意义,另第3条是否应该查看sm1.0?