IP2022 Data Sheet www.ubicom.com 41 dec w,fr W = fr -1 Decrement fr into W 1 0000 110f ffff ffff Z decsnz fr fr = fr - 1 if fr != 0 then skip Decrement fr into fr then skip if
not zero (STATUS not updated)
    1 or
2 (skip)
0100 111f ffff ffff None decsnz w,fr W = fr - 1
if fr != 0 then skip
Decrement fr into W then skip if
not zero (STATUS not updated)
    1 or
2 (skip)
0100 110f ffff ffff None decsz fr fr = fr - 1
if fr = 0 then skip
Decrement fr into fr then skip if
zero (STATUS not updated)
    1 or
2 (skip)
0010 111f ffff ffff None decsz w,fr W = fr - 1
if fr = 0 then skip
Decrement fr into W then skip if
zero (STATUS not updated)
    1 or
2 (skip)
0010 110f ffff ffff None inc fr fr = fr + 1 Increment fr into fr 1 0010 101f ffff ffff Z inc w,fr W = fr + 1 Increment fr into W 1 0010 100f ffff ffff Z incsnz fr fr = fr + 1 if fr != 0 then skip Increment fr into fr then skip if
not zero (STATUS not updated)
    1 or
2 (skip)
0101 101f ffff ffff None incsnz w,fr W = fr + 1
if fr != 0 then skip
Increment fr into W then skip if
not zero (STATUS not updated)
    1 or
2 (skip)
0101 100f ffff ffff None incsz fr fr = fr + 1
if fr = 0 then skip
Increment fr into fr then skip if
zero (STATUS not updated)
    1 or
2 (skip)
0011 111f ffff ffff None incsz w,fr W = fr + 1
if fr = 0 then skip
Increment fr into W then skip if
zero (STATUS not updated)
    1 or
2 (skip)
0011 110f ffff ffff None muls w,fr MULH || W = W × fr    Signed 8 × 8 multiply (bit 7 = sign); W x fr into MULH || W (bit 7
of MULH is result sign)
1 0101 010f ffff ffff None muls w,#lit8   MULH || W = W × lit8    Signed 8 × 8 multiply (bit 7 = sign); W x literal into MULH || W
(bit 7 of MULH is result sign)
1 0111 0011 kkkk kkkk None mulu w,fr MULH || W = W × fr    Unsigned 8 × 8 multiply; W x fr into MULH || W 1 0101 000f ffff ffff None mulu w,#lit8   MULH || W = W × lit8    Unsigned 8 × 8 multiply; W x lit- eral into MULH || W 1 0111 0010 kkkk kkkk None rl fr fr || C = C || fr Rotate fr left through carry into fr 1 0011 011f ffff ffff C rl w,fr W || C = C || fr Rotate fr left through carry into W 1 0011 010f ffff ffff C rr fr C || fr = fr || C Rotate fr right through carry into
fr
1 0011 001f ffff ffff C rr w,fr C || W = fr || C Rotate fr right through carry into
W
1 0011 000f ffff ffff C sub fr,w fr = fr - W Subtract W from fr into fr 1 0000 101f ffff ffff   C, DC, Z sub w,fr W = fr - W Subtract W from fr into W 1 0000 100f ffff ffff   C, DC, Z sub w,#lit8 W = lit8 - W Subtract W from literal into W 1 0111 1010 kkkk kkkk   C, DC, Z subc fr,w fr = fr - C - W Subtract carry,W from fr into fr 1 0100 101f ffff ffff   C, DC, Z Table 4-3  Arithmetic and Shift Instructions (continued) Assembler Syntax Pseudocode Definition Description Cycles Opcode    Flags
Affected