Class: Udb::Instruction::Encoding::Field
- Inherits:
-
Object
- Object
- Udb::Instruction::Encoding::Field
- Defined in:
- lib/udb/obj/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 and 1’s or a bunch of dashes.
-
#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.
865 866 867 868 |
# File 'lib/udb/obj/instruction.rb', line 865 def initialize(name, range) @name = name.to_s @range = range end |
Instance Attribute Details
#name ⇒ String (readonly)
Returns Either string of 0’s and 1’s or a bunch of dashes.
858 859 860 |
# File 'lib/udb/obj/instruction.rb', line 858 def name @name end |
#range ⇒ Range (readonly)
Returns Range of bits in the parent corresponding to this field.
861 862 863 |
# File 'lib/udb/obj/instruction.rb', line 861 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).
871 872 873 |
# File 'lib/udb/obj/instruction.rb', line 871 def opcode? name.match?(/^[01]+$/) end |
#to_s ⇒ Object
875 876 877 |
# File 'lib/udb/obj/instruction.rb', line 875 def to_s "#{name}[#{range}]" end |