0
我最近想出瞭如何在彙編中寫入標準輸出,但現在無法從標準輸入讀取並輸出讀回到標準輸出的內容。這是我到目前爲止的代碼:Windows程序集(x86)從Stdin讀取並輸出到Stdout
.386
.model flat, stdcall
WriteFile PROTO STDCALL:DWORD, :PTR, :DWORD, :PTR DWORD, :PTR OVERLAPPED
ReadFile PROTO STDCALL:DWORD, :PTR, :DWORD, :PTR DWORD, :PTR OVERLAPPED
GetStdHandle PROTO STDCALL:DWORD
.data
.data?
input DW ?
input_size DD ?
read DD ?
.code
main:
INVOKE GetStdHandle, -10
INVOKE ReadFile, eax, OFFSET input, input_size, read, 0
INVOKE GetStdHandle, -11
INVOKE WriteFile, eax, OFFSET input, OFFSET input_size, read, 0
RET
END main
我很確定我看錯了。我很確定input_size
和read
不像預期的那樣運行(如果我用number
代替input_size
,它會顯示一個空格number
次),這對我的問題有影響(當我輸入我的輸入並返回時,它什麼也不顯示)。
我已經摸索了這個相當長的一段時間,並會感謝任何幫助。 (我這樣做只是爲了學習這不是作業)。
我的問題本質上是我做錯了什麼?
很酷,非常感謝您 –