class Assembler::Instructions::CommandInstruction

Constants

COMPS_TABLE
DESTS_TABLE
JUMPS_TABLE

Public Class Methods

new(instruction) click to toggle source
# File lib/hackasm/assembler/instructions/command_instruction.rb, line 44
def initialize(instruction)
  @instruction = instruction
end

Public Instance Methods

to_b() click to toggle source
# File lib/hackasm/assembler/instructions/command_instruction.rb, line 48
def to_b
  comp_bits = COMPS_TABLE[comp]

  binary_instruction = "111"
  binary_instruction << COMPS_TABLE[comp]
  binary_instruction << DESTS_TABLE[dest]
  binary_instruction << JUMPS_TABLE[jump]

  binary_instruction
rescue
  binding.pry
end

Private Instance Methods

comp() click to toggle source
# File lib/hackasm/assembler/instructions/command_instruction.rb, line 71
def comp
  @instruction[:comp] && @instruction[:comp].to_s.tr(" ", "")
end
dest() click to toggle source
# File lib/hackasm/assembler/instructions/command_instruction.rb, line 63
def dest
  @instruction[:dest] && @instruction[:dest].to_s
end
jump() click to toggle source
# File lib/hackasm/assembler/instructions/command_instruction.rb, line 67
def jump
  @instruction[:jump] && @instruction[:jump].to_s
end