We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
Immediate Addressing: Difference between revisions
From SnesLab
(UMULT) |
(added spc commands) |
||
Line 33: | Line 33: | ||
* and presumably [[UMULT]] too | * and presumably [[UMULT]] too | ||
On the [[SPC700]], "imm" means "8-bit immediate data."<sup>[4]</sup> | On the [[SPC700]], "imm" means "8-bit immediate data."<sup>[4]</sup> These commands support immediate data: | ||
* [[MOV (SPC700)|MOV]] (Group 1) | |||
* [[ADC (SPC700)|ADC]] | |||
* [[SBC (SPC700)|SBC]] | |||
* [[CMP (SPC700)|CMP]] | |||
* [[AND (SPC700)|AND]] | |||
* [[OR (SPC700)|OR]] | |||
* [[EOR (SPC700)|EOR]] | |||
==== Syntax ==== | ==== Syntax ==== |
Revision as of 08:03, 24 July 2024
Immediate Addressing is when the data to be operated on directly follows the opcode in the instruction steam. The immediate data is generally preceded by a # in the assembler source.
Supported by the following 65c816 instructions:
- ADC (opcode 69)
- SBC (opcode E9)
- EOR (opcode 49)
- AND (opcode 29)
- ORA (opcode 09)
- LDA (opcode A9)
- LDX (opcode A2)
- LDY (opcode A0)
- CMP (opcode C9)
- CPX (opcode E0)
- CPY (opcode C0)
- BIT (opcode 89)
- SEP (opcode E2)
- REP (opcode C2)
They are all either 2 or 3 bytes long.
The Super FX supports immediate addressing too:
On the SPC700, "imm" means "8-bit immediate data."[4] These commands support immediate data:
Syntax
LDA #const
See Also
Reference
- Eyes & Lichty page 397, https://archive.org/details/0893037893ProgrammingThe65816/page/397
- lbid, page 108: https://archive.org/details/0893037893ProgrammingThe65816/page/108
- Labiak page 209: https://archive.org/details/Programming_the_65816/page/n219
- Appendix C-1 of Book I of the official Super Nintendo development manual
- section 3.5.18 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf
- Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#5.14