Я пытаюсь завершить программу на языке ассемблера 80x86, которая запрашивает и вводит длину, ширину и высоту поля, вычисляет и отображает его объем (длина * ширина * высота).
Я являюсьновичок, так что понятия не имею, что я делаю неправильно
.586
.MODEL FLAT
INCLUDE io.h ; header file for input/output
.STACK 4096
.DATA
Lenght DWORD ?
Width DWORD ?
Hight DWORD ?
prompt1 BYTE "Enter lenght ", 0
prompt2 BYTE "Enter width", 0
prompt3 BYTE "Enter hight", 0
string BYTE 40 DUP (?)
resultLbl BYTE "The volume is", 0
res BYTE 11 DUP (?), 0
.CODE
_MainProc PROC
input prompt1, string, 40 ; read ASCII characters
atod string ; convert to integer
mov Length, eax ; store in memory
input prompt2, string, 40 ; repeat for second number
atod string
mov Width, eax
input prompt3, string, 40 ; repeat for third number
atod string
mov Hight, eax
mov eax, Length ; first number to EAX
mul eax, Width ; add second number
mul eax, Hight ; add second number
dtoa res, eax ; convert to ASCII characters
output resultLbl, res ; output label and sum
mov eax, 0 ; exit with return code 0
ret
_MainProc ENDP
END ; end of source code
Вот ошибки, которые я получаю:
Description Severity Code Project File Line Suppression State
missing operand after unary operator Error A2081 27
missing operand after unary operator Error A2081 31
missing operand after unary operator Error A2081 41
syntax error : , Error A2008 42
syntax error : , Error A2008 43
syntax error : width Error A2008 14
The command "ml.exe /c /nologo /Zi /Fo"Debug\example.obj" /W3 /errorReport:prompt /Fl /Taexample.asm" exited with code 1. Error MSB3721 C:\Users\rzaman\Downloads\AARaianaZaman\solutions\solutions\windows32 70