Другие языки программирования и технологии
Помогите программисты прошу!!!
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
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
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
mov r1, #10
1$: mov r2,[r0+]
jmpr cc_Z, 2$
sub r1, # 1
jmpr cc_NZ, 1$
; код, если не найдено.
2$: sub r0, # 2 ; найдено. Адрес в R0
здесь в разделе Сделайте все за меня.. посмотри.. а может и вопрос задашь )
я асамблер не знаю) а вообще совет из паскаля - запустить цыкл от 1-го елемента до 10-го и по очереди сравнивать елементы масива с нолём, при истинности выражения прекращать выполнение цыкла и выводить номер елемента) вроде не сложно, токо я синтаксис асамблера не знаю))
Похожие вопросы
- Помогите, программисты
- помогите программисты!) delphi 7
- Как начать зарабатывать веб-программисту? Прошу скажите как вы начинали?
- (C++)Господа опытные программисты, прошу объяснить холопу-новичку что не так с кодом
- Turbo Pascal, помогите программисты дорогие!
- Как все вернуть, помогите, программисты.
- Помогите программисты!, можно ли сделать?
- помогите очеь прошу!
- C# программирование, задачи циклы, помоги очень прошу!!! =)
- Программисты с++ помогите за 20 минут! Прошу вас!