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

JSL: Difference between revisions

From SnesLab
Jump to: navigation, search
(linkify flags)
(→‎Execution Sequence: return address)
 
(7 intermediate revisions by the same user not shown)
Line 35: Line 35:
|}
|}


'''JSL''' (Jump to Subroutine Long) is a [[65c816]] instruction that transfers control to a subroutine, possibly one in a different bank.
'''JSL''' (Jump to Subroutine Long) is a [[65c816]] instruction that transfers control to a subroutine, possibly one in a different [[bank]].
 
==== Execution Sequence ====
* the current program counter bank is pushed onto the [[stack]]
* the [[return address]] is pushed onto the stack
* control is transferred to the target location


=== See Also ===
=== See Also ===
Line 42: Line 47:


=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page on JSL: https://archive.org/details/0893037893ProgrammingThe65816/page/n486\
* [[Eyes & Lichty]] page 460 on JSL: https://archive.org/details/0893037893ProgrammingThe65816/page/n486
* [[Labiak]] page on JSL: https://archive.org/details/Programming_the_65816/page/n157
* [[Labiak]] page 147 on JSL: https://archive.org/details/Programming_the_65816/page/n157


[[Category:ASM]]
[[Category:ASM]]
[[Category:65c816 additions]]
[[Category:65c816 additions]]
[[Category:Unconditional Branches]]
[[Category:Unconditional Branches]]
[[Category:Four-byte Instructions]]

Latest revision as of 09:58, 18 December 2023

Basic Info
Addressing Mode Opcode Length Speed
Absolute Long 22 4 byte 8 cycles
Flags Affected
N V M X D I Z C
. . . . . . . .

JSL (Jump to Subroutine Long) is a 65c816 instruction that transfers control to a subroutine, possibly one in a different bank.

Execution Sequence

  • the current program counter bank is pushed onto the stack
  • the return address is pushed onto the stack
  • control is transferred to the target location

See Also

External Links