We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

TCALL (SPC700): Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎External Links: fix broken link)
Line 142: Line 142:
* [[CALL]]
* [[CALL]]
* [[PCALL]]
* [[PCALL]]
* [[RET]]


=== External Links ===
=== External Links ===

Revision as of 17:35, 8 August 2024

Basic Info
Addressing Mode Opcode Length Speed Vector Address
Implied (type 3) 01 1 byte 8 cycles $FFDE
Implied (type 3) 11 1 byte 8 cycles $FFDC
Implied (type 3) 21 1 byte 8 cycles $FFDA
Implied (type 3) 31 1 byte 8 cycles $FFD8
Implied (type 3) 41 1 byte 8 cycles $FFD6
Implied (type 3) 51 1 byte 8 cycles $FFD4
Implied (type 3) 61 1 byte 8 cycles $FFD2
Implied (type 3) 71 1 byte 8 cycles $FFD0
Implied (type 3) 81 1 byte 8 cycles $FFCE
Implied (type 3) 91 1 byte 8 cycles $FFCC
Implied (type 3) A1 1 byte 8 cycles $FFCA
Implied (type 3) B1 1 byte 8 cycles $FFC8
Implied (type 3) C1 1 byte 8 cycles $FFC6
Implied (type 3) D1 1 byte 8 cycles $FFC4
Implied (type 3) E1 1 byte 8 cycles $FFC2
Implied (type 3) F1 1 byte 8 cycles $FFC0
Flags Affected
N V P B H I Z C
. . . . . . . .

TCALL (Table CALl) is an SPC700 instruction that calls a subroutine whose address is stored in the uppermost page. The low byte of the address of the vector (pointer to subroutine) is a function of the high nybble of the opcode, equal to $DE - n*2. The high byte of the vector address is always $FF.

No flags are affected.

Syntax

TCALL n

where n is the vector call number, a decimal integer from 0 to 15, which becomes the high nybble of the opcode.

See Also

External Links