[LispM-Hackers] First Function
Dave Richards
dave@synergy.org
Sun, 3 Mar 2002 15:15:08 -0800
Ok, we're golden.
;Come here when machine starts. Provides a base frame.
(DEFUN LISP-TOP-LEVEL ()
(LISP-REINITIALIZE NIL) ;(Re)Initialize critical
variables and things
(TERPRI (OR TV:INITIAL-LISP-LISTENER *TERMINAL-IO*))
;; LISP-TOP-LEVEL1 supposedly never returns, but loop anyway in case
;; someone forces it to return with the error-handler.
(LOOP DOING
(IF (FBOUNDP 'PROCESS-TOP-LEVEL)
(PROCESS-TOP-LEVEL)
(LISP-TOP-LEVEL1 (OR TV:INITIAL-LISP-LISTENER
*TERMINAL-IO*)))))
Translates to:
; (DEFUN LISP-TOP-LEVEL ()
; (LISP-REINITIALIZE NIL)
pc=0000 SET_NIL PDL
pc=0001 c CALL_1_DEST_INDS FEF|#o5
; (OR TV:INITIAL-LISP-LISTENER
; *TERMINAL-IO*)
pc=0002 PUSH FEF|#o4
pc=0003 b BR_NOT_NIL_ELSE_POP disp=#o1
pc=0004 PUSH FEF|#o3
; (TERPRI ...)
pc=0005 c CALL_1_DEST_INDS FEF|#o6
; (LOOP DOING ...)
; (FBOUNDP 'PROCESS-TOP-LEVEL)
pc=0006 PUSH FEF|#o7
pc=0007 m miscop=#o237
; (IF ...)
pc=0010 b BR_NIL disp=#o2
; (PROCESS-TOP-LEVEL)
pc=0011 c CALL_0_DEST_INDS FEF|#o10
pc=0012 b BR_ALWAYS_NIL disp=#o773
; (OR TV:INITIAL-LISP-LISTENER *TERMINAL-IO*)
pc=0013 PUSH FEF|#o4
pc=0014 b BR_NOT_NIL_ELSE_POP disp=#o1
pc=0015 PUSH FEF|#o3
; (LISP-TOP-LEVEL1 ...)
pc=0016 c CALL_1_DEST_INDS FEF|#o11
pc=0017 b BR_ALWAYS_NIL disp=#o766