У меня проблемы с использованием смен для умножения двух чисел, заданных пользователем.Он просит пользователя ввести два целых числа и должен их умножить.Моя программа хорошо работает с запросом целых чисел, но когда она дает продукт, это астрономическое число, которое почти не является правильным.Куда я иду не так?какой регистр он читает?
%include "asm_io.inc"
segment .data</p>
<p>message1 db "Enter a number: ", 0
message2 db "Enter another number: ", 0
message3 db "The product of these two numbers is: ", 0</p>
<p>segment .bss</p>
<p>input1 resd 1
input2 resd 1</p>
<p>segment .text
Global main
main:
enter 0,0
pusha</p>
<pre><code>mov eax, message1 ; print out first message
call print_string
call read_int ; input first number
mov eax, [input1]
mov eax, message2 ; print out second message
call print_string
call read_int ; input second number
mov ebx, [input2]
cmp eax, 0 ; compares eax to zero
cmp ebx, 0 ; compares ebx to zero
jnz LOOP ;
LOOP:
shl eax, 1
dump_regs 1
mov eax, message3 ; print out product
call print_string
mov ebx, eax
call print_int