Class: Instruction::Encoding::Field
- Inherits:
-
Object
- Object
- Instruction::Encoding::Field
- Defined in:
- lib/arch_obj_models/instruction.rb
Overview
represents an encoding field (contiguous set of bits that form an opcode or decode variable slot)
Instance Attribute Summary collapse
-
#name ⇒ String
readonly
Either string of 0’s ans 1’s or a bunch of dashses.
-
#range ⇒ Range
readonly
Range of bits in the parent corresponding to this field.
Instance Method Summary collapse
-
#initialize(name, range) ⇒ Field
constructor
A new instance of Field.
-
#opcode? ⇒ Boolean
Whether or not the field represents part of the opcode (i.e., not a decode variable).
- #to_s ⇒ Object
Constructor Details
#initialize(name, range) ⇒ Field
Returns a new instance of Field.
502 503 504 505 |
# File 'lib/arch_obj_models/instruction.rb', line 502 def initialize(name, range) @name = name.to_s @range = range end |
Instance Attribute Details
#name ⇒ String (readonly)
Returns Either string of 0’s ans 1’s or a bunch of dashses.
495 496 497 |
# File 'lib/arch_obj_models/instruction.rb', line 495 def name @name end |
#range ⇒ Range (readonly)
Returns Range of bits in the parent corresponding to this field.
498 499 500 |
# File 'lib/arch_obj_models/instruction.rb', line 498 def range @range end |
Instance Method Details
#opcode? ⇒ Boolean
Returns whether or not the field represents part of the opcode (i.e., not a decode variable).
508 509 510 |
# File 'lib/arch_obj_models/instruction.rb', line 508 def opcode? name.match?(/^[01]+$/) end |
#to_s ⇒ Object
512 513 514 |
# File 'lib/arch_obj_models/instruction.rb', line 512 def to_s "#{name}[#{range}]" end |