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