【发布时间】:2019-04-28 22:09:37
【问题描述】:
我正在写一个计算器。如果我在打印答案后立即结束进程,它工作正常,但是如果我想添加一个子方法(add、sub、mult、div)以返回主方法,我会收到此错误。
在数据部分我有这个来代表答案
final: db "Answer=%d", 10, 0 ;setup for final printed string (printf)
这是抛出段错误的一个实例
add:
add eax,ebx ;add eax and ebx
push eax ;push final eax value to stack
push dword final ;pushes final string using eax as param
call printf ;call printf using final as param
ret ;return
这里调用add方法
cmp ecx, 1 ;compare method value and 1 (if ecx - 1 == 0)
je add ;jumps to add function
【问题讨论】:
标签: assembly segmentation-fault nasm