c – NASM猜测数字游戏错了
发布时间:2020-12-13 19:03:20 所属栏目:Linux 来源:网络整理
导读:我决定创建一个使用Linux系统调用的简单猜测数字游戏,以及一些C函数来提供更简单的界面.当我将int转换为字符串并在屏幕上打印正确答案时,我似乎遇到了分段错误. 这是输出: Enter A Number One Through Ten:" : 3Response did not match! The Answer Is:Segm
我决定创建一个使用Linux系统调用的简单猜测数字游戏,以及一些C函数来提供更简单的界面.当我将int转换为字符串并在屏幕上打印正确答案时,我似乎遇到了分段错误. 这是输出:
这是C代码:
这是NASM代码:
; Declared C functions.
extern print
extern compare
extern divide
extern randnum
extern stoi
extern itos
section .data
msg: db 'Enter A Number One Through Ten:" : ',10
ml: equ $- msg
t: db 'Response did match!',10
tl: equ $- t
f: db 'Response did not match! The Answer Is:',0
fl: equ $- f
str2: db 'Hello'
section .bss
;srnum: resb 255
snum: resb 255
rnum: resb 255
num: resb 255
section .text
global _start ; Entry point function or label.
_start:
; System call sys_write
mov eax,4
mov ebx,1
mov ecx,msg
mov edx,ml
int 80h
最佳答案
这段代码有问题:
buf是指向只读内存的指针,sprintf希望能够修改其内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读