V语言学习笔记-31内联汇编代码

内联汇编代码

V语言可以像C语言那样,在v代码中直接编写/嵌入汇编代码(inline asm)

使用asm代码块来编写汇编代码,asm代码块必须被包含在unsafe代码块中

module main

fn main() {
    a := 10
    b := 0
    unsafe {    //unsafe代码块
        asm {   //asm代码块,里面可以直接写汇编代码
            "movl %1, %%eax;"
            "movl %%eax, %0;"
            :"=r"(b)
            :"r"(a)
            :"%eax"
        }
    }
    println(a) //返回10
    println(b) //返回10,直接通过汇编代码修改了b的值

    e := 0
    unsafe {
        asm {
            "movl $5, %0"
            :"=a"(e)
        }
    }
    println(e) //返回5,直接通过汇编代码修改了e的值
}
 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。