| Games-NES-Emulator documentation | Contained in the Games-NES-Emulator distribution. |
CPU::Emulator::6502::Op::JSR - Jump and save the return address
Save return address and jump to $addr.
Brian Cassidy <bricas@cpan.org>
Copyright 2007 by Brian Cassidy
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Games-NES-Emulator documentation | Contained in the Games-NES-Emulator distribution. |
package CPU::Emulator::6502::Op::JSR; use strict; use warnings; use constant INSTRUCTIONS => { 0x20 => { addressing => 'absolute', cycles => 6, code => \&jsr, } };
sub jsr { my $self = shift; my $addr = shift; my $reg = $self->registers; my $mem = $self->memory; $reg->{ pc }--; $self->push_stack( $self->hi_byte( $reg->{ pc } ) ); $self->push_stack( $self->lo_byte( $reg->{ pc } ) ); $reg->{ pc } = $addr; }
1;