Class: GBRb::InstructionSet::Instruction

Inherits:
Object
  • Object
show all
Defined in:
lib/gbrb/instruction_set/instruction.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(m = 1, t = 4, immediates = 0, *extra) ⇒ Instruction

Returns a new instance of Instruction.



5
6
7
8
9
# File 'lib/gbrb/instruction_set/instruction.rb', line 5

def initialize m=1, t=4, immediates=0, *extra
  @m = m
  @t = t
  @immediates = immediates
end

Instance Attribute Details

#iObject

Returns the value of attribute i.



3
4
5
# File 'lib/gbrb/instruction_set/instruction.rb', line 3

def i
  @i
end

#mObject

Returns the value of attribute m.



3
4
5
# File 'lib/gbrb/instruction_set/instruction.rb', line 3

def m
  @m
end

#tObject

Returns the value of attribute t.



3
4
5
# File 'lib/gbrb/instruction_set/instruction.rb', line 3

def t
  @t
end

Instance Method Details

#call(r, mem) ⇒ Object



15
16
17
# File 'lib/gbrb/instruction_set/instruction.rb', line 15

def call r, mem
  nil
end

#carry?(left, right, mask) ⇒ Boolean

Returns:



19
20
21
# File 'lib/gbrb/instruction_set/instruction.rb', line 19

def carry? left, right, mask
  (mask-1 & left).public_send(@op, mask-1 & right) & mask == mask
end

#immediate_countObject



11
12
13
# File 'lib/gbrb/instruction_set/instruction.rb', line 11

def immediate_count
  @immediates
end