Class: GBRb::CPU::Res
- Inherits:
-
Instruction
- Object
- Instruction
- GBRb::CPU::Res
- Defined in:
- lib/gbrb/cpu/instruction.rb
Instance Attribute Summary
Attributes inherited from Instruction
Instance Method Summary collapse
- #call(r, mem) ⇒ Object
-
#initialize(bit, target, indirect = false, m = 2, t = 16) ⇒ Res
constructor
A new instance of Res.
Methods inherited from Instruction
Constructor Details
#initialize(bit, target, indirect = false, m = 2, t = 16) ⇒ Res
Returns a new instance of Res.
590 591 592 593 594 595 596 |
# File 'lib/gbrb/cpu/instruction.rb', line 590 def initialize bit, target, indirect=false, m=2, t=16 super m, t @bit = bit @mask = 0xff - 0b10 ** bit @target = target.to_sym @indirect = indirect end |
Instance Method Details
#call(r, mem) ⇒ Object
598 599 600 601 602 603 604 605 |
# File 'lib/gbrb/cpu/instruction.rb', line 598 def call r, mem if @indirect addr = r.public_send(@target).read mem.write_byte(addr, mem.read_byte(addr) & @mask) else r.public_send(@target).store r.public_send(@target).read & @mask end end |