rz-asm - Man Page
rizin assembler and disassembler tool
Synopsis
Description
This command is part of the Rizin project.
This tool uses RzAsm to assemble and disassemble files or hexpair strings. It supports a large list of architectures which can be listed using the -L flag.
- -a arch
 Set architecture to assemble/disassemble (see -L)
- -A
 Show analysis information from given hexpairs
- -b bits
 Set CPU register size (8, 16, 32, 64) (RZ_ASM_BITS)
- -B
 Binary input/output (-l is mandatory for binary input)
- -c CPU
 Select specific CPU (depends on the arch)
- -C
 Output in C format
- -d, -D
 Disassemble from hexpair bytes (-D show hexpairs)
- -e
 Use big endian instead of little endian
- -I
 Display lifted RzIL code (same input as in -d, IL is also validated)
- -E
 Display ESIL expression (same input as in -d)
- -f file
 Read data from file
- -F in:out
 Specify input and/or output filters (att2intel, x86.pseudo, ...)
- -h, -hh
 Show usage help message, hh for long
- -i len
 Ignore N bytes of the input buffer
- -j
 Output in JSON format
- -k kernel
 Select operating system (linux, windows, darwin, ..)
- -l len
 Input/Output length
- -L
 List asm plugins: (a=asm, d=disasm, A=analyze, e=ESIL)
- -o, -@ addr
 Set start address for code (default 0)
- -O file
 - -p
 Run SPP over input for assembly
- -q
 Quiet mode
- -r
 Output in rizin commands
- -s syntax
 Select syntax (intel, att)
- -v
 Show version information
- -x
 Use hex dwords instead of hex pairs when assembling
- -w
 Describe opcode
Directives
- .intel_syntax
 Use Intel syntax rather than AT&T
- .att_syntax
 Use AT&T syntax rather than Intel
- .align number
 Set the code or data alignment
- .arch name
 Set the code architecture
- .arm
 Set the ARM mode (as opposed to Thumb) for ARM architecture
- .ascii string
 Define the ASCII string
- .asciz string
 Define the zero-ending ASCII string
- .bits number
 Define the code bitness
- .big_endian
 Set the BE (big endian) byte order
- .cpu name
 Set the CPU for the chosen architecture
- .data
 Mark the start of the data section
- .endian 1|0
 Set the endianness (the byte order) - 1 is BE, 0 is LE
- .equ name value
 Define the constant
- .fill repeat,size,value
 Fill the data with the repeating value pattern
- .hex data
 Define the data in hexadecimal format
- .incbin filename
 Include binary file
- .int16 number
 Define 16-bit integer
- .int32 number
 Define 32-bit integer
- .int64 number
 Define 64-bit integer
- .kernel name
 Set the kernel for syscalls
- .little_endian
 Set the LE (little endian) byte order
- .org value
 Set the value of the PC (Program Counter) register
- .os name
 Set the operating system for syscalls
- .short number
 Define 16-bit integer
- .string string
 Define the ASCII string
- .text
 Mark the start of the text section
- .thumb
 Set the Thumb mode (as opposed to ARM) for ARM architecture
Examples
Assemble opcode:
rz-asm -a x86 -b 32 'mov eax, 33'
Disassemble opcode:
rz-asm -d 90
See Also
rizin(1), rz-find(1), rz-hash(1), rz-bin(1), rz-diff(1), rz-gg(1), rz-run(1), rz-ax(1),
Authors
pancake <pancake@nopcode.org>
byteninjaa0
Referenced By
rizin(1), rz-ax(1), rz-bin(1), rz-diff(1), rz-find(1), rz-gg(1), rz-hash(1), rz-run(1), rz-sign(1).