assembly - 汇编 - 'push' 的操作数类型不匹配
问题描述
我正在编写一些汇编代码,使用sys_connect
系统调用连接到另一台机器上的侦听套接字。对于这个系统调用,我需要将 IP 地址以十六进制格式推送到堆栈中。这就是我目前正在做的事情:
connect:
.......
push $0x8088A8C0 # The ip address in reverse order hexadecimal format
pushw $0x907e # Port in byte reverse order = 32400
pushw $2 # AF_INET
lea (%rsp), %r11 # Struct pointer
movq $42, %rax
movq %r12, %rdi
movq %r11, %rsi
movq $16, %rdx
syscall
gcc 编译器返回给我这个错误:
Error: operand type mismatch for `push'
该错误属于说明 push 的行$0x8088A8C0
。我应该如何解决这个问题?提前致谢!
解决方案
推荐阅读
- sql - 行最大值(n 列) - 优雅的方法
- sql - 如何打印我的光标数据值而不是插入到 sql server 中?
- odoo - 使用带有负载平衡的 Odoo 服务器时如何管理 cron (ir.cron)
- linux - 如何从 crontab 运行 bash 脚本并将输出发送到桌面通知
- java - 如何按日期“findByDate”查找候选人
- django - 如何使用 Google API 减少内存使用并使用 Advance Google 功能?
- visual-studio-code - How do i open a local terminal from a remote session in VScode?
- r - 在R中将字符串转换为日期格式
- android - 共享库中使用的 Android USB 串口...如何?
- excel - 通过excel vba从excel给一个html输入框赋值