Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
123
Добавлен:
02.05.2014
Размер:
33.28 Кб
Скачать

Программа подсчета количества нулевых элементов в одномерном массиве (векторе)

TITLE prg_10_2

STACK SEGMENT PARA STACK ‘STACK’

DB 64 DUP(‘STACK’) ; Область стека

STACK ENDS

DSEG SEGMENT PARA PUBLIC ‘DATA’

Mas db 1,0,9,8,0,7,8,0,2,0 ; это заданный одномерный массив байт

Len_mas equ 10 ; количество элементов в массиве, это же количество

;можно получить как len_mas=$ - mas

DSEG ENDS

CSEG SEGMENT PARA PUBLIC ‘CODE’

ASSUME CS:CSEG, DS:DSEG, SS:STACK

START PROC FAR

PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DSEG ; инициировать адрес сегмента данных

MOV DS,AX

MOV СX, LEN_MAS ; в сх – счетчик элементов массива

XOR AX,AX

XOR SI,SI

CYC1: JCXZ EXIT ; проверка сх на 0, если 0, то выход

CMP MAS[SI],0 ;сравнить очередной элемент задан. массива с 0

JNE M1 ; если не равно 0, то на m1

INC AL ; увеличение счетчика нулевых элементов

M1: INC SI ; перейти к следующему элементу

DEC CX ; уменьшить счетчик элементов на 1

JMP CYC1

EXIT: MOV AX, 4C00H

INT 21H ; возврат управления операционной системе

START ENDP

CSEG ENDS

END START

да

нет

нет

да

Соседние файлы в папке Лекции по ассемблеру