;;; -*- Mode:LISP; Package:LAMBDA; Base:8; Lowercase:T -*-

(defun 2x2-count-loop (&optional (slot-1 0) (slot-2 4))
  (select-processor slot-1)
  
  )

(defun count-and-check-loop-setup (&optional mem-quad-slot &aux adr-for-cadr adr-for-lambda)
  (cond ((null mem-quad-slot)
	 (setq adr-for-cadr (ash (cadr (car *memory-configuration-list*)) 10.)))
	(t
	 (setq adr-for-cadr (ash mem-quad-slot 24.))))
  (cond ((> rg-slot 15.)
	 (setq adr-for-lambda (logxor adr-for-cadr #x10000000)))
	(t
	 (setq adr-for-lambda adr-for-cadr)))
  (disable-lambda-and-nu-master)				
  (write-level-1-map 0 0)
  (write-level-2-map-control 0 1400)
  (write-level-2-map-physical-page 0 (ash adr-for-lambda -10.))
  (reset-mi)
  (lam-reset-cache)
  (nd-bus-write adr-for-cadr 0)
  (write-m-mem 1 0)
  (uload ()
	 ;((vma-start-read) setz)
   0     (lam-ir-op lam-op-alu
	  lam-ir-ob lam-ob-alu
	  lam-ir-func-dest lam-func-dest-vma-start-read
	  lam-ir-aluf lam-alu-setz
	  lam-ir-clobbers-mem-subr-bit 1
	  lam-ir-slow-dest 1)
	 ;(no-op)
	 (lam-ir-op lam-op-alu)
	 ;(jump-not-equal md 1@a bad)
	 (lam-ir-op lam-op-jump
	  lam-ir-jump-addr bad
	  lam-ir-m-src lam-m-src-md
	  lam-ir-a-src 1
	  lam-ir-n 1
	  lam-ir-jump-cond lam-jump-cond-m-neq-a)
	 ;((md-start-write 1@m) m+1 md)
   write
	 (lam-ir-op lam-op-alu
	  lam-ir-m-src lam-m-src-md
	  lam-ir-ob lam-ob-alu
	  lam-ir-func-dest lam-func-dest-md-start-write
	  lam-ir-m-mem-dest 1
	  lam-ir-slow-dest 1
	  lam-ir-aluf lam-alu-m+1
	  lam-ir-carry 1
	  lam-ir-clobbers-mem-subr-bit 1)
	 ;(no-op)
	 (lam-ir-op lam-op-alu)
	 ;(jump 0)
	 (lam-ir-op lam-op-jump
	  lam-ir-jump-addr 0
	  lam-ir-n 1
	  lam-ir-jump-cond lam-jump-cond-unc)
	 ;(no-op)
	 (lam-ir-op lam-op-alu)
     bad
	 ;(halt)
	 (lam-ir-op lam-op-jump
	  lam-ir-jump-addr write
	  lam-ir-n 1
	  lam-ir-jump-cond lam-jump-cond-unc
	  lam-ir-halt 1
	  )
	 ;(no-op)
	 (lam-ir-op lam-op-alu)
       )

  (setup-machine-to-start-at 0)
  )


