MSP430装配说明

jor*_*dan 3 assembly processor msp430

我试图了解这些指令对MSP 430处理器的作用:

(1) MOV.w  #0x0055,R5
(2)   BIC.w  #0xFFEE,R5
(3)   BIS.w  #0x1144,R5
Run Code Online (Sandbox Code Playgroud)

我无法找到解释汇编指令的内容,并且很想知道每条指令后这些指令的作用以及存储在r5寄存器中的内容.有人能解释一下吗

Lin*_*cer 14

MOV将值移动到目标.在这种情况下,R5将包含值0x0055.

BIC清除目标值中的位.如果R5在指令之前包含0x0055,则它将包含值0x0011.(将其视为反向指令).

BIS设置位 - 这实际上与一个一个操作相同.R5在该指令之后将具有值0x1155.


Sec*_*und 5

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

我能够在这个网站上找到这个用户指南以及相关链接