Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Apr 1999 11:39:28 -0500 (EST)
From:      Alfred Perlstein <bright@rush.net>
To:        zhihuizhang <bf20761@binghamton.edu>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: What does the "s" in insl and insw mean?
Message-ID:  <Pine.BSF.3.96.990403113649.4169P-100000@cygnus.rush.net>
In-Reply-To: <Pine.SOL.L3.93.990403110237.13968B-100000@bingsun1>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 3 Apr 1999, zhihuizhang wrote:

> 
> The instructions insl() and insw() should read a long word (l) or a word
> (w) from a specified I/O port.  But what does the "s" in both instructions
> stand for?  I can not find it in the Info files. 

in from port string operation 

it grabs a byte/word from the port, stores it into DS:DI and increments
DI, (that's in x86 real mode) afaik in prot mode it prolly just stores
to the segemtn pointed to DS and uses EDI.

The opcodes without 's' use al/ax/eax for the destination.

-Alfred

> 
> Why I ask this?
> 
> I come across these two instructions when I am reading source code
> wdgetctlr() in file isa/wd.c, where the source code checks if we really
> have a 32-bit controller by a bcmp(tb,tb2,sizeof(struct wdparams)). 
> However, tb2 has not been assigned with anything (all 0s by default).  So
> I have to figure out what has been read into tb by an earlier insl() or
> insw().  I doubt if there is a bug in that routine or some option is never
> actually used. 
> 
> Any help is appreciated.
> 
> -------------------------------------------------- 
> | Zhihui Zhang, http://cs.binghamton.edu/~zzhang |
> | Dept. of Computer Science,  SUNY at Binghamton |
> --------------------------------------------------
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990403113649.4169P-100000>