1. Заголовок или название темы должно быть информативным 2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE] 3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора. 5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM! 6. Проверяйте программы перед тем, как выложить их на форум!!
sseg segment db 128 dup(?) sseg ends dseg segment A db 1,2,3,4,5 B db 5,6,7,8,9 s db 1 dup(?) max db 1 dup(?) dseg ends cseg segment assumme ss:sseg,cs:cseg,ds:dseg start: mov ax,dseg mov ds,ax mov al,a[0] mov max,al mov si,0 mov cx,5 m1: mov al,A[si] ;элемент массива в регистр cmp al,max ;сравнение inc si ; увеличим индекс jg m2 ; если больше, то переход на м2, а если нет, то куда? m2: mov max,al loop m1 mov al,max mov s,al mov al,b[0] mov max,al mov cx,5 mov si,0 m3: mov al,b[si] cmp al,max inc si jg m4 m4: mov max,al loop m3 mov AL,max add s,al mov ah,2h mov dl,s int 21h
mov ah,4ch int 21h cseg ends end start
По заданию надо сложить 2 макс элемента в 2 массивах.
m1: mov al, A[si] ; элемент массива в регистр cmp al, max ; сравнение jle m2 ; если не больше, идем дальше, иначе - меняем максимум mov max, al m2: inc si ; увеличим индекс loop m1
А так как было у тебя - пришлось бы после JG добавлять безусловный переход на другую метку, которую надо было добавить непосредственно перед LOOP-ом. Оно тебе надо? Лишние метки, лишние переходы...