From owner-freebsd-hackers Sat Apr 3 8:30:53 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 F12E814C8B for ; Sat, 3 Apr 1999 08:30:50 -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 LAA13410; Sat, 3 Apr 1999 11:39:29 -0500 (EST) Date: Sat, 3 Apr 1999 11:39:28 -0500 (EST) From: Alfred Perlstein To: zhihuizhang Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: What does the "s" in insl and insw mean? In-Reply-To: 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, 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