assembly - x86 中的发布语义是否只影响读写指令?
问题描述
x86 中的写入指令具有释放语义,本教程对释放语义的含义进行了如下说明:
释放语义防止写释放的内存重新排序与程序顺序之前的任何读或写操作。
因此,如果我有以下说明:
read_instruction_1
read_instruction_2
write_instruction_1
write_instruction_2 (the above instructions will no be reordered to below this instruction)
read_instruction_3
write_instruction_3
上面的说明write_instruction_2
不会重新排序到下面 write_instruction_2
。
但是如果我有这样的东西怎么办:
read_instruction_1
read_instruction_2
write_instruction_1
a_non_read_or_write_instruction
write_instruction_2 (will a_non_read_or_write_instruction not be reordered to below this instruction?)
read_instruction_3
write_instruction_3
该a_non_read_or_write_instruction
指令不是读或写指令,但我不希望它被重新排序到下面write_instruction_2
,它不会被重新排序到下面write_instruction_2
吗?
解决方案
推荐阅读
- r - R - 在摘要中删除空类别
- hystrix - Node.js 服务中的 Hystrix 仪表板?
- python - ValueError:以 10 为底的 int() 的无效文字:“孟买到迪拜”
- java - 服务器关闭带有套接字的客户端的问题
- reactjs - React Redux,状态中特定项目的更新
- javascript - 无法通过键更改值
- javascript - 使用选择更改选择角度材料表的颜色
- python - 编译 Python 代码时 unindent 不匹配任何外部缩进级别错误
- asp.net - 在 Razor Pages/MVC asp 应用程序中将两个模型链接在一起
- .net - 未从客户端调用的服务器函数