Trait dynasmrt::DynasmApi

source ·
pub trait DynasmApi: Extend<u8> + for<'a> Extend<&'a u8> {
    // Required methods
    fn offset(&self) -> AssemblyOffset;
    fn push(&mut self, byte: u8);
    fn align(&mut self, alignment: usize, with: u8);

    // Provided methods
    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) -> ! { ... }
}
Expand description

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

Required Methods§

source

fn offset(&self) -> AssemblyOffset

Report the current offset into the assembling target

source

fn push(&mut self, byte: u8)

Push a byte into the assembling target

source

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

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

Provided Methods§

source

fn push_i8(&mut self, value: i8)

Push a signed byte into the assembling target

source

fn push_i16(&mut self, value: i16)

Push a signed word into the assembling target

source

fn push_i32(&mut self, value: i32)

Push a signed doubleword into the assembling target

source

fn push_i64(&mut self, value: i64)

Push a signed quadword into the assembling target

source

fn push_u16(&mut self, value: u16)

Push an usigned word into the assembling target

source

fn push_u32(&mut self, value: u32)

Push an usigned doubleword into the assembling target

source

fn push_u64(&mut self, value: u64)

Push an usigned quadword into the assembling target

source

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

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

Object Safety§

This trait is not object safe.

Implementors§