37
AT94KAL Series FPSLIC
Rev. 1138G–FPSLI–11/03
CBR
Rd, K
Clear Bit(s) in Register
Rd
←
Rd
•
($FFh - K)
Z,N,V,S
1
INC
Rd
Increment
Rd
←
Rd + 1
Z,N,V,S
1
DEC
Rd
Decrement
Rd
←
Rd - 1
Z,N,V,S
1
TST
Rd
Test for Zero or Minus
Rd
←
Rd
•
Rd
Z,N,V,S
1
CLR
Rd
Clear Register
Rd
←
Rd
⊕
Rd
Z,N,V,S
1
SER
Rd
Set Register
Rd
←
$FF
None
1
MUL
Rd, Rr
Multiply Unsigned
R1:R0
←
Rd
×
Rr (UU)
Z,C
2
MULS
Rd, Rr
Multiply Signed
R1:R0
←
Rd
×
Rr (SS)
Z,C
2
MULSU
Rd, Rr
Multiply Signed with Unsigned
R1:R0
←
Rd
×
Rr (SU)
Z,C
2
FMUL
Rd, Rr
Fractional Multiply Unsigned
R1:R0
←
(Rd
×
Rr)<<1 (UU)
Z,C
2
FMULS
Rd, Rr
Fractional Multiply Signed
R1:R0
←
(Rd
×
Rr)<<1 (SS)
Z,C
2
FMULSU
Rd, Rr
Fractional Multiply Signed with
Unsigned
R1:R0
←
(Rd
×
Rr)<<1 (SU)
Z,C
2
Branch Instructions
RJMP
k
Relative Jump
PC
←
PC + k + 1
None
2
IJMP
Indirect Jump to (Z)
PC(15:0)
←
Z
None
2
JMP
k
Jump
PC
←
k
None
3
RCALL
k
Relative Call Subroutine
PC
←
PC + k + 1
None
3
ICALL
Indirect Call to (Z)
PC(15:0)
←
Z
None
3
CALL
k
Call Subroutine
PC
←
k
None
4
RET
Subroutine Return
PC
←
STACK
None
4
RETI
Interrupt Return
PC
←
STACK
I
4
CPSE
Rd, Rr
Compare, Skip if Equal
if (Rd = Rr) PC
←
PC + 2 or 3
None
1 / 2 / 3
CP
Rd, Rr
Compare
Rd - Rr
Z,C,N,V,S,H
1
CPC
Rd, Rr
Compare with Carry
Rd - Rr - C
Z,C,N,V,S,H
1
CPI
Rd, K
Compare with Immediate
Rd - K
Z,C,N,V,S,H
1
SBRC
Rr, b
Skip if Bit in Register Cleared
if (Rr(b) = 0) PC
←
PC + 2 or 3
None
1 / 2 / 3
SBRS
Rr, b
Skip if Bit in Register Set
if (Rr(b) = 1) PC
←
PC + 2 or 3
None
1 / 2 / 3
SBIC
A, b
Skip if Bit in I/O Register Cleared
if(I/O(A,b) = 0) PC
←
PC + 2 or 3
None
1 / 2 / 3
SBIS
A, b
Skip if Bit in I/O Register Set
If(I/O(A,b) = 1) PC
←
PC + 2 or 3
None
1 / 2 / 3
BRBS
s, k
Branch if Status Flag Set
if (SREG(s) = 1) then PC
←
PC+k+1
None
1 / 2
BRBC
s, k
Branch if Status Flag Cleared
if (SREG(s) = 0) then PC
←
PC+k+1
None
1 / 2
BREQ
k
Branch if Equal
if (Z = 1) then PC
←
PC + k + 1
None
1 / 2
BRNE
k
Branch if Not Equal
if (Z = 0) then PC
←
PC + k + 1
None
1 / 2
BRCS
k
Branch if Carry Set
if (C = 1) then PC
←
PC + k + 1
None
1 / 2
BRCC
k
Branch if Carry Cleared
if (C = 0) then PC
←
PC + k + 1
None
1 / 2
Instruction Set Summary (Continued)
Mnemonics
Operands
Description
Operation
Flags
#Clock