From owner-FreeBSD-users-jp@jp.freebsd.org  Fri Jun 20 15:33:02 1997
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) id PAA27020
	Fri, 20 Jun 1997 15:33:02 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) with SMTP id PAA27014
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 20 Jun 1997 15:32:56 +0900 (JST)
Received: from sranhc.sra.co.jp by sraigw.sra.co.jp (8.6.13/3.4W-sraigw)
	id PAA21130; Fri, 20 Jun 1997 15:32:38 +0900
Received: from sras63.sra.co.jp (hikichi@sras63 [133.137.20.191]) by sranhc.sra.co.jp (8.6.13/3.4W-srambox) with ESMTP id PAA16355 for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 20 Jun 1997 15:31:40 +0900
Received: (from hikichi@localhost) by sras63.sra.co.jp (8.6.12+2.4W3/3.4W-sras63) id PAA07697; Fri, 20 Jun 1997 15:32:49 +0900
Date: Fri, 20 Jun 1997 15:32:49 +0900
From: Nobuyuki Hikichi <hikichi@sra.co.jp>
Message-Id: <199706200632.PAA07697@sras63.sra.co.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: <199706191009.TAA00276@hiro.mydomain.jp>
References: <199706191009.TAA00276@hiro.mydomain.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 14591
Subject: [FreeBSD-users-jp 14591] asm in gcc/I/O prog-2nd 
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org


HirohitoHiguchi writes:
 > $BHu8}$G$9!#(Binfo gcc$B$r$8$C$/$jFI$s$G$$$^$9$,!"(B%0,%%dx$B$NFf$O(B
 > $B2r$1$^$7$?$,!"(Bconstraints$B$N(B g,a,d,f$B$OL$$@NI$/2r$j$^$;$s!#(B

($BD>Lu$K$J$C$F$7$^$$$^$9$,!"(B)

 g $B$O(B
	$B%l%8%9%?$d%a%b%j!"(Bimmidate $B$,;HMQ2DG=!"(B
	$B$?$@$7(B $B%l%8%9%?$OHFMQ%l%8%9%?$G$O$J$$!"(B

 a $B$O(B 386 $B$N(B a $B%l%8%9%?$N$_(B
 d $B$O(B 386 $B$N(B d $B%l%8%9%?$N$_(B
 f $B$O(B floating point register 

$B$G$9$M!"(B


 > $B7k6I$3$l$i$NJ*$O(Ba,$B$@$m$&$,(B b,c$B$@$m$&$,(BFreeBSD$B$G;H$&J,$K$O(B
 > $B9=$o$J$$$N$G$7$g$&$+!)(B

$BJQ99$9$k>l9g$K$h$C$F$O!"$$$m$$$mLdBj$K$J$C$F$/$k2DG=@-$,$"$k$N$G$O!"$H(B
$BM}2r$7$F$$$^$9!#$b$H$b$N$H2<$NNc$G$O(B ..asm.. $B$H$$$&J8$G$O!"<!$N$h$&$J(B
$B0UL#$K$J$C$F$$$^$9!#(B

	$B0z?t(B port $B$O(B d register $B$K(B copy $B$7$F!"(B *asm*
	$B$NJ8$r<B9T$7$^$9!#(B

	*asm* $B$N<B9T7k2L$O(B a register $B$KF~$j$^$9!#(B
	$B0lJ}(B data $B$O(B a register $B$K(B register allocation $B$7$F$/$@$5$$!#(B


pentium $B$N%^%K%e%"%k$r8+$?$N$G$9$,!"(Bbyte $B$N(B in $BL?Na$O(B

	inb dx,al

$B$7$+$J$$$h$&$J$N$G!"(Boriginal $B0J30$N$b$N$r;XDj$9$k$H!"(Basssemble $B;~$K(B syntax
error $B$,=P$k$N$G$O!"$H?dB,$7$^$9!#(B

	$B$7$?$,$C$F!"$?$H$($P(B a $B$r(B b $B$H$7$?>l9g!"(B
		inb dx,bl
	$B$H$$$&L?Na$KJQ49$5$l$^$9$N$G!"$3$l$,@5$7$$(B assembler $B$N(B syntax $B$+!"(B
	$B4uK>$9$kF0:n$r$9$k$+!"$,(B point $B$K$J$k$+$H;W$$$^$9!#(B
	$B$d$C$F$_$^$7$?$i!"(Berror $B$K$J$j$^$7$?!#(B

 > $B;n$7$KE,Ev$J1Q;z$rJ|$j$3$s$G$b(B
 > $B%3%s%Q%$%i$O2?$N%&%)!<%K%s%0$d%(%i!<$b=P$7$^$;$s$G$7$?$7(B...

gcc $B<+BN$O!"(Basm $B$NCf$N(B check $B$O!"$"$kDxEY8BDj$7$?$b$N$7$+$7$F$$$J$$$h(B
$B$&$J$N$G!"E,Ev$K$$$l$F!"LdBj$K$J$k$H$7$?$i!"(Bassemble $B;~$G$O$J$$$+$H(B
($B<B9T;~$bLdBj$K$J$k$+$bCN$l$^$;$s$,!"(B)$B!D(B

					       $B0zCO?.G7(B(hikichi@sra.co.jp)

$B$b$H$b$H$N<ALd$r$7$?<($7$^$9!#(B
HirohitoHiguchi writes:
:
 > $B%"%;%s%V%i9=J8$,NI$/M}2r$G$-$^$;$s!#(B

 > inb(unsigned int port)
 > {
 >   unsigned char data;

 >   __asm __volatile("inb %%dx,%0" : "=a" (data) : "d" (port));
 >   return (data);

 > }
									$B""(B
