Посчитать количество байт с числом единиц в байте, равным 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