title: How to push a 64bit int in NASM?
body: <p>I'm trying to push a 64bit integer but when assembling NASM seems to want to see it as a DWORD not a QWORD.</p>
  
  <p>I'm using ASM to create the shellcode I need to inject a 64bit DLL into a 64bit process. The first QWORD is the old instruction pointer, the second is the address containing the address of the DLL, the third is the address of LoadLibrary. The placeholders are filled in at runtime.</p>
  
  <pre><code>section .text
  global _start   
  
  _start:
  BITS 64
  PUSH QWORD 0xACEACEACACEACEAC
  PUSHFQ
  push rax
  PUSH QWORD 0xACEACEACACEACEAC
  MOV RAX, 0xACEACEACACEACEAC
  CALL RAX
  pop RAX
  POPFQ
  RETN
  </code></pre>