Определить минимальную длину последовательности ненулевых элементов массива - Assembler

Узнай цену своей работы

Формулировка задачи:

Задан массив четырехбайтовых чисел, содержащий нулевые элементы. Определить минимальную длину последовательности ненулевых элементов массива Сижу 6 часов - ничего не выходит((

Решение задачи: «Определить минимальную длину последовательности ненулевых элементов массива»

textual
Листинг программы
.model small
.stack 100h
 
.data
array db 0,0,1,2,1,1,0,0,0,0,1,1,1,0,1,1,1,4,0,1
len=$-array+1
 
.code
start:
mov ax,@data
mov es,ax
 
mov di,offset array
mov cx,len
xor bx,bx
xor al,al
 
@1:
repe scasb
mov dx,cx
repne scasb
sub dx,cx
 
test bx,bx
jnz @2
mov bx,dx
 
@2:
cmp bx,dx
jc @3
mov bx,dx
 
@3:
test cx,cx
jnz @1
 
mov al,bl
or al,30h
int 29h
 
xor ax,ax
int 16h
 
mov ax,4c00h
int 21h
end start

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы