News for hackers. Stuff that matters.
Re:We found an undocumented bug in the Apollo 11 guidance co... by f1shy on Tuesday April 07, 2026 @11:45AM (#47677128)
Cadr here has no relation with lisp cadr, right?
Re:We found an undocumented bug in the Apollo 11 guidance co... by jacquesm on Tuesday April 07, 2026 @11:54AM (#47677253)
Re:We found an undocumented bug in the Apollo 11 guidance co... by jasomill on Tuesday April 07, 2026 @01:20PM (#47678525)
Correct.

CADR is an AGC assembly directive defining a "complete address" including a memory bank, in this case a subroutine to be called by the preceding BANKCALL (TC = transfer control, i.e., store return address and jump to subroutine), which switches to the memory bank specified in the CADR before jumping to the address specified in the CADR.

For a brief explanation of AGC subroutine calls, see [1].

CAR and CDR in Lisp come from the original implementation on the IBM 704, where pointers to the two components of a cons cell were stored as the (C)ontents of the (A)ddress and (D)ecrement fields of a (R)egister (memory word).

(CADR x) is just shorthand for (CAR (CDR x)), i.e., a function that returns the second element of a list (assuming x is a well-formed list).

[1] https://epizodsspace.airbase.ru/bibl/inostr-yazyki/American_...