home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1993-01-19 | 989 b | 47 lines |
- (*# call( near_call => off,
- seg_name => BODIO_IOPL,
- iopl => on) *)
- (*# data( near_ptr => off) *)
- (*%F _fdata *)
- (*# data( seg_name => null) *)
- (*%E *)
- (*# check( stack => off,
- index => off,
- range => off,
- overflow => off,
- nil_ptr => off) *)
- (*# module( implementation => off, init_code => off) *)
-
- IMPLEMENTATION MODULE IODLL;
-
-
- IMPORT Dos;
-
-
- CONST REQUEST = 0;
- RELEASE = 1;
-
-
- VAR res : CARDINAL;
-
-
- PROCEDURE Input( p : CARDINAL) : SHORTCARD;
- VAR v : SHORTCARD;
- BEGIN
- res := Dos.PortAccess( 0, REQUEST, p, p (* FIRST, LAST *) );
- v := In( p);
- res := Dos.PortAccess( 0, RELEASE, p, p (* FIRST, LAST *) );
- RETURN v;
- END Input;
-
-
- PROCEDURE Output( p : CARDINAL; v : SHORTCARD);
- BEGIN
- res := Dos.PortAccess( 0, REQUEST, p, p (* FIRST, LAST *) );
- Out( p, v);
- res := Dos.PortAccess( 0, RELEASE, p, p (* FIRST, LAST *) );
- END Output;
-
-
- END IODLL.