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/