同样是一个DWORD拆分出32个位,SLICE访问,是这个变量正常的顺序,
1,例如MD0,因为在程序中是MD0=MB0+MB1+MB2+MB3,X31-X0是MB0-MB3的顺序,M3.0是X0,M0.7是X31
2,而AT拆分成0..31的BOOL数组,是0..7是第一个字节MB0,是8..15是第二个字节MB1,是16..23是第三个字节MB2,是24..31是第四个字节MB3,数组元素0是M0.0,元素7是M0.7,元素31是M3.7
3,对于一个WORD16#abcd的话是一样的,16#ab对应0..15的BOOL数组的0..7,16#cd对应0..15的BOOL数组的0..15,第16位对应16#cd部分的最高位,所以是16#80(2#10000000),它的高字节是16#00,连在一起是16#0080,而第2位对应16#ab的第二低位,所以是16#02(2#00000010),它的低字节是16#00,连在一起是16#0200
以上是之前以为老师的解释,有几个地方还是没看明白
1,X31-X0是MB0-MB3的顺序,M3.0是X0,M0.7是X31----x是代表位吗?M3.0对应X0,M0.7是X31我想不明白
2,数组元素0是M0.0,元素7是M0.7,元素31是M3.7----怎么理解?
3,16#ab对应0..15的BOOL数组的0..7,16#cd对应0..15的BOOL数组的0..15-----ab对应0..7的话,cd怎么还是对应整个0..15,而不是8..15
4,第16位对应16#cd部分的最高位,所以是16#80(2#10000000)??-----80怎么来的,麻烦解释下
问题有点多,麻烦老师教一下