25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
-
+
|
Don't believe me? Consider this sentence found in the FORTRAN IV chapter in the [OS/8 Language Reference Manual][lrm]:
> A real constant occupies three words (i.e., six bytes) of storage.
Since [words are 12 bits in the PDP-8](#words), that can only be interpreted as referring to 6-bit "bytes."
Since the PDP-8 uses a 12-bit native word size, 6-bit bytes are quite common in the PDP-8 world, often used for some kind of "packed [ASCII](https://en.wikipedia.org/wiki/ASCII)" representation. [One common scheme](http://homepage.cs.uiowa.edu/~jones/pdp8/faqs/#charsets) gets rid of most of the 32 control characters defined in 7-bit ASCII, all of the lowercase letters, and a whole bunch of the punctuation in order to pack two characters into a 12-bit PDP-8 word. There are actually a few different 6-bit packed ASCII representations for the PDP-8, so you have to know which scheme you're looking at before you can turn the data back into 7-bit ASCII.
6-bit bytes are quite common in the PDP-8 world, often used for some kind of "packed [ASCII](https://en.wikipedia.org/wiki/ASCII)" representation. [One common scheme](http://homepage.cs.uiowa.edu/~jones/pdp8/faqs/#charsets) gets rid of most of the 32 control characters defined in 7-bit ASCII, all of the lowercase letters, and a whole bunch of the punctuation in order to pack two characters into a 12-bit PDP-8 word. There are actually a few different 6-bit packed ASCII representations for the PDP-8, so you have to know which scheme you're looking at before you can turn the data back into 7-bit ASCII.
The PDP-8 was being designed at about the same time as the first versions of ASCII,³ as well as around the same time as the first wildly popular ASCII terminal, the [Teletype Model 33](https://en.wikipedia.org/wiki/Teletype_Model_33).⁴
When dealing with such terminals and the included paper tape reader, PDP-8s generally deal in either 7-bit or 8-bit bytes. When we're talking about 8-bit bytes, we aren't talking about the "[high-ASCII](https://en.wikipedia.org/wiki/Extended_ASCII)" stuff that infested the PC world in the late 1970s and 1980s before [Unicode](https://en.wikipedia.org/wiki/Unicode) was invented.
Much existing PDP-8 software that reads in plain ASCII text from a terminal as 8-bit bytes treats the eighth bit on standard DEC format paper tapes as a [mark parity bit](https://en.wikipedia.org/wiki/Parity_bit), rather than as an error-detecting parity bit or as a data bit.
|
142
143
144
145
146
147
148
149
150
151
|
142
143
144
145
146
147
148
149
150
151
|
-
+
|
6. The IF register doesn't actually change until the processor encounters a `JMP` or `JMS` instruction. Then the address being jumped to is computed based on the new IF value, transferring execution out of the current field.
-----------------
## License
Copyright © 2017 by Warren Young. This document is licensed under the terms of [the SIMH license][sl].
Copyright © 2017-2019 by Warren Young. This document is licensed under the terms of [the SIMH license][sl].
[sl]: https://tangentsoft.com/pidp8i/doc/trunk/SIMH-LICENSE.md
|