;;; -*- Mode:LISP; Package:KBUG; Base:10; Readtable:ZL -*- (defun tak (x y z) (if (not (< y x)) z (tak (tak (1- x) y z) (tak (1- y) z x) (tak (1- z) x y)))) (defun tacky-demo () (loop (lam::k-write-mode 0) (tak 18. 12. 6.) (lam::k-write-mode 4.) (tak 18. 12. 6.))) (defun do-tak () (lam:k-reset) (load-fcns '(test-tak tak)) (kbug 'test-tak)) ;---------------------------------------------------------------- (defun test-tak () (hw:nop) (hw:nop) (hw:nop) (hw:nop) (hw:nop) (hw:nop) (hw:write-processor-control 0) ;icache off (hw:nop) (hw:nop) (hw:write-processor-control 7) ; icache on (hw:nop) (hw:nop) (do () (()) (setq gr:*trap-temp1* (hw:32-1+ gr:*trap-temp1*)) (hw:write-memory-control (hw:dpb gr:*trap-temp1* (prims:byte 3 5) (hw:read-memory-control))) (when (not (= (tak 18. 12. 6.) 7.)) (do () (()))) )) (tak 18. 12. 6.) ;--> 7. (tak 20. 11. 3.) ;---> 11. (tak 19. 12. 5.) ;---> 12.