Hay un código de ensamblaje escrito para la API de Windows, cómo compilarlo en Linux y ejecutarlo con Wine

Hay un código de ejemplo enesta introduccion, como abajo:

; Sample x64 Assembly Program
; Chris Lomont 2009 www.lomont.org
extrn ExitProcess: PROC   ; external functions in system libraries
extrn MessageBoxA: PROC
.data
caption db '64-bit hello!', 0
message db 'Hello World!', 0
.code
Start PROC
  sub    rsp,28h      ; shadow space, aligns stack
  mov    rcx, 0       ; hWnd = HWND_DESKTOP
  lea    rdx, message ; LPCSTR lpText
  lea    r8,  caption ; LPCSTR lpCaption
  mov    r9d, 0       ; uType = MB_OK
  call   MessageBoxA  ; call MessageBox API function
  mov    ecx, eax     ; uExitCode = MessageBox(...)
  call ExitProcess
Start ENDP
End

El código de arriba está adentrohello.asm y en Windows, se puede compilar con:

ml64 hello.asm /link /subsystem:windows /defaultlib:kernel32.lib /defaultlib:user32.lib /entry:Start

No tengo acceso a Windows y MASM, ya que estoy en Linux y trabajo con NASM. Creo que si compilo el código en Linux, podría ejecutarlo conWine. Pero, sin embargo, no pude encontrar la manera de compilarlo con NASM en Linux y tampoco podría entender cuáles son las opciones de NASM que son equivalentes a las de MASM. Alguien puede ayudarme?

Respuestas a la pregunta(2)

Su respuesta a la pregunta