ВУЗ:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »