Надежда слабая, но есть ли тут люди, разбирающиеся в Ассемблере?
Дан массив из 9 байт. Рассматривая его как массив из 72 бит, посчитать число переходов между нулями и единицами (не 1 и 0)
Вот что получилось,переходы считает (выводит 9), но не считает переходы между байтами (например 10101010b,11111111b первый заканчивается на 0, а второй начинается с 1, это должно считаться, т.е должно быть 13). Как исправить, подскажите пожалуйста.
Assembler
data segment
mass db 10101010b,11111111b,0101010b, 11111111b, 10101010b, 11111111b,11111111b, 11111111b, 11111111b
data ends
code segment
assume cs: code, dsata
START: mov ax, data
mov ds, ax
xor ax,ax
lea bx, mass
mov cx, 9
beg: mov al, [bx]
push cx
mov cx,8
pr:shl al,1
jc no
test al, 10000000b
jz no
inc dl
no:
loop pr
pop cx
inc bx
loop beg
xor ax, ax
mov ax, 4c00h ; ??? ?????????? 0
Int 21h ; ????? ? DOS
code ends
end START