Составители:
Рубрика:
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
- …
- следующая ›
- последняя »