在Windows中使用汇编获得CPU ID

use std::arch::asm;

fn main(){
    let mut a: u32 = 0; //eax
    let mut d: u32 = 0; //edx

    unsafe {
        asm!( 
        "mov edi, ebx",
         "cpuid",
         "xchg edi, ebx",
         in("eax") 1,
         lateout("eax") a,
         out("edx") d,
        )
    }

    let hex = format!("{:08X}{:08X}", d, a);
    println!{"{}", hex};
}

结果
178BFBFF00610F01

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!