Class: AArch64::Instructions::LDADD

Inherits:
Instruction show all
Defined in:
lib/aarch64/instructions/ldadd.rb

Overview

LDADD, LDADDA, LDADDAL, LDADDL – A64 Atomic add on word or doubleword in memory LDADD <Ws>, <Wt>, [<Xn|SP>] LDADDA <Ws>, <Wt>, [<Xn|SP>] LDADDAL <Ws>, <Wt>, [<Xn|SP>] LDADDL <Ws>, <Wt>, [<Xn|SP>] LDADD <Xs>, <Xt>, [<Xn|SP>] LDADDA <Xs>, <Xt>, [<Xn|SP>] LDADDAL <Xs>, <Xt>, [<Xn|SP>] LDADDL <Xs>, <Xt>, [<Xn|SP>]

Instance Method Summary collapse

Constructor Details

#initialize(rs, rt, rn, size, a, r) ⇒ LDADD

Returns a new instance of LDADD.



14
15
16
17
18
19
20
21
# File 'lib/aarch64/instructions/ldadd.rb', line 14

def initialize rs, rt, rn, size, a, r
  @rs   = check_mask(rs, 0x1f)
  @rt   = check_mask(rt, 0x1f)
  @rn   = check_mask(rn, 0x1f)
  @size = check_mask(size, 0x03)
  @a    = check_mask(a, 0x01)
  @r    = check_mask(r, 0x01)
end

Instance Method Details

#encode(_) ⇒ Object



23
24
25
# File 'lib/aarch64/instructions/ldadd.rb', line 23

def encode _
  LDADD(@size, @a, @r, @rs, @rn, @rt)
end