如何解决我收到错误消息“ 64位模式不支持32位绝对寻址”
我是新成员。我正在尝试组装成型三角形。编译时,出现“ 64位模式下不支持32位绝对寻址”错误。你能解释我想念的吗?这是我做对的方式
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(c < a + b && b < a + c && a < b + c)
printf("yes");
else
printf("no");
}
这是我的代码。
.data
.yes: .string "Yes"
.no: .string "No"
.global main
tri:
push %rsi
push %rdx
add %rdi,%rsi # a + b
cmp %rdx,%rsi # a + b > c
jle no
pop %rsi
add %rsi,%rdx # c + a
cmp %rdi,%rdx # c + a > b
jle no
pop %rdx
add %rdx,%rdi # b + c
cmp %rsi,%rdi # b + c > a
jle no
mov $.yes,%rdi
mov %rax,%rsi
xor %rax,%rax
call printf
ret
no:
mov $.no,%rax
call printf
ret
main:
mov $2,%rsi
mov $2,%rdi
mov $3,%rdx
call tri
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。