2014-03-30 63 views
-1

假設我有以下代碼用戶輸入在NASM

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

&我接受來自用戶12然後會是怎樣的 [NUM1],內容[NUM1 + 1] & [NUM1 + 2] 。

請幫我

+2

1.請用適當的平臺標記您的問題。它是Linux/i386嗎? 2.你如何檢查系統調用返回值?你的標準輸入真的是一個12字節的二進制文件嗎? – Netch

回答

0

學會使用調試器,以便您自己看看。

這就是說,read系統調用預計3個參數,你只提供2.我會假設你真的想mov edx, 2而不是mov ebx, 2指定讀取的長度,因爲從描述2(這是stderr)讀書是沒有意義的。我將進一步假設你用0加載ebx而不是stdin。因此,如果用戶輸入數字12[num1]將是1 ASCII代碼,這是49[num1+1]將是2 ASCII代碼,這是50,並[num1+2]將保持不變,因爲你只讀2個字節。

+0

請幫我學習nasm中的調試器。我會在哪裏得到教程。 – AdityaKhursale