2014-03-26 28 views
-2

是否有可能在nasm中接受来自用户的输入而不使用ebx & ecx寄存器?如果是,请建议我可能的方式.... 我试过方法Nasm方法来接受输入

mov eax,3 
mov ebx,2 
mov ecx,n 
int 80h 
+2

_“没有使用ebx&ecx寄存器?”_为什么你需要那个?另外,你的意思是'int 80h'或'int 0x80'? – Michael

+0

将它们保存在堆栈上有什么问题? – Jester

+0

可以推送参数并调用'read()'...或scanf。我不认为有任何使用'int 80h'的方法。 –

回答

0

你总是可以有一些相关的说明推包装你的代码。

push eax ; keep registers. 
push ebx 
push ecx 

mov eax,3 
mov ebx,2 
mov ecx,n 
int 80h 

pop ecx ; restore registers. 
pop ebx 
pop eax 

这样你就不会改变eax,ebx或ecx。 虽然我不认为你应该真正关心改变这些寄存器。这是他们的目的。