Итак, у меня есть процедура, которая должна печатать массив, инициализированный символом «~». Так как я хочу игровое поле 12x12, я использую модульное деление на 144 на 12 и печатаю новую строку, когда остаток равен 0. У меня определенно есть проблема где-то, но мой первый намек в том, что он просто сбивает вторую, чтобы печатать доску ,Модульное подразделение MASM32
displayBoard PROC
lea esi, dArray
mov eax, 144
.while eax > 0
xor edx, edx
mov ecx, 12
div ecx
.if edx == 0
print 0DH, 0AH
.endif
print esi
sub eax, 1
.endw
mov eax, input()
displayBoard ENDP
Хорошо, что я получил помощь, основанную на ваших комментариях. Последний вопрос, который у меня есть, заключается в том, что при использовании print esi будет напечатано всего 144 элемента в массиве. Для каждого цикла я хочу напечатать следующий элемент, который, как я предполагаю, означает, что мне нужно распечатать esi + 1, так как это массив BYTE? – user2747058
Вам нужно указать «байт по адресу' esi' », который написан в синтаксисе MASM как' print byte ptr [esi] '. – Yirkha