Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site sdcc3.UUCP
Path: utzoo!watmath!clyde!bonnie!akgua!sdcsvax!sdcc3!ee173xcj
From: ee173xcj@sdcc3.UUCP (David Johnson)
Newsgroups: net.micro.pc
Subject: Re: Controlling I/O from UCSD PASCAL
Message-ID: <2435@sdcc3.UUCP>
Date: Sat, 3-Nov-84 01:45:45 EST
Article-I.D.: sdcc3.2435
Posted: Sat Nov  3 01:45:45 1984
Date-Received: Mon, 5-Nov-84 10:00:05 EST
References: <391@sdcsvax.UUCP>
Organization: U.C. San Diego, Academic Computer Center
Lines: 31

> Does anyone have any experience controlling I/O directly from
> UCSD Pascal on an IBM-PC?  I want to manipulate an AST board
> from a Pascal program, but cannot figure out what statement(s)
> to use.  The normal trick of using a pointer to map to the memory/io
> space only works on micros with a memory-mapped i/o structure.  Are
> there any special functions available?  Or does anyone know
> how to write functions in assembly language which are compatible
> with Pascal function calls?
> 
> John Van Zandt
> UCSD
> 
> ucbvax!sdcsvax!jvz

     There are several ways to do this in UCSD-Pascal on the
     P_system.

     First, there might be a function in the IBMSPECIAL unit, but I
     am not sure (I don't have it here in the VAX lab).
     Secondly, using Processes (V IV.13) one can access interupt
     vectors, but I don't know if this would do it, after all I
     don't even know what an AST board is!

     Thirdly, one can write functions and procedures in assembly
     language.  One must use the SYSTEM.ASSMBLER and then LINK the
     result to a unit or program.  To do this, one has to declare a
     routine as external.  Look in your manual, or if you don't have
     one, drop by the EE/CS 61 lab.
     
David Johnson
UCSD