Sha256: 3d4632ef46efc03660b5d746bc1076c9d9d9c35b2cb38b57d95a8401fe2c3500

Contents?: true

Size: 446 Bytes

Versions: 2

Compression:

Stored size: 446 Bytes

Contents

module HackAssembler
  module DestinationTranslator
    def self.translate(destination)
      bytecode = @@translation_table[destination]
      raise ParserError if bytecode.nil?

      bytecode
    end

    private
    @@translation_table = {
      nil => '000',
      'M' => '001',
      'D' => '010',
      'MD' => '011',
      'A' => '100',
      'AM' => '101',
      'AD' => '110',
      'AMD' => '111'
    }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hack_assembler-0.2.0 lib/hack_assembler/destination_translator.rb
hack_assembler-0.1.0 lib/hack_assembler/destination_translator.rb