Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 03 Apr 1999 14:15:00 -0500 (EST)
From:      John Baldwin <jobaldwi@vt.edu>
To:        Alfred Perlstein <bright@rush.net>
Cc:        freebsd-hackers@FreeBSD.ORG, zhihuizhang <bf20761@binghamton.edu>
Subject:   Re: What does the "s" in insl and insw mean?
Message-ID:  <XFMail.990403141500.jobaldwi@vt.edu>
In-Reply-To: <Pine.BSF.3.96.990403113649.4169P-100000@cygnus.rush.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On 03-Apr-99 Alfred Perlstein wrote:
> 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

Actually, ins* use ES, not DS, and ignore segment overrides to boot.
Also, if the direction flag is set via std, (E)DI is decremented instead of
incremented.

---

John Baldwin <jobaldwi@vt.edu> -- http://members.freedomnet.com/~jbaldwin/
PGP Key: http://members.freedomnet.com/~jbaldwin/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.freebsd.org


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?XFMail.990403141500.jobaldwi>