

(defun fill-memory (fname)
  (with-open-file (fin fname :direction :input)
    (loop
     with line = (read-line fin nil nil)
     with addr = 0
     with comcnt = 0
     with comfnd = nil
     with val = 0
     while line do

     (setf comfnd nil)
     (when (string= (subseq line 0 2) "//")
       (incf comcnt)
       (setf comfnd t))
     (when (not comfnd)
       (setf val (parse-integer line :radix 16))
       (msys::set-word addr 0 val)
       (incf addr 4)) 
     (setf line  (read-line fin nil nil))
     finally return (list addr comcnt))))
