MSP430装配说明

时间:2012-10-15 17:47:40

标签: assembly processor msp430

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

(1) MOV.w  #0x0055,R5
(2)   BIC.w  #0xFFEE,R5
(3)   BIS.w  #0x1144,R5

我还没有找到解释汇编指令的内容,并希望在每条指令后找出这些指令的作用以及r5寄存器中存储的内容。有人可以解释一下吗?

3 个答案:

答案 0 :(得分:14)

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

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

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

答案 1 :(得分: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 User Guide

即可
  

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;清除6个MSB   MEM(LEO)

     

示例RAM字节LEO的五个MSB是   清零。

     

BIC.B#0F8h,LEO;清除5个MSB   Ram位置LEO

我能够在此very website

上找到包含相关链接的用户指南

答案 2 :(得分:1)

现有答案中缺少的一条信息是.W与.B的重要性。

从第56页的MSP430F24x用户指南(SLAU144J)的3.4节开始,

  

乙/ W:

     

字节或字操作:

     

0:单词操作

     

1:字节操作

值得注意的是,默认情况下,指令对单词进行操作。