mzal@pegasus.UUCP (11/15/84)
If C was intended as a systems programming language, then it only seems fair that it should be able to access all functions of the system, including BCD on those machines which support it. How a variable declared as BCD should be handled on non-BCD machines is an issue which could be left to the implementer. Alternatively, we could just say that all BCD variables are of type int on non-BCD machines. I know of no standards saying that just because something is declared char or int or double that it needs to be stored in some special way. IndeedGi in all versions of C which run on a DEC-20 (that I have seen), chars, ints, longs, and doubles are all 36 bit quantaties. -- Mike^Z [allegra!, ihnp4!] pegasus!mzal Zaleski@Rutgers
henry@utzoo.UUCP (Henry Spencer) (11/16/84)
> If C was intended as a systems programming language, then it only seems > fair that it should be able to access all functions of the system, > including BCD on those machines which support it.... C does provide a mechanism for accessing all facilities of a system: it's called "call a function written in assembler". If you have ever looked at the instruction set of a "real" machine, you'll see why this is the only realistic way to tackle it. There are far too many bizarre and utterly machine-dependent oddities in *any* real system to expect C to incorporate them all. No systems programming language has *ever* attempted to do this, except by mechanisms that at least *looked* like function calls. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry