Class: AArch64::Instructions::ORR_log_shift

Inherits:
Instruction
  • Object
show all
Defined in:
lib/aarch64/instructions/orr_log_shift.rb

Overview

ORR (shifted register) – A64 Bitwise OR (shifted register) ORR <Wd>, <Wn>, <Wm><shift> #<amount> ORR <Xd>, <Xn>, <Xm><shift> #<amount>

Instance Method Summary collapse

Constructor Details

#initialize(rd, rn, rm, shift, imm6, sf) ⇒ ORR_log_shift

Returns a new instance of ORR_log_shift.



8
9
10
11
12
13
14
15
# File 'lib/aarch64/instructions/orr_log_shift.rb', line 8

def initialize rd, rn, rm, shift, imm6, sf
  @rd    = check_mask(rd, 0x1f)
  @rn    = check_mask(rn, 0x1f)
  @rm    = check_mask(rm, 0x1f)
  @shift = check_mask(shift, 0x03)
  @imm6  = check_mask(imm6, 0x3f)
  @sf    = check_mask(sf, 0x01)
end

Instance Method Details

#encode(_) ⇒ Object



17
18
19
# File 'lib/aarch64/instructions/orr_log_shift.rb', line 17

def encode _
  ORR_log_shift(@sf, @shift, @rm, @imm6, @rn, @rd)
end