Посчитать количество байт с числом единиц в байте, равным 3 - Assembler

Узнай цену своей работы

Формулировка задачи:

Добрый вечер) Такая задача: Дан массив из 10 байт.Посчитать кол-во байт с числом единиц в байте равным 3. Постарался реализовать..Помогите найти ошибку:
include 'emu8086.inc'
org 100h 
 
MOV AH,0 
MOV DH,3  
MOV BX,9
MOV DL,0 
 
MOV CX,8 

for1:
 
MOV AL, mass[BX]
 
for2:
 
SHL AL, 1
ADC AH, 0                                       
 
LOOP for2 
 
CMP AH,DH  
JE var 
 
var:
ADD DL,1
 
MOV d,DL
 
DEC  BX, 1
JNS for1

d db ?
 
ret

mass db 1,11,7,4,5,6,5,8,11,10

Решение задачи: «Посчитать количество байт с числом единиц в байте, равным 3»

textual
Листинг программы
model tiny
.code
org 100h
begin:
MOV AH,0
MOV DH,3
MOV BX,9
MOV DL,0
;MOV CX,8
for1:
MOV AL, mass[BX]
mov ah,0
for2:
SHL AL, 1
ADC AH, 0
or  al,al
jnz for2
CMP AH,DH
JnE var
ADD DL,1
MOV d,DL
var:
DEC  BX
JNS for1
ret
mass db 1,11,7,4,5,6,5,8,11,10
d db ?
end begin

Оцени полезность:

15   голосов , оценка 4.067 из 5
Похожие ответы