Компьютерные технологии в физике. Часть 2. Эксперимент с компьютерной поддержкой. Артамонов М.Ф - 53 стр.

UptoLike

51
нии данной задачи, информацию. Для выделения нужного бита использу-
ется стандартная операция
and
» (побитовое умножение).
Для того чтобы получить сигнал STAT из регистра состояния необ-
ходимо произвести операцию побитового умножения содержимого регист-
ра и двоичного числа 00001000 (так называемое «наложение маски»). В де-
сятичной записи это будет число 2
3
= 8. Алгоритм получения сигнала
STAT имеет следующий вид.
1.Содержимое регистра состояния записывается в переменную a
с помощью процедуры inport(865,a).
2. В двоичной записи переменной а выделяется третий разряд - (a
and 8).
3. Проверяется условие того, что он равен единице: (a and 8) = 8.
Ожидание единицы организуется следующим образом:
repeat
inport(865,a)
until ( (a and 8) = 8 );
т.е. цикл будет выполняться до тех пор, пока выражение в скобках ложно.
Аналогично формируется задержка перед ожиданием нуля в третьем раз-
ряде регистра состояния:
repeat
inport(865,a)
until ( (a and 8) <> 8 );
Для того, чтобы быть уверенными в готовности ССД, нам необхо-
димо последовательно «пропустить» 8 единиц и 8 нулей, т.е. создать цикл
следующего вида:
for i:=1 to 8 do
begin
repeat
inport(865,a)
until ( (a and 8) = 8 );
repeat
inport(865,a)
until ( (a and 8) <> 8 );
end;
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
              нии данной задачи, информацию. Для выделения нужного бита использу-
              ется стандартная операция-«and» (побитовое умножение).
                    Для того чтобы получить сигнал STAT из регистра состояния необ-
              ходимо произвести операцию побитового умножения содержимого регист-
              ра и двоичного числа 00001000 (так называемое «наложение маски»). В де-
              сятичной записи это будет число 2 3 = 8. Алгоритм получения сигнала
              STAT имеет следующий вид.

                   1.Содержимое регистра состояния записывается в переменную a
                   с помощью процедуры inport(865,a).
                   2. В двоичной записи переменной а выделяется третий разряд - (a
                   and 8).
                   3. Проверяется условие того, что он равен единице: (a and 8) = 8.

                    Ожидание единицы организуется следующим образом:

              repeat
                inport(865,a)
              until ( (a and 8) = 8 );

              т.е. цикл будет выполняться до тех пор, пока выражение в скобках ложно.
              Аналогично формируется задержка перед ожиданием нуля в третьем раз-
              ряде регистра состояния:

              repeat
                inport(865,a)
              until ( (a and 8) <> 8 );

                   Для того, чтобы быть уверенными в готовности ССД, нам необхо-
              димо последовательно «пропустить» 8 единиц и 8 нулей, т.е. создать цикл
              следующего вида:

              for i:=1 to 8 do
               begin
                repeat
                 inport(865,a)
                until ( (a and 8) = 8 );
                repeat
                 inport(865,a)
                until ( (a and 8) <> 8 );
               end;



                                                     51


PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com