jor*_*dan 3 assembly processor msp430
我试图了解这些指令对MSP 430处理器的作用:
(1) MOV.w  #0x0055,R5
(2)   BIC.w  #0xFFEE,R5
(3)   BIS.w  #0x1144,R5
我无法找到解释汇编指令的内容,并且很想知道每条指令后这些指令的作用以及存储在r5寄存器中的内容.有人能解释一下吗
Lin*_*cer 14
MOV将值移动到目标.在这种情况下,R5将包含值0x0055.
BIC清除目标值中的位.如果R5在指令之前包含0x0055,则它将包含值0x0011.(将其视为反向和指令).
BIS设置位 - 这实际上与一个或一个操作相同.R5在该指令之后将具有值0x1155.
MOV.w  #0x0055,R5 执行以下操作:  src ? dst
BIC.w  #0xFFEE,R5 做以下事情 not.src .and. dst ? dst
BIS.w  #0x1144,R5 执行以下操作: src .or. dst ? dst
只需查看MSP 430用户指南即可
BIS [.W]设置目标BIS.B中的
位设置目标位语法BIS src,dst或
BIS.W src,dst BIS.B src,dst操作src .OR.dst - > dst
描述源操作数和目标操作数是逻辑ORed.结果放入目的地.源操作数不受影响.
状态位状态位不受影响.
模式位OSCOFF,CPUOFF和GIE不受影响.
示例设置RAM字TOM的六个LSB.
BIS#003Fh,TOM; 在RAM位置TOM中设置六个LSB
示例设置RAM字节TOM的三个MSB.
BIS.B#0E0h,TOM; 将3个MSB设置在RAM位置TOM中
当然:
BIC [.W]清除目标BIC.B中的
位清除目标中的位语法BIC src,dst或
BIC.W src,dst BIC.B src,dst操作.NOT.src .AND.dst - > dst
说明反向源操作数和目标操作数在逻辑上进行AND运算.结果放入目的地.源操作数不受影响.
状态位状态位不受影响.
模式位OSCOFF,CPUOFF和GIE不受影响.
示例清除RAM字LEO的六个MSB.
BIC#0FC00h,LEO; 清除MEM中的6个MSB(LEO)
示例清除RAM字节LEO的五个MSB.
BIC.B#0F8h,LEO; 清除Ram位置LEO中的5个MSB
我能够在这个网站上找到这个用户指南以及相关链接