
01.04.2010, 13:33
|
|
Познающий
Регистрация: 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..
|
|
|