Показать сообщение отдельно

  #13  
Старый 01.04.2010, 13:33
fluffylion
Познающий
Регистрация: 22.02.2010
Сообщений: 30
Провел на форуме:
188597

Репутация: 15
По умолчанию

Код:
data segment 
mass db 1,14,4,9,5,21,3,17,12,100
data ends
code segment  assume cs:code, ds:data 
start:
mov ax, data
mov ds, ax	; Загрузить сегментный адрес данных
lea bx, mass	; Загрузить адрес смещения массива
mov cx, 10	; Установить счетчик повторений цикла
mov al, 6	; Первый элемент массива в Аккумулятор
xor dx, dx
beg:
cmp byte [bx], al	; Сравнить текущий элемент массива с максимальным
jg no	; он больше
add dl, byte [bx]	; сумма
jnc no ; если сумма укладывается в размерность байт, то переход на no
adc dh, 0 ; иначе корректируем сумму
no:
inc bx	; Следующий элемент массива
loop beg
quit:
mov ax, 4C00h	; Код завершения 0
int 21h	; Выход в DOS
code ends
end start
может где ошибся, не тестировал

Последний раз редактировалось fluffylion; 01.04.2010 в 13:36..
 
Ответить с цитированием