Multiply the two operands and store the product in the left operand.
| Opcode | Bytes | Cycles | Form | Example |
|---|
| $9d | 3 | 8 | multiply b:_, {s_byte} | multiply b:1, 123 |
| $9e | 3 | 9 | multiply p:_, {s_byte} | multiply p:2, 123 |
| $9f | 3 | 11 | multiply i:_, {s_byte} | multiply i:4, 123 |
| $a0 | 3 | 11 | multiply i:_, b:_ | multiply i:4, b:8 |
| $a1 | 3 | 11 | multiply i:_, p:_ | multiply i:4, p:8 |
| $a2 | 3 | 11 | multiply i:_, i:_ | multiply i:4, i:8 |
| Condition flag | Output |
|---|
| zero (ZF) | If the product is zero, this flag is 1; otherwise it is 0. |
| negative (NF) | If the signed product is a negative number, this flag is 1; otherwise it is 0. |
| overflow (OF) | If the product exceeds the register's signed range, this flag is 1; otherwise it is 0. |
| carry (CF) | This flag is always 0. |