Ассемблер. Дан массив из 10 байт. Посчитать количество единиц во всех разрядах, крат

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Ксюндра
Сообщения: 1
Зарегистрирован: 01 июн 2013, 23:58

02 июн 2013, 00:04

помогите пожалуйста найти ошибки! заранее спасибо) Ассемблер. Дан массив из 10 байт. Посчитать количество единиц во всех разрядах, кратных трём: 3, 6, 9, …, 75, 78.

data segment
NB db 04h, 07h, 14h, 23h, 04h,38h, 3Fh, 2Ah0Dh, 34h
data ends
code segment
assume cs: code ds:data
START: mov ax, data
mov ds, ax
lea bx, NB
mov cx, 10
BEG: shl al, 3
mov dx, 1
beg: cmp [db], dx
jl NO
add si, 1
jz, no
sar al, 3
OK: mov [bx], al ; записать измененный байт массива
loop BEG
QUIT: mov ax, 4c00h ; Код завершения 0
Int 21h ; Выход в DOS
code ends
end START
Ответить