Другие языки программирования и технологии

Помогите программисты прошу!!!

Assembler "Команды сравнения и перехода" Дан массив из 10 элементов. Составить программу которая выполняет следующие действия: Найти первый нулевой элемент.
stk segment stack
db 100 dup(?)
stk ends

data segment
msg db 'Vvedite elementi massiva : $'
max_satr equ 10
massiv db max_satr dup (?)

index db "Pozisiya = "
rez dw 0
data ends

ECRAN MACRO Rez
push ax
sub ax,ax
mov ah,09
mov dx, offset rez
int 21h
pop ax
endm
code segment
assume cs:code, ds:data, ss:stk

main:
mov ax,data
mov ds,ax
sub ax,ax
ECRAN msg
mov ah,3fh
mov bx,0
mov cx,max_satr
lea dx,massiv
int 21h
and ax,ax
jz kones

mov cx,ax
mov si,-1
mov bl,'0'

Tak:inc si
mov al,massiv[si]
cmp al,bl
jne m1
mov rez,si
add rez,30h
ECRAN index
ECRAN rez
jmp kones

m1:loop Tak

kones:mov al,00h
int 16h

code ends
end main
КС
Камардин Саймирзоев
938
Лучший ответ
mov r0, #addr
mov r1, #10
1$: mov r2,[r0+]
jmpr cc_Z, 2$
sub r1, # 1
jmpr cc_NZ, 1$

; код, если не найдено.

2$: sub r0, # 2 ; найдено. Адрес в R0
Дустмухаммад !
Дустмухаммад !
63 231
здесь в разделе Сделайте все за меня.. посмотри.. а может и вопрос задашь )
я асамблер не знаю) а вообще совет из паскаля - запустить цыкл от 1-го елемента до 10-го и по очереди сравнивать елементы масива с нолём, при истинности выражения прекращать выполнение цыкла и выводить номер елемента) вроде не сложно, токо я синтаксис асамблера не знаю))
СД
Сунцов Дима
1 036