|
|
|
@ -29,7 +29,7 @@ unsafe {
|
|
|
|
|
|
|
|
|
|
注意 `unsafe` 语句块依然是必不可少的,因为可能在里面插入危险的指令,最终破坏代码的安全性。
|
|
|
|
|
|
|
|
|
|
上面代码将插入一个 `NOP` 指令( 空操作 ) 到编译器生成的汇编代码中,其中指令作为 `asn!` 的第一个参数传入。
|
|
|
|
|
上面代码将插入一个 `NOP` 指令( 空操作 ) 到编译器生成的汇编代码中,其中指令作为 `asm!` 的第一个参数传入。
|
|
|
|
|
|
|
|
|
|
## 输入和输出
|
|
|
|
|
|
|
|
|
@ -272,4 +272,4 @@ assert_eq!(x, 4 * 6);
|
|
|
|
|
|
|
|
|
|
由于这块儿内容过于专业,本书毕竟是通用的 Rust 学习书籍,因此关于内联汇编就不再赘述。事实上,如果你要真的写出可用的汇编代码,要学习的还很多...
|
|
|
|
|
|
|
|
|
|
感兴趣的同学可以看看如下英文资料: [Rust Reference](https://doc.rust-lang.org/reference/inline-assembly.html) 和 [Rust By Example](https://doc.rust-lang.org/rust-by-example/unsafe/asm.html#clobbered-registers)。
|
|
|
|
|
感兴趣的同学可以看看如下英文资料: [Rust Reference](https://doc.rust-lang.org/reference/inline-assembly.html) 和 [Rust By Example](https://doc.rust-lang.org/rust-by-example/unsafe/asm.html#clobbered-registers)。
|
|
|
|
|