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. |