(*# 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) *)

(* # project( "#pragma link( iodll.dll)") leider Fehler in TS-Environment !!! *)
(*                                       --> direkt im Project-File angeben ! *)

DEFINITION MODULE IODLL;


TYPE
  A1  = ARRAY [0..0] OF SHORTCARD;

(*# save,
    call( reg_param => (dx,ax),
          reg_saved => (dx,ax,bx,cx,si,di,es,ds,st1,st2),
          inline => on)
*)
INLINE PROCEDURE Out( p : CARDINAL; v : SHORTCARD) = A1( 0EEH);

(*# call( reg_param => (dx),
          reg_saved => (dx,bx,cx,si,di,es,ds,st1,st2)) *)
INLINE PROCEDURE In( p : CARDINAL) : SHORTCARD = A1( 0ECH);



(*# save,
    call( near_call => off,
          reg_param => (),
          reg_saved => (di,si,ds,es,st1,st2))
*)
PROCEDURE Input( p : CARDINAL) : SHORTCARD;

PROCEDURE Output( p : CARDINAL; v : SHORTCARD);
(*# restore*)


END IODLL.
