Difference between revisions of "GeneveOS Device Operation"

From Ninerpedia
Jump to navigation Jump to search
m (User-task XOPs)
m (Device Service Routine Call)
Line 24: Line 24:
 
|-
 
|-
 
| R0
 
| R0
| Pointer to PAB || Pointer to PAB
+
| Pointer to PAB || -
 
|-
 
|-
 
|}
 
|}
  
 
The actual operation is contained in the Peripheral Access Block (PAB).
 
The actual operation is contained in the Peripheral Access Block (PAB).

Revision as of 19:52, 22 July 2016

Accessing devices (floppy disk, hard disk, serial connector, printer) is possible in GeneveOS via XOP calls.

User-task XOPs

User-task XOPs are available for use in application programs. Here is a typical example:

PABADD EQU  >F180   
FILE   DATA 8
...
       LI   R0,PABADD
       XOP  @FILE,0
       MOVB @PABADD+2,R0
       JNE  ERROR
       ...

Similar as with the TI-99/4A device service routine concept (DSR), a Peripheral Access Block (PAB) must be set up prior to invoking the XOP.

Device Service Routine Call

Input Output
R0 Pointer to PAB -

The actual operation is contained in the Peripheral Access Block (PAB).