On this page:
add
sub
adc
sbc
bsl
bsr
sbsr
rol
ror
rlc
rrc
inv
neg
adc0
sbc0
addi
subi
bflip
btest
bset
bclr
or
cmp
and
xor

4 0100 - ALU🔗

opcode

(add n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4000

ADD Rn, Rm + IX

opcode

(sub n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4100

SUB Rn, Rm + IX

opcode

(adc n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4200

ADC Rn, Rm + IX

opcode

(sbc n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4300

SBC Rn, Rm + IX

opcode

(bsl n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4400

BSL Rn (bit shift left)

opcode

(bsr n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4401

BSR Rn (bit shift right)

opcode

(sbsr n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4403

SBSR Rn (signed bit shift right)

opcode

(rol n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4404

ROL Rn (rotate bits left)

opcode

(ror n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4405

ROR Rn (rotate bits right)

opcode

(rlc n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4406

RLC Rn (rotate left with carry)

opcode

(rrc n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4407

RRC Rn (rotate right with carry)

opcode

(inv n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4408

INV Rn (invert all bits)

opcode

(neg n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 4409

NEG Rn (arithmetic negation)

opcode

(adc0 n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 440a

ADC0 Rn (add carry and 0 to register)

opcode

(sbc0 n)

 
n = bb68-gpr
 
  n : (integer-in 0 15)

image

 mask: ff0f

value: 440b

SBB0 Rn (subtract carry and 0 from register)

opcode

(addi n i)

 
n = bb68-gpr
 
  n : (integer-in 0 15)
  i : (integer-in 0 15)

image

 mask: ff00

value: 4600

ADD Rn, IX + i (i = 0..15), also INC Rn (if i==1)

opcode

(subi n i)

 
n = bb68-gpr
 
  n : (integer-in 0 15)
  i : (integer-in 0 15)

image

 mask: ff00

value: 4700

SUB Rn, IX + i (i = 0..15), also DEC Rn (if i==1)

opcode

(bflip n i)

 
n = bb68-gpr
 
  n : (integer-in 0 15)
  i : (integer-in 0 15)

image

 mask: ff00

value: 4800

BFLIP Rn, i (flip bit 0..15)

opcode

(btest n i)

 
n = bb68-gpr
 
  n : (integer-in 0 15)
  i : (integer-in 0 15)

image

 mask: ff00

value: 4900

BTEST Rn, i (test bit 0..15)

opcode

(bset n i)

 
n = bb68-gpr
 
  n : (integer-in 0 15)
  i : (integer-in 0 15)

image

 mask: ff00

value: 4a00

BSET Rn, i (set bit 0..15)

opcode

(bclr n i)

 
n = bb68-gpr
 
  n : (integer-in 0 15)
  i : (integer-in 0 15)

image

 mask: ff00

value: 4b00

BCLR Rn, i (clear bit 0..15)

opcode

(or n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4c00

OR Rn, Rm

opcode

(cmp n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4d00

CMP Rn, Rm + IX

opcode

(and n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4e00

AND Rn, Rm

opcode

(xor n m)

 
n = bb68-gpr
     
m = bb68-gpr
 
  n : (integer-in 0 15)
  m : (integer-in 0 15)

image

 mask: ff00

value: 4f00

XOR Rn, Rm