posted on Apr, 29 2010 @ 05:57 AM
Sorry, but I can't take the Apollo guidance computer seriously.
Its operating system makes me laugh when I read it.
An instruction coding which is illogical and aberrant, a memory addressing which is limited to 12 bits when it could have been done on 16 bits, which
would have avoided using memory bank switching (as well on data as on program memory) which requires extra hardware and is very penalizing (waste of
memory space and execution time).
Weird instructions, sometimes not even documented, or incompletely, so unpractical to use that I can hardly find an use for them, basic instructions
missing.
I really loved the hardware pulses which take CPU time through "unprogrammed sequences", which is a total inepty; never a CPU would waste time
counting hardware pulses, this task is always given to an electronic counter the CPU can read through an I/O channel (and this electronic counter can
also trigger an interrupt of the CPU).
Concerning the program itself, it's full of errors (addresses illegally specified as arithmetic expressions containing multiplcation and/or division,
or as a numeric floating value, illegal or duplicate labels, redundant instructions); the summit is reached with a subroutine calling another
subroutine, which is not possible since the return address is stored into an unique register, which prevents a subroutine from calling another one.
As a professional programmer, long familarized with assembler and real-time systems, I absolutely can't take seriously the AGC.