Составители:
Рубрика:
33
xor al, 00010100b
4. Перейти на метку LAB, если установлен 4 бит регистра al, в против-
ном случае продолжить выполнение программы.
test al, 00010000b
jnz LAB
продолжаем
. . .
LAB:
5. Посчитать число единиц в регистре al, рассматривая байт, как набор
бит.
mov cx, b ; число сдвигов
xor bl, bl ; обнуление BL
LL: shl al, 1 ; сдвиг влево на один разряд
jnc NO ; переход, если нет переноса
inc bl ; иначе увеличить BL
NO: loop LL ; возврат, если cx ≠0
4.3. Пример выполнения работы
Дан массив из 10 байт. Все байты имеют нулевые старшие биты.
Необходимо каждый байт содержащий единицу в нулевом бите допол-
нить до четного числа единиц установкой седьмого бита.
Текст программы:
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
xor al, 00010100b
4. Перейти на метку LAB, если установлен 4 бит регистра al, в против-
ном случае продолжить выполнение программы.
test al, 00010000b
jnz LAB
продолжаем
...
LAB:
5. Посчитать число единиц в регистре al, рассматривая байт, как набор
бит.
mov cx, b ; число сдвигов
xor bl, bl ; обнуление BL
LL: shl al, 1 ; сдвиг влево на один разряд
jnc NO ; переход, если нет переноса
inc bl ; иначе увеличить BL
NO: loop LL ; возврат, если cx ≠0
4.3. Пример выполнения работы
Дан массив из 10 байт. Все байты имеют нулевые старшие биты.
Необходимо каждый байт содержащий единицу в нулевом бите допол-
нить до четного числа единиц установкой седьмого бита.
Текст программы:
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
33
Страницы
- « первая
- ‹ предыдущая
- …
- 31
- 32
- 33
- 34
- 35
- …
- следующая ›
- последняя »
