Я пишу некоторый ассемблерный код, используя системный вызов 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
. Как мне решить проблему? Заранее спасибо!