MSP430 27 24 . , , . , , , . .
:
- ;
- ;
- .
, , , .B .W. . - . , -.
:
src | As S-reg |
dst | Ad D-reg |
As | , , (src) |
S-reg | , (src) |
Ad | , , (dst) |
D-reg | , (dst) |
B/W | : 0: 1: |
. , , , , . , , , .
( I)
.1 .
.1
.1 .
.1 -
S-Reg, D-Reg | ||||||
V | N | Z | C | |||
MOV(.B) | src,dst | src --> dst | - | - | - | - |
ADD(.B) | src,dst | src + dst --> dst | * | * | * | * |
ADDC(.B) | src,dst | src + dst + C --> dst | * | * | * | * |
SUB(.B) | src,dst | dst +.not.src + 1 --> dst | * | * | * | * |
SUBC(.B) | src,dst | dst +.not.src + C --> dst | * | * | * | * |
CMP(.B) | src,dst | dst src | * | * | * | * |
DADD(.B) | src,dst | src + dst + C --> dst () | * | * | * | * |
BIT(.B) | src,dst | src.and. dst | * | * | * | |
BIC(.B) | src,dst | .not.src.and. dst --> dst | - | - | - | - |
BIS(.B) | src,dst | src.or. dst --> dst | - | - | - | - |
XOR(.B) | src,dst | src.xor. dst --> dst | * | * | * | * |
AND(.B) | src,dst | src.and. dst --> dst | * | * | * |
.1:
|
|
* - .
- - .
0 - .
1 - .
CMP SUB , . BIT AND.
( II)
.2 .
.2 -
.2 .
.2 -
S-Reg, D-Reg | ||||||
V | N | Z | C | |||
RRC(.B) | dst | C --> MSB --> LSB --> C | * | * | * | * |
RRA(.A) | dst | MSB --> MSB --> LSB --> C | * | * | * | |
PUSH(.B) | src | SP-2 --> SP, src --> @SP | - | - | - | - |
SWPB | dst | - | - | - | - | |
CALL | dst | SP-2? SP, PC+2 --> @SP dst --> PC | - | - | - | - |
RETI | TOS --> SR, SP+2 --> SP TOS --> PC, SP+2 --> SP | * | * | * | * | |
SXT | dst | 7 --> 8 15 | * | * | * |
.2:
* - .
- - .
0 - .
1 - .
CALL . , , CALL .
.3 .
.3 -
.3 .
.3 -
S-Reg, D-Reg | ||
JEQ/JZ | , (Z) | |
JNE/JNZ | , (Z) | |
JC | , (C) | |
JNC | , (C) | |
JN | , (N) | |
JGE | , (N.XOR.V)=0 | |
JL | , (N.XOR.V)=1 | |
JMP |
PC . -511 +512 PC. 10- 10- : :
PCnew=PCold + 2 + PCoffset x 2, (1) | |
PCnew ; PCold ; PCoffset 10- . |
()