我在文件foo.ys中有以下非常简单的foo.ys程序
irmovl $1, %eax运行以下命令:
$ yas foo.ys我从yas得到以下(完全无用的)反馈
Invalid Line所以-我有几个问题:
发布于 2018-03-21 15:32:34
看起来你在使用64位版本,y86-64。我已经检查过了,事实上,这会产生给定的错误消息。虽然x86-64支持32位,但y86-64显然不支持。您应该使用irmovq $1, %rax (请注意指令后缀和寄存器前缀的更改)。
发布于 2018-03-21 15:03:52
看起来Y86应该是IA-32,他的文件可以在这里找到的一个子集.
在IA-32中,以l结尾的移动指令似乎不会移动长数据类型;它们会执行条件移动和与Y86无关的事情。
然而,有些版本的Y86支持irmovl,有些则不支持。
如果您使用的是64位版本的yas,请使用四字指令和地址:
irmovq $1, %raxhttps://stackoverflow.com/questions/49408933
复制相似问题