今天在写关于通讯的程序,所以要关注数据结构,在写程序的时候发现有如下问题,想不明白,请各位高手指点:
程序一:
L W#16#FFFF
T MW 300
A M 400.1
JCN T00
L B#16#0
T MW 300
T00: NOP 0
执行完此段程序后,当M400.1为0时,MW300为1111 1111 1111 1111
当M400.1为1时,MW300为0000 0000 0000 0000
当将此段程序作如下更改:
L B#16#FF
T MW 300
A M 400.1
JCN T00
L B#16#0
T MW 300
T00: NOP 0
则,当M400.1为0时,程序执行后,MW300的结果为0000 0000 1111 1111
当M400.1为1时,程序执行结果为:0000 0000 0000 0000
我的问题是,为什么第一段程序中,语句
L B#16#0
T MW 300
可以将MB300,MB301全部16个Bit置为0,而
L B#16#FF
T MW 300
却只能将MB301中的8个Bit置为1