Понедельник, 29.06.2026, 12:03
| RSS
Главная | Напишите процедуру чтения базовых адресов параллельных и пос - Форум
Сообщество
«ФИиВТ МарГТУ»
факультет информатики и вычислительной техники
марийского государственного технического университета
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Напишите процедуру чтения базовых адресов параллельных и пос
RootДата: Четверг, 30.12.2010, 19:22 | Сообщение # 1
Магистр-выпускник
Группа: Администраторы
Сообщений: 207
Награды: 0
Репутация: 0
Статус: Offline
Напишите процедуру чтения базовых адресов параллельных и последовательных портов.
 
RootДата: Четверг, 30.12.2010, 19:42 | Сообщение # 2
Магистр-выпускник
Группа: Администраторы
Сообщений: 207
Награды: 0
Репутация: 0
Статус: Offline
Code

Function Centronic(x:integer):integer; export;

(* $000:$0408 содержит базовый адрес для LPT1,

$000:$040A содержит базовый адрес для LPT2,

$000:$040С содержит базовый адрес для LPT3,

$000:$040e содержит базовый адрес для LPT4,

$000:$0411 содержит количество параллельных портов .*)

var

number_of_LPT,LPT1,LPT2,LPT3,LPT4:integer;

lpt1,lpt2,lpt3,lpt4: integer;

begin

number_of_LPT:=mem($40:$11);

(*Считывает количество LPTпортов.*)

number_of_LPT:=( number_of_LPT and (128+64)) shr 6;

lpt1:=0; lpt2:=0; lpt3:=0; lpt4:=0;

lpt1:=memw($40:$08);

(*Процедура считывания из памяти.*)

lpt2:=memw($40:$0A);

lpt3:=memw($40:$0C);

lpt4:=memw($40:$0e);

case x of

0: centronic:=Number_of_LPT;

1: Centronic:=lpt1;

2: Centronic:=lpt2;

3: Centronic:=lpt3;

4: Centronic:=lpt4;

end;

end

Function RS232(X:integer):integer; export;

(* $0000:$0400 содержит базовый адрес порта COM1,

$0000:$0402 содержит базовый адрес порта COM2,

$0000:$0404 содержит базовый адрес порта COM3,

$0000:$0406 содержит базовый адрес порта COM4,

$0000:$0411 содержит количество COMпортов в двоичном формате.*)

var

number_of_COM, COM1, COM2,COM3, COM4:integer;

begin

number_of_COM:=mem($40:$11);

(*Считывает количество COMпортов.*)

number_of_COM:=(number_of_COM and (8+4+2)) shr 1;

COM1:=0; COM2:=0; COM3:=0; COM4:=0;

COM1:=memw($40:$00);

(*Процедура чтения из памяти.*)

COM2:=memw($40:$02);

COM3:=memw($40:$04);

COM4:=memw($40:$06);

Case X of

0: RS232:=number_of_COM;

1: RS232:=COM1;

2: RS232:=COM2;

3: RS232:=COM3;

4: RS232:=COM4;

end;

end;

 
  • Страница 1 из 1
  • 1
Поиск:


Copyright MyCorp © 2026