4 ms·
I've worked on a machine with 9-bit bytes (and 81-bit instructions) and others with 6-bit ones - nether has a C compiler
by Taniwha 2y ago
I've worked on a machine with 9-bit bytes (and 81-bit instructions) and others with 6-bit ones - nether has a C compiler
- asveikau 2y agoI think the pdp-10 could have 9 bit bytes, depending on decisions you made in the compiler. I notice it's hard to Google information about this though. People say lots of confusing, conflicting things. When I google pdp-10 byte size it says a c++ compiler chose to represent char as 36 bits.
- larsbrinkhoff 2y agoPDP-10 byte size is not fixed. Bytes can be 0 to 36 bits wide. (Sure, 0 is not very useful; still legal.) I don't think there is a C++ compiler for the PDP-10. One of the C compiler does have a 36-bit char type.
- eqvinox 2y agoDo you have any links/info on how that 0-bit byte worked? It sounds like just the right thing for a Friday afternoon read ;D
- larsbrinkhoff 2y agoIt should be in the description for the byte instructions: LDB, DPB, IBP, and ILDB. http://bitsavers.org/pdf/dec/pdp10/1970_PDP-10_Ref/ http://bitsavers.org/pdf/dec/pdp10/1970_PDP-10_Ref/ Basically, loading a 0-bit byte from memory gets you a 0. Depositing a 0-bit byte will not alter memory, but may do an ineffective read-modify-write cycle. Incrementing a 0-bit byte pointer will leave it unchanged.
- asveikau 2y agoI was summarizing this from a Google search. https://isocpp.org/wiki/faq/intrinsic-types#:~:text=One%20way%20to%20abide%20by,bit%2Doffset%20within%20that%20word https://isocpp.org/wiki/faq/intrinsic-types#:~:text=One%20wa.... As I read it, this link may be describing a hypothetical rather than real compiler. But I did not parse that on initial scan of the Google result.
- corysama 2y agoThe Nintendo64 had 9-bit RAM. But, C viewed it as 8 bit. The 9th bit was only there for the RSP (GPU).