From owner-freebsd-hackers Sat Apr 3 10:35:18 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from cygnus.rush.net (cygnus.rush.net [209.45.245.133]) by hub.freebsd.org (Postfix) with ESMTP id 836EA14EDC for ; Sat, 3 Apr 1999 10:35:14 -0800 (PST) (envelope-from bright@rush.net) Received: from localhost (bright@localhost) by cygnus.rush.net (8.9.3/8.9.3) with SMTP id NAA03960; Sat, 3 Apr 1999 13:43:48 -0500 (EST) Date: Sat, 3 Apr 1999 13:43:46 -0500 (EST) From: Alfred Perlstein To: Dennis Cc: hackers@freebsd.org Subject: Re: What does the "s" in insl and insw mean? In-Reply-To: <199904031744.MAA26618@etinc.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Sat, 3 Apr 1999, Dennis wrote: > At 11:39 AM 4/3/99 -0500, you 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. > > Its important to note that is a string read in that it will read multiple > words (count of CX) ....of REP fame for memory copies. If you > have an IO mapped card (rather than a memory mapped on) ins? > functions can simulate a memory copy from IO space. er, isn't that only if you prefix the opcode with the 'rep' prefix? -Alfred To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message