Answer the question
In order to leave comments, you need to log in
How to output an array of data?
There is a code that so far only adds up
.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
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question