8086 (was Re: more talking to the press.)

From: Hans Franke <Hans.Franke_at_mch20.sbs.de>
Date: Fri Nov 14 15:32:51 2003

Am 14 Nov 2003 13:18 meinte Tom Jennings:
> On Fri, 2003-11-14 at 12:00, Hans Franke wrote:
> > > /* Fill a block of memory with 0's. */
> > > void foofill (start, end)
> > > {
> > > char *start, *end; /* memory pointers */
> > >
> > > while (start < end) { /* until we reach the end... */
> > > *start++= 0; /* write 0, incr pointer... */
> > > }
> > > }
> > So, where's the problem?
> > start and end are memory ponters, and thus belog to one
> > segemt.

> So, why do you assume I should/must/want to address only within a
> segment?

Because the relation between the segments are none of the
business of a user programm?

> > The whole operation is meaningless if they would
> > belong to different segments. The comparsion generated
> > for the while is a simple 16 bit compare.

> ...which technique [16-bit compare] will cause unpleasant side effects,
> should the memory block be 65537 bytes long, for example.

Now, show me on a 16 Bit CPU, like the 8086 a segment size
larger than 64K? x:10001 just doesn't work.

Gruss
H.
--
VCF Europa 5.0 am 01./02. Mai 2004 in Muenchen
http://www.vcfe.org/
Received on Fri Nov 14 2003 - 15:32:51 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:36:19 BST