;;; -*- Mode:LISP; Package:MICRO; Readtable:ZL; Base:8 -*-

(define-micro-function %read-a-mem (adr)
  (call-data-type-not-equal pdl-top (a-constant (byte-value q-data-type dtp-fix)) trap)
;(error-table ...)
  ((oa-reg-high) dpb oah-a-src pdl-pop)
  ((m-1) seta a-garbage)
  (jump return-m-1-unsigned))

(define-micro-function %write-a-mem (adr val)
  ((m-t) pdl-top)
  (call get-32-bits)
  (call-data-type-not-equal pdl-top (a-constant (byte-value q-data-type dtp-fix)) trap)
  ((m-2) q-pointer pdl-pop)
  (jump-greater-or-equal m-2 (a-constant 64.) write-a)
  ((oa-reg-low) dpb oal-m-dest m-2)
  ((m-garbage) m-1)
  (popj)
write-a
  ((oa-reg-low) dpb oal-a-dest m-2)
  ((a-garbage) m-1)
  (popj))