[][src]Trait dynasmrt::DynasmApi

pub trait DynasmApi: Extend<u8> + for<'a> Extend<&'a u8> {
    fn offset(&self) -> AssemblyOffset;
fn push(&mut self, byte: u8);
fn align(&mut self, alignment: usize, with: u8); fn push_i8(&mut self, value: i8) { ... }
fn push_i16(&mut self, value: i16) { ... }
fn push_i32(&mut self, value: i32) { ... }
fn push_i64(&mut self, value: i64) { ... }
fn push_u16(&mut self, value: u16) { ... }
fn push_u32(&mut self, value: u32) { ... }
fn push_u64(&mut self, value: u64) { ... }
fn runtime_error(&self, msg: &'static str) -> ! { ... } }

This trait represents the interface that must be implemented to allow the dynasm preprocessor to assemble into a datastructure.

Required methods

fn offset(&self) -> AssemblyOffset

Report the current offset into the assembling target

fn push(&mut self, byte: u8)

Push a byte into the assembling target

fn align(&mut self, alignment: usize, with: u8)

Push filler until the assembling target end is aligned to the given alignment.

Loading content...

Provided methods

fn push_i8(&mut self, value: i8)

Push a signed byte into the assembling target

fn push_i16(&mut self, value: i16)

Push a signed word into the assembling target

fn push_i32(&mut self, value: i32)

Push a signed doubleword into the assembling target

fn push_i64(&mut self, value: i64)

Push a signed quadword into the assembling target

fn push_u16(&mut self, value: u16)

Push an usigned word into the assembling target

fn push_u32(&mut self, value: u32)

Push an usigned doubleword into the assembling target

fn push_u64(&mut self, value: u64)

Push an usigned quadword into the assembling target

fn runtime_error(&self, msg: &'static str) -> !

This function is called in when a runtime error has to be generated. It panics.

Loading content...

Implementors

impl DynasmApi for SimpleAssembler[src]

impl<'a> DynasmApi for UncommittedModifier<'a>[src]

impl<'a, R: Relocation> DynasmApi for Modifier<'a, R>[src]

impl<R: Relocation> DynasmApi for Assembler<R>[src]

impl<R: Relocation> DynasmApi for VecAssembler<R>[src]

Loading content...