pub struct X64CodeBuilder { /* private fields */ }Expand description
X64 代码构建器
现在使用 context 来管理代码生成状态
Implementations§
Source§impl X64CodeBuilder
impl X64CodeBuilder
Sourcepub fn context_mut(&mut self) -> &mut X64Context
pub fn context_mut(&mut self) -> &mut X64Context
获取上下文的可变引用
Sourcepub fn context(&self) -> &X64Context
pub fn context(&self) -> &X64Context
获取上下文的不可变引用
Sourcepub fn finish(self) -> X64Context
pub fn finish(self) -> X64Context
完成代码生成并返回上下文
Sourcepub fn function_prologue(&mut self) -> &mut Self
pub fn function_prologue(&mut self) -> &mut Self
生成函数序言
Sourcepub fn function_epilogue(&mut self) -> &mut Self
pub fn function_epilogue(&mut self) -> &mut Self
生成函数尾声
Sourcepub fn exit_program(&mut self, exit_code: i32) -> &mut Self
pub fn exit_program(&mut self, exit_code: i32) -> &mut Self
生成退出程序代码
Sourcepub fn load_immediate(&mut self, value: i64)
pub fn load_immediate(&mut self, value: i64)
实现 context 管理功能
pub fn load_string_address(&mut self, string_id: &str)
pub fn store_local(&mut self, _offset: i32)
pub fn load_local(&mut self, offset: i32)
pub fn add_operation(&mut self)
pub fn sub_operation(&mut self)
pub fn mul_operation(&mut self)
pub fn call_printf(&mut self)
pub fn pop_stack(&mut self)
pub fn conditional_jump_false(&mut self, label: &str)
pub fn unconditional_jump(&mut self, label: &str)
Sourcepub fn hello_world_program() -> Vec<u8> ⓘ
pub fn hello_world_program() -> Vec<u8> ⓘ
生成 Hello World 程序
Sourcepub fn message_box_program() -> Vec<u8> ⓘ
pub fn message_box_program() -> Vec<u8> ⓘ
生成消息框程序
Trait Implementations§
Auto Trait Implementations§
impl Freeze for X64CodeBuilder
impl RefUnwindSafe for X64CodeBuilder
impl Send for X64CodeBuilder
impl Sync for X64CodeBuilder
impl Unpin for X64CodeBuilder
impl UnwindSafe for X64CodeBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more