x86_64无法将64位值添加到rax,“'add'操作数不匹配”

问题描述 投票:1回答:1

我正在尝试汇编一些64位代码,并且汇编在行上失败:

addq $0xffffff7fc0005000, %rax

带有错误:

错误操作数类型与'add'不匹配

第一个操作数是一个64位值,后一个操作数是应该正确汇编的寄存器。该指令之前是.code64伪运算。我正在组装

x86_64-elf-as test.s -o test.o --64

至于汇编程序本身,当用--version调用时,它返回:

GNU assembler (GNU Binutils) 2.32
Copyright (C) 2019 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-elf'.
assembly x86-64 gas
1个回答
3
投票

第一个操作数是一个64位值,后一个操作数应该是可以正常汇编的寄存器。

© www.soinside.com 2019 - 2024. All rights reserved.