Консультация № 109015
12.11.2007, 09:50
0.00 руб.
0 2 2
Здравствуйте! Возник вот такой вопрос: необходимо для процессора i8080 составить программу, которая проверяет биты 2 и 4 ячейки 0040 и переходит к выполнению команды из ячейки 0060, если в них записаны 1; переходит к выполнению команды из ячейки 0061, если 1 записана только в бит 2; продолжается во всех иных случаях. Заранее спасибо.

Обсуждение

давно
Старший Модератор
31795
6196
12.11.2007, 21:16
общий
это ответ
Здравствуйте, Миронов Александр Анатольевич!

Ячейка может быть и байтом и словом,
считаем ячейка - байт.
<font color=blue>LXI B,0040h
LDAX B;A=(BC)
;76543210
;00010100=14h
ANI 14h;А=A and 014h
CPI 14h;проверяем 2-ой и 4-ый биты
JZ 0060h
CPI 04h;проверяем 2-ой бит
JZ 0061h</font>

Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
13.11.2007, 00:06
общий
это ответ
Здравствуйте, Миронов Александр Анатольевич!
"bt", "bts", "btr" и "btc" оперируют с единичным битм, который может быть в памяти или регистре общего назначения
bt ax,15 ; тестирует бит в регистре
bts word [bx],15 ; тестирует и ставит бит в памяти

Приложение:
mov al,[0040] ; загружаем в регистр al значение bt al,2 ;считываем бит 2 из регистра al в регист флаговjb a4 ;если 1 переходим на проверку бита 4jmp pr1 ;если нет продлжаем программуa4: bt al,4 ;считываем ,бит 4jb 0060 ;если один выполняем программу с 0060jmp 0061 ;если нет с ячейки 0061pr1: ;продолжение программы**
Форма ответа