Назад | Начало урока | Вперед
Содержание

Глава 2 стр 12
Вывод элементов массива на экран
Это простейший пример для разминки
MASM
MODEL small
STACK 256

.data ;начало сегмента данных
mas dw 2,7,0,0,1,9,3,6,0,8 ;исходный массив
tek_el dw 0

.code
.486 ;это обязательно
main:

mov ax,@data
mov ds,ax ;связка ds с сегментом данных
xor ax,ax ;обнуление ax
xor bx,bx ;обнуление bx

prepare:

mov cx,10 ;значение счетчика цикла в cx
mov si,0 ;индекс в si

compare:
mov bx,mas[si]
mov tek_el,bx ;в tek_el элемент из массива

mov ah,02h ;вывод элемента массива на экран
mov dx,tek_el
add dl,30h
int 21h

inc si ;на следующий элемент
inc si ;на следующий элемент
dec cx ;условие для выхода из цикла
jcxz exit ;cx=0? Если да — на выход
jmp compare ;нет — повторить цикл

exit:

mov ax,4c00h ;стандартный выход
int 21h

end main ;конец программы

Результат:

2700193608

Анализ:

В этой программе вывел содержимое массива через переменную tek_el.

mov bx,mas[si]
mov tek_el,bx ;в tek_el элемент из массива

mov ah,02h ;вывод элемента массива на экран
mov dx,tek_el
add dl,30h

Конечно, вполне можно было обойтись и без этой переменной:

mov bx,mas[si]
mov ah,02h ;вывод элемента массива на экран
mov dx,bx
add dl,30h
int 21h



Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz