0
我真的是新的x86彙編程序設計和它的複雜性無知。 假設我已經下.bss段大會strlen輸入概率
name resb 20
聲明一個變量,我想從用戶名輸入:
; gets name
mov eax, 3
mov ebx, 0
mov ecx, name
int 80h
我只是想知道,如果輸入的長度通過stdin存儲在其中一個寄存器中?它是否包括回車?長度值存儲在我想?或bl?如果是這樣,我可以像這樣存儲它嗎?
mov byte[nameLen], al
其中nameLen根據第宣佈.BSS這樣
nameLen resb 1
我會非常想重新打印字符串輸入這樣的:
; excludes the carriage return from count
dec byte[nameLen]
mov eax, 4
mov ebx, 1
mov ecx, name
mov edx, nameLen
int 80h
請幫幫我!謝謝!
使用x86 Ubuntu的Im。
但是如何在讀取之後檢索輸入字符串的長度?任何輸入字符串可以具有來自用戶的任意長度。當我將字符串重新打印到標準輸出時,我想要這個長度。 雖然非常詳細的解釋。謝謝! –
我用示例更新了我的帖子以檢索閱讀的字符數。 –
是的,那就解決了!這條線'mov edx,eax'使我從很多頭部抓起來。現在我知道讀取的字節存儲在eax寄存器中。謝謝! :D –