如何在NASM,GCC和Mac OS X中正确使用16字节对齐?

时间:2017-02-14 08:45:37

标签: macos gcc assembly x86 nasm

请检查此代码:

extern _printf, _scanf
global _main
section .bss
  num1: resb 4
  num2: resb 4
section .data
  msg1: db "Ingrese un numero: ", 10, 0
  msg2: db "Ingrese otro numero: ", 10, 0
  fmt_i: db "%i", 0
  msg3: db "Los numeros ingresados son: %i y %i", 10, 0
section .text
_main:
  sub esp, 8
  push msg1
  call _printf
  add esp, 12

  sub esp, 12
  push fmt_i
  push num1
  call _scanf
  add esp, 16
ret

我得到的输出是:

  

Ingrese un numero:   分段错误:11

我已经阅读了Michael Petch(@MichaelPetch)关于这一点的很好的答案,但我不太明白这一点,有没有人有示例代码?我的代码出了什么问题?

提前致谢。 ^^

0 个答案:

没有答案