Arithmetic Operation 32bit¶
Ch 12
ALU — Arithmetic Logic Unit |
**Group:** Arithmetic Operation 32bit |
**Forms:** 21 |
**Unique mnemonics:** 21
32-bit (word) integer arithmetic instructions.
Instructions¶
| Mnemonic | Assembly | Length | Decode | Description |
|---|---|---|---|---|
| ADDIW | addiw SrcL, uimm, ->{t, u, Rd} |
32 | — | 32-bit word add-immediate. |
| ADDW | addw SrcL, SrcR<{.sw,.uw,.neg}><<<shamt>, ->{t, u, Rd} |
32 | — | 32-bit word integer addition. |
| ANDIW | andiw SrcL, simm, ->{t, u, Rd} |
32 | — | 32-bit word AND-immediate. |
| ANDW | andw SrcL, SrcR<{.sw,.uw,.not}><<<shamt>, ->{t, u, Rd} |
32 | — | 32-bit word bitwise AND. |
| HL.ADDIW | hl.addiw SrcL, uimm, ->{t, u, Rd} |
48 | — | [48-bit HL.] Instruction from the Arithmetic Operation 32bit group. |
| HL.ANDIW | hl.andiw SrcL, simm, ->{t, u, Rd} |
48 | — | [48-bit HL.] Instruction from the Arithmetic Operation 32bit group. |
| HL.ORIW | hl.oriw SrcL, simm, ->{t, u, Rd} |
48 | — | [48-bit HL.] Instruction from the Arithmetic Operation 32bit group. |
| HL.SUBIW | hl.subiw SrcL, uimm, ->{t, u, Rd} |
48 | — | [48-bit HL.] Instruction from the Arithmetic Operation 32bit group. |
| HL.XORIW | hl.xoriw SrcL, simm, ->{t, u, Rd} |
48 | — | [48-bit HL.] Instruction from the Arithmetic Operation 32bit group. |
| ORIW | oriw SrcL, simm, ->{t, u, Rd} |
32 | — | 32-bit word OR-immediate. |
| ORW | orw SrcL, SrcR<{.sw,.uw,.not}><<<shamt>, ->{t, u, Rd} |
32 | — | 32-bit word bitwise OR. |
| SLLIW | slliw SrcL, shamt, ->{t, u, Rd} |
32 | — | 32-bit word logical left shift (immediate). |
| SLLW | sllw SrcL, SrcR, ->{t, u, Rd} |
32 | — | 32-bit word logical left shift. |
| SRAIW | sraiw SrcL, shamt, ->{t, u, Rd} |
32 | — | 32-bit word arithmetic right shift (immediate). |
| SRAW | sraw SrcL, SrcR, ->{t, u, Rd} |
32 | — | 32-bit word arithmetic right shift. |
| SRLIW | srliw SrcL, shamt, ->{t, u, Rd} |
32 | — | 32-bit word logical right shift (immediate). |
| SRLW | srlw SrcL, SrcR, ->{t, u, Rd} |
32 | — | 32-bit word logical right shift. |
| SUBIW | subiw SrcL, uimm, ->{t, u, Rd} |
32 | — | Instruction from the Arithmetic Operation 32bit group. |
| SUBW | subw SrcL, SrcR<{.sw,.uw,.neg}><<<shamt>, ->{t, u, Rd} |
32 | — | 32-bit word integer subtraction. |
| XORIW | xoriw SrcL, simm, ->{t, u, Rd} |
32 | — | 32-bit word XOR-immediate. |
| XORW | xorw SrcL, SrcR<{.sw,.uw,.not}><<<shamt>, ->{t, u, Rd} |
32 | — | 32-bit word bitwise XOR. |