mov sp, #70h ;переносим вершину стека
mov r0, #10h ;адрес, где исходный массив
mov r1, #40h ;адрес, куда будем писать адреса нулевых элементов
mov r4, #30h ;количество элементов исходного массива
loop: ;цикл
mov a, @r0 ;читаем очередной элемент
jnz next ;если не нуль, то обходим
mov a, r0 ;адрес нулевого элемента!
mov @r1, a ;пишем
inc r1 ;адрес следующего элемента массива нулевых элементов
next:
inc r0 ;адрес следующего элемента исходного массива
djnz r4, loop ;r4=r4-1; циклим, пока r4!=0
;посчитаем число нулевых элементов
mov a, r1 ;адрес конца
clr c ;сбросим С (для subb)
subb a, #40h ;a = конец - начало - C
mov r2, a ;сохраним длину в r2
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.