Итак, я пытаюсь ввести число через консоль, которое следует сохранить в ebx для последующих разделов. eax также используется заранее для хранения нескольких чисел, которые позже будут разделены на ebx. Но число, которое должно храниться в ebx, заменяет eax и сохраняет число в eax и ebx. Может ли кто-нибудь объяснить мне, почему это так и, возможно, как это исправить. Я помещу код ниже.
.386
.model flat, stdcall
option casemap:none
include c:\masm32\include\windows.inc
include c:\masm32\include\masm32rt.inc
include c:\masm32\include\masm32.inc
include c:\masm32\include\kernel32.inc
include c:\masm32\macros\macros.asm
includelib c:\masm32\lib\kernel32.lib
includelib c:\masm32\lib\masm32.lib
.data
.code
main:
mov esi, 0
mov eax, 0
push eax
L1:
inc esi
cmp esi, 2
jz inputDivider
printf("Input a number. \n")
mov eax, sval(input())
push eax
jmp L1
inputDivider:
mov ebx, sval(input("Input a Divider \n"))