Class: AArch64::Instructions::CASP

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

Overview

CASP, CASPA, CASPAL, CASPL – A64 Compare and Swap Pair of words or doublewords in memory CASP <Ws>, <W(s+1)>, <Wt>, <W(t+1)>, [<Xn|SP>,,#0] CASPA <Ws>, <W(s+1)>, <Wt>, <W(t+1)>, [<Xn|SP>,,#0] CASPAL <Ws>, <W(s+1)>, <Wt>, <W(t+1)>, [<Xn|SP>,,#0] CASPL <Ws>, <W(s+1)>, <Wt>, <W(t+1)>, [<Xn|SP>,,#0] CASP <Xs>, <X(s+1)>, <Xt>, <X(t+1)>, [<Xn|SP>,,#0] CASPA <Xs>, <X(s+1)>, <Xt>, <X(t+1)>, [<Xn|SP>,,#0] CASPAL <Xs>, <X(s+1)>, <Xt>, <X(t+1)>, [<Xn|SP>,,#0] CASPL <Xs>, <X(s+1)>, <Xt>, <X(t+1)>, [<Xn|SP>,,#0]

Instance Method Summary collapse

Constructor Details

#initialize(rs, rt, rn, l, o0, sf) ⇒ CASP

Returns a new instance of CASP.



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

def initialize rs, rt, rn, l, o0, sf
  @rs = rs
  @rt = rt
  @rn = rn
  @l  = l
  @o0 = o0
  @sf = sf
end

Instance Method Details

#encodeObject



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

def encode
  CASP(@sf, @l, @rs.to_i, @o0, @rn.to_i, @rt.to_i)
end