アセンブリ言語(x86 Irvine.32 windows7)の学習に取り組んでおり、ユーザーからの入力方法について質問がありました。私が持っている本はそれをあまり深く掘り下げていません。ユーザーにプロンプトを表示したい:
myfirst BYTE "Welcome! This program calculates the sum of a list of numbers.", 0dh, 0ah, 0dh, 0ah ; greeting
BYTE "How many integers will be added? : "
次に、ユーザーはXを入力します。ユーザーが入力した内容を読み取って変数に入れるにはどうすればよいですか?
それは次のように単純ですか?
INVOKE ReadConsole, SomeVairable
SomeVairableは.dataでバイトとして定義されていますか?
編集:
INCLUDE Irvine32.inc
BufSize = 80
.data
buffer BYTE BufSize DUP(?)
stdInHandle HANDLE ?
bytesRead DWORD ?
myfirst BYTE "Welcome! This program calculates the sum of a list of numbers.", 0dh, 0ah, 0dh, 0ah ; greeting
BYTE "How many integers will be added? : "
mysecond BYTE "Please enter the "
.code
main PROC
mov edx, OFFSET myfirst ;move the location of myfirst into edx
call WriteString
; Get handle to standard input
INVOKE GetStdHandle, STD_INPUT_HANDLE
mov stdInHandle,eax
; Wait for user input
INVOKE ReadConsole, stdInHandle, ADDR buffer,
BufSize, ADDR bytesRead, 0
exit
main ENDP
END main