Post by Paul EdwardsPost by s***@yahoo.comNo, a 'page' is 0100h bytes since the Intel 8-bit days, (16 bit addresses.) where the low order byte of the 16 bit address is 00h.
So valid pages are {0000h, 0100h, 0200h, ...}.
Incrementing the high order byte of an address is 'stepping' through memory a 'page' at a time.
https://www.ctyme.com/intr/rb-2939.htm
02h WORD number of bytes in last 512-byte page of executable
04h WORD total number of 512-byte pages in executable (includes any
partial last page)
BFN. Paul
~~~~~~~
(How do you reconcile that with)
That implies that they are in conflict.
I was inclined to say they are 'apples' and 'oranges'. We could also add 'bananas' by talk of cpu pagination of 4k pages.
The qualifier '512-byte' self-defines 'page' there, and George beats me to the term 'blocks' - which is more fitting because
we are refering to the storage and retrieval to 'block devices'.
Kildall use the term 'pages' - meaning 0100h bytes on Intel's 8080 cpu, in an article for DDJ where he describes a method
to build page relocated software with the tools of that era, of late 1970's that did not directly support this..
The method was to assemble a source file twice, First at "ORG 0000h', secondly at "ORG 0100h". The two binaries would
differ only in the high byte of addresses. A list of these addresses in a separate file, and provided to a Loader could allow
the Loader to place the binary in any 'page' of memory, and 'fixup' addresses to that 'page' to allow the binary to run there.
That is the earliest mention of 'page', and practical use method, that I know of.
The addressing method of the 8080 was changed in the x86. In the x86, the resolution of memory is now down to 16 bytes,
10h, because of Segmentation, and this the size of a paragraph. So a binary, ORG 0000h, is self-relocatable to any Segment
number, a 'paragraph'.
Steve
~~~~~~~