2014-03-26 29 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。 雖然我不認爲你應該真正關心改變這些寄存器。這是他們的目的。