Turbo C’ de I/O portlarına
önceden tanımlanmış olan outportb ve inportb fonksiyonları arcılığıyla
erişilir.
# include <stdio.h>
# include <dos.h>
# define
data 0x378
# define status 0x379
# define control 0x37A
unsigned char veri ;
outportb(data,veri);
veri = inportb(status);
Şimdi size ouportb komutunu
daha somut bir örnekle açıklamak isterim.Sözgelimi LPT1’in D1 ve D2
terminallerine bağlı ve topraklanmış iki adet led düşünelim. Bunların
sırayla ve birer saniye aralıklarla yanıp sönmesini istenirse;
do { outportb(data,2);
delay(1000);
outportb(data,0);
outportb(data,4);
delay(1000);
outportb(data,0);
}while(1);
gibi bir kodlama
kullanılabilir.
Pascal’da “ port :
array[0..65535] of byte “ şeklinde önceden tanımlanmış “ port “ dizisi
kullanılır.
Const data = $378
status = data+1
control = data+2
var
veri : byte;
port[data] :=veri ;
veri :=port[status];
Delphi ‘de asm
komutları kullanılır.Bunu göstermek için çok basit bir program yazdım.
Aşagıdaki formda gonder tuşu tıklandığında edit kutuusnda bulunan unsigned integer değer LPT1 çıkışlarına gonderilmiş olur.