assembly mov机器代码只在一台机器上崩溃,都是x86,可能是不同的解释?

irlmq6kh  于 2022-11-13  发布在  其他
关注(0)|答案(1)|浏览(115)

运行机器代码

66 50 //push ax
b0 20 //mov al,0x20
a2 20 00 04 11 //mov ds:0x11040020,al // this seems to read 0xffffffffffffffff on one machine
66 58 //pop ax
c3 //ret

在一台机器上工作,但在另一台机器上执行第二次移动时,尝试读取0xffffffffffffff时因访问冲突而失败.
两台计算机都使用amd64指令集报告报表(通过win10环境变量检查)
这些指令似乎都不是从一个新的增加到使用的指令集,但也许他们仍然得到不同的解释?
预先感谢你的帮助

bpsygsoo

bpsygsoo1#

似乎一台计算机将机器代码解释为x86-64,而另一台计算机将其解释为x86,从而导致x86-64计算机崩溃

相关问题