Split octal

From HandWiki

Syllabic octal and split octal are two similar notations for 8-bit and 16-bit octal numbers, respectively, used in some historical contexts.

Syllabic octal

Syllabic octal is an 8-bit octal number representation that was used by English Electric in conjunction with their KDF9 machine in the mid-1960s.

Although the word 'byte' had been coined by the designers of the IBM 7030 Stretch for a group of eight bits, it was not yet well known, and English Electric used the word 'syllable' for what is now called a byte.

Machine code programming used an unusual form of octal, known locally as 'bastardized octal'. It represented 8 bits with three octal digits but the first digit represented only the two most-significant bits (with values 0..3), whilst the others the remaining two groups of three bits (with values 0..7) each.[1] A more polite colloquial name was 'silly octal', derived from the official name which was syllabic octal[2][3] (also known as 'slob-octal' or 'slob' notation,[4][5]).

This 8-bit notation was similar to the later 16-bit split octal notation.

Split octal

Split octal is an unusual address notation used by Heathkit's PAM8 and portions of HDOS for the Heathkit H8 in the late 1970s (and sometimes up to the present).[6][7] It was also used by Digital Equipment Corporation (DEC).

Following this convention, 16-bit addresses were split into two 8-bit numbers printed separately in octal, that is base 8 on 8-bit boundaries: the first memory location was "000.000" and the memory location after "000.377" was "001.000" (rather than "000.400").

In order to distinguish numbers in split-octal notation from ordinary 16-bit octal numbers, the two digit groups were often separated by a slash (/),[8] dot (.),[9] colon (:),[10] comma (,),[11] hyphen (-),[12] or hash mark (#).[13][14]

Most mini- and micro-computers used either straight octal (where 377 is followed by 400) or hexadecimal. With the introduction of the optional HA8-6 Z80 processor replacement for the 8080 board, the front-panel keyboard got a new set of labels and hexadecimal notation was used instead of octal.[15]

Through tricky number alignment the HP-16C and other Hewlett-Packard RPN calculators supporting base conversion can implicitly support numbers in split octal as well.[16]

See also

  • IBM SQUOZE
  • DEC RADIX 50
  • Squawk code
  • Segment:offset addressing

References

  1. "Chapter 7.2. Shift and Rotate Instructions". Introduction to 80x86 Assembly Language and Computer Architecture (3 ed.). Burlington, Massachusetts, USA: Jones & Bartlett Learning, LLC / Ascend Learning Company. 2015. pp. 223–233 [233]. ISBN 978-1-284-03612-1. https://books.google.com/books?id=8qUdAwAAQBAJ&pg=PA233&lpg=PA233. Retrieved 2023-10-17.  (348 pages) (NB. The author confuses the 16-bit split octal with the 8-bit syllabic octal notation.)
  2. Director - Manual (Flowchart). KDF 8. English Electric. c. 1960s. pp. 40–49. http://sw.ccs.bcs.org/KDF9/directorManuals/20090803114911646.pdf. Retrieved 2020-07-27.  (10 pages) (NB. Mentions the term "syllabic octal".)
  3. "KAB95--04---". http://sw.ccs.bcs.org/KDF9/kapics/KAB95.pdf.  (8 pages) (NB. Mentions the term "syllabic octal".)
  4. "The KDF9 Computer — 30 Years On". Resurrection - The Bulletin of the Computer Conservation Society (Computer Conservation Society (CCS)) (18): 7–15 [9, 11]. Autumn 1997. ISSN 0958-7403. http://www.cs.man.ac.uk/CCS/Archive/Resurrection/pdf/res18.pdf. Retrieved 2020-07-27.  [1] (NB. This is an edited version of a talk given to North West Group of the Society at the Museum of Science and Industry, Manchester, UK on 1996-10-01. It mentions the term "slob" and "slob-octal" as equivalent to "syllabic octal".)
  5. "Architecture of the English Electric KDF9 computer.". Computer Conservation Society (CCS). September 2009. http://www.ourcomputerheritage.org/ccs-n2x2.pdf.  (NB. Refers to Beard's 1997 article.)
  6. "As I recall some DEC utilities supported 'split octal' which was base 8 on 8 bit boundaries". Hacker News: Combinator. 2016-12-09. https://news.ycombinator.com/item?id=13140527. 
  7. Control Data 8092 TeleProgrammer: Programming Reference Manual. Minneapolis, Minnesota, USA: Control Data Corporation. 1964. IDP 107a. http://bitsavers.org/pdf/cdc/809x/IDP107a_8092pgmRef_1964.pdf. Retrieved 2020-07-27. 
  8. "Control the World! (Or at Least a Few Analog Points)". BYTE – the small systems journal (Glastonbury, Connecticut, USA: BYTE Publications Inc.) 2 (9): 30, 32, 34, 36, 38–40, 42–43, 156–158, 160–161 [157–158]. September 1977. ISSN 0360-5280. https://vintageapple.org/byte/pdf/197709_Byte_Magazine_Vol_02-09_Music_and_Computers.pdf. Retrieved 2020-07-31. 
  9. "Building the Heath H8 Computer". BYTE – the small systems journal (Nashua, New Hampshire, USA: BYTE Publications Inc.) 4 (3): 12–13, 124–130, 132–134, 136–138, 140 [129, 138]. March 1979. ISSN 0360-5280. https://worldradiohistory.com/Archive-Byte/70s/Byte-1979-03.pdf. Retrieved 2020-07-31. 
  10. The 8080/Z-80 Assembly Language: Techniques for Improved Programming (1 ed.). New York, USA: John Wiley & Sons, Inc.. 1981. ark:/13960/t4zg8792b. ISBN:978-0-471-08124-1. ISBN 0-471-08124-8. https://archive.org/stream/8080_and_Z-80_Assembly_Language_Techniques_1981_John_Wiley_and_Sons/8080_and_Z-80_Assembly_Language_Techniques_1981_John_Wiley_and_Sons_djvu.txt. Retrieved 2022-07-17.  (1+x+319+2 pages)
  11. 8080 Machine Language Programming for Beginners. dp Series in Software. 3 (1 ed.). Portland, Oregon, USA: Dilithium Press. 1978. ISBN:978-0-91839814-7. ISBN 0-91839814-2. "[…] 000,376 […] 000,377 […] 001,000 […] 001,001 […]"  (112 pages)
  12. "39. Split-Octal Concept". Introduction to number systems. Computer Diagnostics. pp. 48–50. https://f01.justanswer.com/LVyCWET7/b0802.pdf. Retrieved 2020-07-31.  (iv+56 pages)
  13. "A8008 8008 (1975) cross-assembler A8008 8008 (1975) cross-assembler". 2019-10-02. http://www.retrotechnology.com/restore/a8008.html. 
  14. "{31} Binary, Decimal Octal, Split Octal, and HEX". Bits Of The Golden Age. 2020. https://www.youtube.com/watch?v=9v2OiicrzrQ. 
  15. "H-8 Technical details". 2011-07-23. http://davidwallace2000.home.comcast.net/~davidwallace2000/h8/technical.htm#z80%20cpu. 
  16. "hp16 and split octal conversion". The Museum of HP Calculators (MoHPC). 2021-12-02. https://www.hpmuseum.org/forum/thread-17777-post-154980.html. "[…] Before you write a program on the hp16 to do the conversion, just put a zero between the two bytes, e.g. A9oC2 hex. Conversion to octal gives 251o302, the split octal value (with "o" als the digit zero to separate the two bytes). Same works for octal to hex. 377o377 octal to hex gives FFoFF […] Also usable on other machines with base conversion such as the 32S/SII, the 42S or the 41C with Advantage ROM. It works because 3 hex digits are 12 bits, exactly 4 oct digits. […]" 

Further reading