我试图从程序集调用printf
,但未成功,如下所示:
section .rodata
preffix: db "calc >",0
preffix_length: equ $-preffix
section .text
align 16
global main
extern printf
main:
push preffix
push preffix_length
call printf
ret
但我一直有分割错误。
我在linux(ubuntu)中为nasm assembly 80x86编写代码。
最佳答案
你不想推长度字符串,C只是文本的地址,用零字节来标记结尾。
您可以使用gdb
找出类似这样的东西崩溃的位置。