首页 > 解决方案 > 程序集:使用“.equ”的无效操作数错误减去 2 个字符文字

问题描述

尝试汇编代码时出现以下汇编错误:

Error: invalid operands (*UND* and *UND* sections) for `-' when setting `UPPER_CONVERSION'

我正在使用以下命令进行组装:

as -32 toupper.s -o toupper.o

我的代码(我指的是本书中从低到高的转换代码

.section .text

###CONSTANTS##
#The lower boundary of our search
.equ LOWERCASE_A, ’a’
#The upper boundary of our search
.equ LOWERCASE_Z, ’z’
#Conversion between upper and lower case
.equ UPPER_CONVERSION, ’A’ - ’a’                  ## error on this line

$UPPER_CONVERSION有关用作立即数的完整代码,请参阅此问题的第一个版本。但上面是一个产生汇编错误消息的 MCVE,因此不能用作定义UPPER_CONVERSION = 65 - 97 = -32


我看到了这个问题,我尝试了解决方案,但我认为它不相关(我可能在这里错了)。

标签: assemblyx86gnu-assembler

解决方案



推荐阅读