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

UptoLike

10
внешнего устройства поступают по шине данных в процессор; запись - об-
ратная операция - из процессора во внешнее устройство. Необходимо от-
метить, что по одному и тому же адресу порта могут находиться две неза-
висимые (раздельные!) ячейки, в одну из которых можно записывать, а из
другой считывать, причем независимость их имеет принципиальное значе-
ние. Например, одна ячейка может содержать данные о состоянии системы
(на считывание), а при записи во вторую - можно управлять движением
шагового двигателя. Следует отметить, что существуют ИВС с двунаправ-
ленными портами, однако в данных лабораторных работах такая реализа-
ция не используется.
Процедура обращения к порту
Для того, чтобы обратиться к порту, необходимо знать его адрес, на-
значение и, в соответствие с последним, направление передачи данных при
работе.
В данных лабораторных работах при написании программ использу-
ется пакет Delphi. В состав стандартных средств программирования среды
Delphi, возможность прямого обращения к портам ввода-вывода не входит.
Ввиду этого, для работы с портами используется специально написанный
библиотечный модуль ports. Он содержит две процедуры, написанные на
машинно-ориентированном языке программирования Ассемблер. Одна из
этих процедур
outport(adress,data)
- предназначена для вывода (записи)
заданного значения в порт с заданным адресом. При её вызове в порт с ад-
ресом adress записывается значение переменной data. Другая процедура
inport(adress,data) служит для ввода (считывания) данных из порта. В
процессе выполнения эта процедура считывает данные в переменную data
из порта с адресом adress. Тип переменной, используемой в качестве
adress должен быть word, тип data byte. Ниже приведено описание мо-
дуля ports.
unit ports;
interface
procedure outport(adress :word;data :byte);
procedure inport(adress :word;var data :byte);
implementation
procedure outport(adress :word;data :byte);
begin
asm
mov dx,adress
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
              внешнего устройства поступают по шине данных в процессор; запись - об-
              ратная операция - из процессора во внешнее устройство. Необходимо от-
              метить, что по одному и тому же адресу порта могут находиться две неза-
              висимые (раздельные!) ячейки, в одну из которых можно записывать, а из
              другой считывать, причем независимость их имеет принципиальное значе-
              ние. Например, одна ячейка может содержать данные о состоянии системы
              (на считывание), а при записи во вторую - можно управлять движением
              шагового двигателя. Следует отметить, что существуют ИВС с двунаправ-
              ленными портами, однако в данных лабораторных работах такая реализа-
              ция не используется.

              Процедура обращения к порту

                    Для того, чтобы обратиться к порту, необходимо знать его адрес, на-
              значение и, в соответствие с последним, направление передачи данных при
              работе.
                    В данных лабораторных работах при написании программ использу-
              ется пакет Delphi. В состав стандартных средств программирования среды
              Delphi, возможность прямого обращения к портам ввода-вывода не входит.
              Ввиду этого, для работы с портами используется специально написанный
              библиотечный модуль ports. Он содержит две процедуры, написанные на
              машинно-ориентированном языке программирования Ассемблер. Одна из
              этих процедур – outport(adress,data) - предназначена для вывода (записи)
              заданного значения в порт с заданным адресом. При её вызове в порт с ад-
              ресом adress записывается значение переменной data. Другая процедура –
              inport(adress,data) служит для ввода (считывания) данных из порта. В
              процессе выполнения эта процедура считывает данные в переменную data
              из порта с адресом adress. Тип переменной, используемой в качестве
              adress должен быть word, тип data – byte. Ниже приведено описание мо-
              дуля ports.

              unit ports;
              interface
              procedure outport(adress :word;data :byte);
              procedure inport(adress :word;var data :byte);

              implementation

              procedure outport(adress :word;data :byte);
              begin
               asm
                mov dx,adress

                                                     10


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