@cd335DF

Как вывести массив данных?

Есть код, который пока что только складывает
.model small
.stack 100h
.386 ;Разрешение трансляции команд процессора 386
.data
mas db 20 dup (0) ;исходный массив
.code
 
start:
mov ax, @data
mov ds, ax
mov ax, 0 ;обнуление ax
mov cx, 20 ;значение счетчика цикла
mov al, 3 ; счётчик для значений массива
mov si, 0 ;индекс начального элемента в cx
 
go: ;цикл инициализации
mov mas[si], al ;запись в массив
add al, 3 ;увеличение значения следуещего элемента массива на 3
inc si ;переход к следующему элементу
loop go ;повторить цикл
mov si, 0 ;переход к 1-му элементу
mov cx, 2
 
show1: ;цикл вывода элементов массива на экран
push cx
mov cx, 10
 
show2:
mov al, mas[si] ;значение элемента массива помещается в AL
mov ah, 0 ;AH = 0
 
call print ; вызов функции вывода числа в AX на экран
inc si ;переход к следующему элементу
loop show2
pop cx
mov dl, 0DDh ;переход на следующую строку
call pr
mov dl, 0DAh
call pr
loop show1
mov ax,4C00h ;завершение программы
int 21h
print proc ;процедура для вывода элеманта массива на экран
pusha
;вывод пробелов перед каждым числом
pusha
mov bx, 0
 
label0:
inc bx
mov dx, 0
mov cx, 10
div cx
cmp ax, 1
jnc label0
neg bx
add bx, 6
mov cx, bx
 
lab:
mov dl, 0D0h
call pr
loop lab
popa
;вывод символа на экран
mov cx, 0
 
label1:
mov dx, 0
mov bx, 10 ;Заносим основание системы счисления, равное 10, в регистр BX
div bx ;деление AX на BX
mov bx, 0
push dx
inc cx
cmp ax, 0 ;сравнение AX с нулём
jnz label1 ;если условие выполняется, то переход на метку label1
 
label2:
pop dx
call pr ;вывод на экран символа
inc bx
loop label2 ;повторение с метки label2, пока значение CX не станет равно нулю
popa
ret
print endp
pr proc ;процедура, выводящая символ на экран
mov ah, 02h
add dl, 30h
int 21h
ret
pr endp
end start


Как вывести массив в вида

3 6 9 12 15 18 21 24 27 30
9 36 81 144 225 324 441 576 729 900
  • Вопрос задан
  • 1366 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Как вывести массив данных?

Перевести каждое число в строковое представление и вывести строки на экран.

Есть код, который пока что только складывает

А если посмотреть внимательно, то не только складывает, но и что-то переводит и что-то печатает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы