Module: Ronin::Code::ASM

Defined in:
lib/ronin/code/asm.rb,
lib/ronin/code/asm/os.rb,
lib/ronin/code/asm/os/os.rb,
lib/ronin/code/asm/config.rb,
lib/ronin/code/asm/program.rb,
lib/ronin/code/asm/version.rb,
lib/ronin/code/asm/os/linux.rb,
lib/ronin/code/asm/register.rb,
lib/ronin/code/asm/archs/x86.rb,
lib/ronin/code/asm/shellcode.rb,
lib/ronin/code/asm/os/freebsd.rb,
lib/ronin/code/asm/syntax/att.rb,
lib/ronin/code/asm/archs/amd64.rb,
lib/ronin/code/asm/instruction.rb,
lib/ronin/code/asm/syntax/intel.rb,
lib/ronin/code/asm/syntax/common.rb,
lib/ronin/code/asm/memory_operand.rb,
lib/ronin/code/asm/immediate_operand.rb

Defined Under Namespace

Modules: Archs, Config, OS, Syntax Classes: ImmediateOperand, Instruction, MemoryOperand, Program, Register, Shellcode

Constant Summary collapse

VERSION =

ronin-code-asm version

'1.0.0'

Class Method Summary collapse

Class Method Details

.new(**kwargs) { ... } ⇒ Program

Creates a new Assembly Program.

Examples:

ASM.new do
  mov  1, eax
  mov  1, ebx
  mov  2, ecx

  _loop do
    push  ecx
    imul  ebx, ecx
    pop   ebx

    inc eax
    cmp ebx, 10
    jl  :_loop
  end
end

Parameters:

Options Hash (**kwargs):

  • :arch (String, Symbol) — default: :x86

    The architecture of the Program.

  • :variables (Hash{Symbol => Object})

    Variables to set in the program.

Yields:

  • [] The given block will be evaluated within the program.

Returns:

  • (Program)

    The new Assembly Program.



63
64
65
# File 'lib/ronin/code/asm.rb', line 63

def ASM.new(**kwargs,&block)
  Program.new(**kwargs,&block)
end