From owner-FreeBSD-users-jp@jp.freebsd.org  Tue Jul 16 11:45:48 1996
Received: by mail.jp.freebsd.org (8.7.3+2.6Wbeta5/8.7.3) id KAA09091
	Tue, 16 Jul 1996 10:54:19 +0900 (JST)
Received: by mail.jp.freebsd.org (8.7.3+2.6Wbeta5/8.7.3) with ESMTP id KAA09082
	for <FreeBSD-users-jp@jp.freebsd.org>; Tue, 16 Jul 1996 10:50:02 +0900 (JST)
Received: (from tsuyu@localhost) by aa8336.mc.elec.eng.osaka-cu.ac.jp (8.7.5/3.4W4) id QAA25434; Fri, 12 Jul 1996 16:50:29 +0900 (JST)
Date: Fri, 12 Jul 1996 16:50:29 +0900 (JST)
Message-Id: <199607120750.QAA25434@aa8336.mc.elec.eng.osaka-cu.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: Your message of Thu, 11 Jul 1996 22:08:08 +0900 (JST).
	<199607111308.WAA24140@aa8336.mc.elec.eng.osaka-cu.ac.jp>
From: tsuyu@mc.elec.eng.osaka-cu.ac.jp (Kimitake Tsuyuno)
X-Mailer: mnews [version 1.18PL3] 1994-08/01(Mon)
Reply-To: FreeBSD-users-jp@jp.freebsd.org
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 3044
Subject: [FreeBSD-users-jp 3044] Re: I/O port access
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$BO*Ln!wBg:e;TN)Bg3X$G$9!#(B

I/0$B%]!<%H$X$N%"%/%;%9$N;EJ}$K$D$$$F!"$?$/$5$s$N%"%I%P%$%9$rD:$-$^$7$F(B
$B$"$j$,$H$&$4$6$$$^$9!#(B

$B5l%a!<%j%s%0%j%9%H$N(B(FreeBSD-user 2277)$B$5$s$r;29M$K$7$F!"(B/dev/io $B$r;H$&(B
$BJ}K!$G$&$^$/F0$+$9$3$H$,$G$-$^$7$?!#(B

$B6qBNE*$K$O!"(B
#include <machine/cpufunc.h>
$B$r2C$(!"(B/dev/io$B$r(Bopen $B$7!"$5$i$K(B Turbo-C $B$G$N(B outp $B$H$$$&4X?t$r(B outb $B$G(B 
$BCV$-49$($k$H$&$^$/F0$-$^$7$?!#(B

$B$3$3$G=iJbE*$J<ALd$J$N$G$9$,!"(B /dev/io$B$r%*!<%W%s$9$k:]$K!"(B
open("/dev/io",000);
$B$H$7$?$N$G$9$,LdBj$J$/F0$$$F$$$^$9!#(B
open$B4X?t$N(B2$BHVL\$N0z?t$O(Bmode$B$rI=$9$h$&$G$9$,!"(Bmode$B$H$O$I$&$$$&$b$N$J$N$G(B
$B$7$g$&$+!)(B 
$B$3$l$O(B /dev/io$B$N%Q!<%_%C%7%g%s$H2?$i$+$N4X78$,$"$k$N$G$9$+!)(B
$B$h$m$7$/$*4j$$$7$^$9!#(B


io_test2.c$B$O(B 8255$B$N%]!<%H(BA$B$+$iG$0U$N?.9f$r=PNO$9$kC1=c$J%W%m%0%i%`$G$9!#(B
---------- io_test2.c ----------
#include <stdio.h>
#include <machine/cpufunc.h>
/*#include <dos.h>*/

#define P1A 0xf0d0
#define P1B 0xf0d2
#define P1C 0xf0d4
#define CT1 0xf0d6

void main(void)
{
    int data;

    if(open("/dev/io",000)<0){
	fprintf(stderr,"can't open /dev/io\n");
        exit(1);
    }

    outb( CT1, 0x80 );
    outb( P1A, 0x00 );

    printf("data=");
    scanf("%d",&data);

    while((0<=data)&&(data<=255)){
        outb( P1A, data );

        printf("data=");
        scanf("%d",&data);
    }
}
---------- io_test2.c ----------

                    /                                           
                  /            $BBg:e;TN)Bg3X(B $B9)3X8&5f2J(B M2
                 - - -$B!"(B                $BO*Ln(B $B8x>f(B               
           ..--$B!-(B      $B!4(B   E-mail:tsuyu@mc.elec.eng.osaka-cu.ac.jp   
          $B!H(B-$B!}(B------$B!}(B-'  ) )                                  
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
