У меня есть программа, которая решает математическую задачу 5 раз с разными значениями, используя цикл. Он сохраняет результат в массиве result
, поэтому в конце мне нужно показать эти значения, начиная с новой строки:
result[0]
result[4]
result[8]
result[12]
result[16]
Но я, кажется, не понимаю, как реализовать это в моем коде, все методы, которые я пробовал, не работали. Прямо сейчас он показывает только 1 результат. Я понимаю, что способ начать новую строку - это ,10
, но я просто не знаю, где это правильно поставить.
.386
.model flat,stdcall
option casemap:none
include \masm32\include\masm32rt.inc
.data
titletext db 'Лаб 5', 0
AnswerTxt db 'The answer is '
AnswerNum db 11 dup(0)
num_a dd 5,-5,-25,25,-5
num_b dd 5,32,3,-5,6
num_c dd 10,2,8,12,4
bracket dd ?
result dd ?,?,?,?,?
.code
start:
mov esi, 5
mov edi, 0
.Repeat
mov eax, -25
mov ebx, num_a[edi]
cdq
idiv ebx
add eax, num_c[edi]
mov bracket, eax
mov eax, num_b[edi]
mov ebx, num_a[edi]
cdq
imul ebx
sub bracket, eax
mov eax, num_c[edi]
mov ebx, num_b[edi]
cdq
imul ebx
mov ebx, 2
cdq
idiv ebx
add eax, 1
mov ebx, bracket
cdq
imul ebx
mov result[edi], eax
mov ebx, 2
cdq
idiv ebx
.IF edx == 0
mov eax, result[edi]
mov ebx, 2
cdq
idiv ebx
.ELSE
mov eax, result[edi]
mov ebx, 5
cdq
imul ebx
.ENDIF
mov result[edi], eax
add edi, 4
dec esi
.Until Zero?
push offset AnswerNum
push result[12]
call dwtoa
push 0
push offset titletext
push offset AnswerTxt
push 0
call MessageBox
call ExitProcess
end start
wsprintf
или другую подобную функцию, в которой вы можете поместить символы новой строки непосредственно в строку формата? - person Michael   schedule 24.03.2020AnswerNum
взят из более простого примера сложения калькулятора. Я даже не понимаю, зачем нам нужно резервировать это место, чтобы позже поместить туда ASCII-целое число. - person John   schedule 24.03.2020wsprintf
. Например,examples\exampl02\dir
иexamples\exampl03\lcd
. - person Michael   schedule 24.03.2020