Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Byte addressing
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Hybrid systems== Some systems with [[word addressing]], such as the [[PDP-10|PDP-6/10]] and the [[GE-600 series|GE-600]]/[[Honeywell 6000 series|Honeywell 6000]] series, have special mechanisms for accessing bytes efficiently. On the PDP-6/10, special instructions operated on a ''byte pointer'' which included a word address, a bit offset, and a bit width. The {{Mono|LDB}}/{{Mono|DPB}} instructions loaded or stored one byte, the {{Mono|IBP}} instruction incremented the byte pointer, and the {{Mono|ILDB}}/{{Mono|IDPB}} instructions incremented the byte pointer and then loaded or stored the next byte. These instructions could operate on arbitrary-width bit fields.<ref name="1982-pdp10-proc-ref-man">{{cite book|url=http://bitsavers.org/pdf/dec/pdp10/1982_ProcRefMan.pdf|title=DECsystem-10/DECSYSTEM-20 Processor Reference Manual|id=AD-H391A-T1|date=June 1982|publisher=[[Digital Equipment Corporation]]}}</ref>{{rp|pages=2{{hyp}}85-2{{hyp}}89}} Programs took advantage of this flexibility: those not needing lowercase letters used the limited character set of [[Six-bit character code|6-bit bytes]] for efficiency; most used [[7-bit ASCII]], packed 5 to a word with one unused bit; and the [[C (programming language)|C]] implementation used 9-bit bytes because C requires all memory to be byte-addressable. On the GE/Honeywell machines, special [[Addressing mode|indirect addressing modes]] could be used on most instruction types, and operated on a byte pointer which could operate on either 6-bit or 9-bit bytes.<ref>{{cite book|url=http://www.bitsavers.org/pdf/ge/GE-6xx/CPB-1004F_GE-635_Prog_Ref_Man_196907.pdf|title=GE-625/635 Programming Reference Manual|date=July 1969|publisher=[[General Electric]]|pages=169, 171β172}}</ref> Neither of these machines originally had direct machine support for random access to bytes; adjusting a byte pointer to point ''N'' bytes before or after the byte to which it currently pointed required a sequence of multiple instructions. The KL10 PDP-10 model extended the {{Mono|IBP}} instruction to become the "adjust byte pointer" instruction, {{Mono|ADJBP}}, that could adjust a byte pointer by an arbitrary number of bytes.<ref name="1982-pdp10-proc-ref-man" />{{rp|pages=2{{hyp}}89-2{{hyp}}91}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)