Class: SeccompTools::Instruction::ST
- Defined in:
- lib/seccomp-tools/instruction/st.rb
Overview
Instruction st, stores the accumulator register A into a slot of the scratch memory.
STX inherits from this class and stores the X register instead.
Direct Known Subclasses
Constant Summary
Constants included from Const::BPF
Const::BPF::ACTION, Const::BPF::COMMAND, Const::BPF::JMP, Const::BPF::MISCOP, Const::BPF::MODE, Const::BPF::OP, Const::BPF::PR_SET_SECCOMP, Const::BPF::SECCOMP_MODE_FILTER, Const::BPF::SECCOMP_MODE_STRICT, Const::BPF::SECCOMP_RET_ACTION_FULL, Const::BPF::SECCOMP_RET_DATA, Const::BPF::SECCOMP_SET_MODE_FILTER, Const::BPF::SECCOMP_SET_MODE_STRICT, Const::BPF::SIZEOF_SECCOMP_DATA, Const::BPF::SRC
Instance Method Summary collapse
-
#branch(state) ⇒ Array<(Integer, Symbolic::State)>
See Base#branch.
-
#decompile ⇒ String
Decompile instruction.
-
#symbolize ⇒ [:st, (:a, :x), Integer]
See Base#symbolize.
Methods inherited from LD
Methods inherited from Base
Methods included from Const::BPF
Constructor Details
This class inherits a constructor from SeccompTools::Instruction::Base
Instance Method Details
#branch(state) ⇒ Array<(Integer, Symbolic::State)>
See Base#branch.
30 31 32 33 34 |
# File 'lib/seccomp-tools/instruction/st.rb', line 30 def branch(state) mem = state.mem.dup mem[k] = reg == 'X' ? state.x : state.a [[line + 1, state.with(mem:)]] end |
#decompile ⇒ String
Decompile instruction.
14 15 16 |
# File 'lib/seccomp-tools/instruction/st.rb', line 14 def decompile "mem[#{k}] = #{reg}" end |
#symbolize ⇒ [:st, (:a, :x), Integer]
See Base#symbolize.
21 22 23 |
# File 'lib/seccomp-tools/instruction/st.rb', line 21 def symbolize [:st, reg.downcase.to_sym, k] end |