assembly 常量(特别是.byte)汇编程序指令(特别是gas和clang)中溢出

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

如果.byte指令的操作数溢出,有没有办法让汇编程序(gas或clang)输出错误而不是警告?
我特别想到的是ARM上的如下结构:

tbb [pc, r1]
.L6:
    .byte   (.L12-.L6)/2
    .byte   (.L11-.L6)/2
    .byte   (.L10-.L6)/2
    .byte   (.L9-.L6)/2
    .byte   (.L8-.L6)/2
    .byte   (.L7-.L6)/2
    .byte   (.L5-.L6)/2

只有当(.L12-.L6)/2等表达式适合[0,255]时,它才起作用。有什么方法可以在汇编时检查这一点吗?
(也许我可以使用条件指令,但这看起来很尴尬!)

djp7away

djp7away1#

由于某种原因,溢出字节指令的常量表达式会产生警告,而从标签派生的表达式会产生错误。这正是我想要的。

相关问题