SYNAPSE

Hardver I/O interface

Hardver I/O interface

A hardver I/O interface megköveteli az I/O regiszterekhez való hozzáférést. A "memory mapped" processzorok ezeket a regisztereket úgy érik el közönséges betöltõ és tároló utasításokkal, mintha memória rekeszek lennének. A "port mapped" processzorok viszont különleges I/O port utasításokkal érik el õket. A device regiszterek kezelése magába foglalja az olvasásukat és írásukat is. A Synapse egy egységes I/O interface biztosításával teszi elérhetõvé a "memory mapped" és a "port mapped" device regisztereket. Az interface mögött az elsõ esetben egy abszolút memóriacímet tartalmazó pointer, a második esetben pedig egy portot kezelõ könyvtári függvény áll.

# Declaration of a device variable "printerDataReg"
device printerDataReg:byte
# Declaration of a device "printerBaseAddress" at the location 10
device printerBaseAddress:byte at 10

# Set bit 0 in aDevice (memory or port mapped device)
printerBaseAddress := printerBaseAddress or 0x01