;;; -*- Mode:LISP; Package:(MICRO GLOBAL); Base:8; Readtable:ZL -*-
(define-micro-component popj-after-next ()
lam-ir-popj-after-next 1
)
(define-micro-component no-op ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu)
(define-micro-component jump ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-unc
lam-ir-n 1
lam-ir-jump-addr :required
)
(define-micro-component jump-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-unc
lam-ir-jump-addr :required
)
(define-micro-component call ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-unc
lam-ir-n 1
lam-ir-p 1
lam-ir-jump-addr :required
)
(define-micro-component call-xct-next ()
lam-ir-op lam-op-jump
lam-ir-p 1
lam-ir-jump-cond lam-jump-cond-unc
lam-ir-jump-addr :required
)
(define-micro-component popj ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-unc
lam-ir-r 1
lam-ir-n 1
)
(define-micro-component popj-xct-next ()
lam-ir-op lam-op-jump
lam-ir-r 1
lam-ir-jump-cond lam-jump-cond-unc
)
(define-micro-component jump-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m=a
lam-ir-n 1
lam-ir-jump-addr :required
)
(define-micro-component jump-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m=a
lam-ir-jump-addr :required
)
(define-micro-component call-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m=a
lam-ir-n 1
lam-ir-p 1
lam-ir-jump-addr :required
)
(define-micro-component call-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-p 1
lam-ir-jump-cond lam-jump-cond-m=a
lam-ir-jump-addr :required
)
(define-micro-component popj-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m=a
lam-ir-r 1
lam-ir-n 1
)
(define-micro-component popj-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-r 1
lam-ir-jump-cond lam-jump-cond-m=a
)
(define-micro-component jump-not-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m-neq-a
lam-ir-n 1
lam-ir-jump-addr :required
)
(define-micro-component jump-not-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m-neq-a
lam-ir-jump-addr :required
)
(define-micro-component call-not-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m-neq-a
lam-ir-n 1
lam-ir-p 1
lam-ir-jump-addr :required
)
(define-micro-component call-not-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-p 1
lam-ir-jump-cond lam-jump-cond-m-neq-a
lam-ir-jump-addr :required
)
(define-micro-component popj-not-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m-neq-a
lam-ir-r 1
lam-ir-n 1
)
(define-micro-component popj-not-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-r 1
lam-ir-jump-cond lam-jump-cond-m-neq-a
)
(define-micro-component jump-less-than-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-ma
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component jump-greater-or-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m>=a
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-less-than-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-ma
lam-ir-p 1
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-greater-or-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m>=a
lam-ir-p 1
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-less-than-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-ma
lam-ir-r 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-greater-or-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m>=a
lam-ir-r 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component jump-less-than ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-ma
lam-ir-n 1
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component jump-greater-or-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m>=a
lam-ir-n 1
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-less-than ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-ma
lam-ir-n 1
lam-ir-p 1
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-greater-or-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m>=a
lam-ir-n 1
lam-ir-p 1
lam-ir-jump-addr :required
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-less-than ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-ma
lam-ir-n 1
lam-ir-r 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-greater-or-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-m>=a
lam-ir-n 1
lam-ir-r 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component jump-if-bit-set ()
lam-ir-op lam-op-jump
;;leave jump-cond 0 to mean "if bit set"
lam-ir-n 1
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component jump-if-bit-set-xct-next ()
lam-ir-op lam-op-jump
;;leave jump-cond 0 to mean "if bit set"
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component jump-if-bit-clear ()
lam-ir-op lam-op-jump
lam-ir-jump-invert-condition 1
lam-ir-n 1
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component jump-if-bit-clear-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-invert-condition 1
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component call-if-bit-set ()
lam-ir-op lam-op-jump
;;leave jump-cond 0 to mean "if bit set"
lam-ir-n 1
lam-ir-p 1
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component call-if-bit-set-xct-next ()
lam-ir-op lam-op-jump
;;leave jump-cond 0 to mean "if bit set"
lam-ir-p 1
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component call-if-bit-clear ()
lam-ir-op lam-op-jump
lam-ir-jump-invert-condition 1
lam-ir-p 1
lam-ir-n 1
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component call-if-bit-clear-xct-next ()
lam-ir-op lam-op-jump
lam-ir-p 1
lam-ir-jump-invert-condition 1
lam-ir-jump-addr :required
lam-ir-m-src :required)
(define-micro-component popj-if-bit-set ()
lam-ir-op lam-op-jump
;;leave jump-cond 0 to mean "if bit set"
lam-ir-n 1
lam-ir-r 1
lam-ir-m-src :required)
(define-micro-component popj-if-bit-set-xct-next ()
lam-ir-op lam-op-jump
;;leave jump-cond 0 to mean "if bit set"
lam-ir-r 1
lam-ir-m-src :required)
(define-micro-component popj-if-bit-clear ()
lam-ir-op lam-op-jump
lam-ir-jump-invert-condition 1
lam-ir-r 1
lam-ir-n 1
lam-ir-m-src :required)
(define-micro-component popj-if-bit-clear-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-invert-condition 1
lam-ir-r 1
lam-ir-m-src :required)
(define-micro-component jump-data-type-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-equal
lam-ir-n 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component jump-data-type-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-equal
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-data-type-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-equal
lam-ir-p 1
lam-ir-n 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-data-type-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-p 1
lam-ir-jump-cond lam-jump-cond-data-type-equal
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-data-type-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-equal
lam-ir-r 1
lam-ir-n 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-data-type-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-r 1
lam-ir-jump-cond lam-jump-cond-data-type-equal
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component jump-data-type-not-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-not-equal
lam-ir-n 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component jump-data-type-not-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-not-equal
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-data-type-not-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-not-equal
lam-ir-p 1
lam-ir-n 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-data-type-not-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-p 1
lam-ir-jump-cond lam-jump-cond-data-type-not-equal
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-data-type-not-equal ()
lam-ir-op lam-op-jump
lam-ir-jump-cond lam-jump-cond-data-type-not-equal
lam-ir-r 1
lam-ir-n 1
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component popj-data-type-not-equal-xct-next ()
lam-ir-op lam-op-jump
lam-ir-r 1
lam-ir-jump-cond lam-jump-cond-data-type-not-equal
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component call-if-page-fault-or-interrupt ()
lam-ir-op lam-op-jump
lam-ir-p 1
lam-ir-n 1
lam-ir-jump-cond lam-jump-cond-page-fault-or-interrupt
lam-ir-jump-addr :required)
(define-micro-component vma ()
lam-ir-m-src lam-m-src-vma
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component vma (destination)
lam-ir-func-dest lam-func-dest-vma
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component vma-start-read (destination)
lam-ir-func-dest lam-func-dest-vma-start-read
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component vma-start-write (destination)
lam-ir-func-dest lam-func-dest-vma-start-write
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component md ()
lam-ir-m-src lam-m-src-md
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component md (destination)
lam-ir-func-dest lam-func-dest-md
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component md-start-read (destination)
lam-ir-func-dest lam-func-dest-md-start-read
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component md-start-write (destination)
lam-ir-func-dest lam-func-dest-md-start-write
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component pdl-pop ()
lam-ir-m-src lam-m-src-c-pdl-buffer-pointer-pop)
(define-micro-component pdl-top ()
lam-ir-m-src lam-m-src-c-pdl-buffer-pointer)
(define-micro-component pdl-top (destination)
lam-ir-func-dest lam-func-dest-c-pdl-buffer-pointer)
(define-micro-component c-pdl-buffer-pointer ()
lam-ir-m-src lam-m-src-c-pdl-buffer-pointer)
(define-micro-component pdl-pointer-indirect ()
lam-ir-m-src lam-m-src-c-pdl-buffer-pointer)
(define-micro-component c-pdl-buffer-pointer (destination)
lam-ir-func-dest lam-func-dest-c-pdl-buffer-pointer)
(define-micro-component pdl-pointer-indirect (destination)
lam-ir-func-dest lam-func-dest-c-pdl-buffer-pointer)
(define-micro-component pdl-push (destination)
lam-ir-func-dest lam-func-dest-c-pdl-buffer-pointer-push)
(define-micro-component c-pdl-buffer-index ()
lam-ir-m-src lam-m-src-c-pdl-buffer-index)
(define-micro-component pdl-index-indirect ()
lam-ir-m-src lam-m-src-c-pdl-buffer-index)
(define-micro-component c-pdl-buffer-index (destination)
lam-ir-func-dest lam-func-dest-c-pdl-buffer-index)
(define-micro-component pdl-index-indirect (destination)
lam-ir-func-dest lam-func-dest-c-pdl-buffer-index)
(define-micro-component pdl-buffer-pointer ()
lam-ir-m-src lam-m-src-pdl-buffer-pointer)
(define-micro-component pdl-buffer-pointer (destination)
lam-ir-func-dest lam-func-dest-pdl-buffer-pointer)
(define-micro-component pdl-buffer-index ()
lam-ir-m-src lam-m-src-pdl-buffer-index)
(define-micro-component pdl-buffer-index (destination)
lam-ir-func-dest lam-func-dest-pdl-buffer-index)
(define-micro-component pdl-pointer ()
lam-ir-m-src lam-m-src-pdl-buffer-pointer)
(define-micro-component pdl-pointer (destination)
lam-ir-func-dest lam-func-dest-pdl-buffer-pointer)
(define-micro-component pdl-index ()
lam-ir-m-src lam-m-src-pdl-buffer-index)
(define-micro-component pdl-index (destination)
lam-ir-func-dest lam-func-dest-pdl-buffer-index)
(define-micro-component setz ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-setz)
(define-micro-component and ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-and
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component andca ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-andca
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component setm ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-setm
lam-ir-m-src :required)
(define-micro-component andcm ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf 4
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component seta ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-seta
lam-ir-a-src :required)
(define-micro-component xor ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-xor
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component ior ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-ior
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component andcb ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf #o10
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component eqv ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf #o11
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component setca ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf #o12
lam-ir-a-src :required)
(define-micro-component orca ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf #o13
lam-ir-a-src :required)
(define-micro-component setcm ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf #o14
lam-ir-m-src :required)
(define-micro-component orcm ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf #o15
lam-ir-m-src :required)
(define-micro-component orcb ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf #o16
lam-ir-a-src :required
lam-ir-m-src :required)
(define-micro-component seto ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-seto)
(define-micro-component add ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-add
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component sub ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-sub
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component sub-m+1 ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-m-a-1
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component m+m ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-m+m
lam-ir-m-src :required)
(define-micro-component m+1 ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-m+1
lam-ir-m-src :required)
(define-micro-component m-a-1 ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-m-a-1
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component m+a+1 ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-m+a+1
lam-ir-m-src :required
lam-ir-a-src :required)
(define-micro-component m+m+1 ()
lam-ir-op lam-op-alu
lam-ir-ob lam-ob-alu
lam-ir-aluf lam-alu-m+m+1
lam-ir-m-src :required)
(define-micro-component ldb ()
lam-ir-op lam-op-byte
lam-ir-byte-func lam-byte-func-ldb
lam-ir-m-src :required
lam-byte-spec :required)
(define-micro-component dpb ()
lam-ir-op lam-op-byte
lam-ir-byte-func lam-byte-func-dpb
lam-ir-m-src :required
lam-byte-spec :required)
(define-micro-component selective-deposit ()
lam-ir-op lam-op-byte
lam-ir-byte-func lam-byte-func-selective-deposit
lam-ir-m-src :required
lam-byte-spec :required)
(define-micro-component dispatch ()
lam-ir-op lam-op-dispatch
lam-ir-dispatch-addr :required
lam-byte-spec :required)
(define-micro-component gc-map-test ()
lam-ir-slow-dest 1)
(define-micro-component clobbers-mem-subr ()
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component dispatch-write-vma ()
lam-ir-disp-write-vma 1
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component alu-carry-in-one ()
lam-ir-carry 1)
(define-micro-component output-selector-rightshift-1 ()
lam-ir-ob lam-ob-alu-right-1)
(define-micro-component output-selector-leftshift-1 ()
lam-ir-ob lam-ob-alu-left-1)
(define-micro-component shift-alu-right ()
lam-ir-ob lam-ob-alu-right-1)
(define-micro-component shift-alu-left ()
lam-ir-ob lam-ob-alu-left-1)
(define-micro-component output-selector-extend-25 ()
lam-ir-ob lam-ob-alu-extend-25)
(define-micro-component output-selector-bit-mirror ()
lam-ir-ob lam-ob-alu-mirror)
(define-micro-component output-selector-mask-25 ()
lam-ir-ob lam-ob-alu
lam-ir-alu-control-5 1)
(define-micro-component output-selector-mask-11 ()
lam-ir-ob 5
lam-ir-alu-control-5 1)
(define-micro-component shift-q-left ()
lam-ir-q lam-q-left)
(define-micro-component shift-q-right ()
lam-ir-q lam-q-right)
(define-micro-component halt-bit ()
lam-ir-halt 1)
(define-micro-component i-long ()
lam-ir-ilong 1)
(define-micro-component i-arg ()
lam-ir-m-src lam-m-src-disp-const)
(define-micro-component micro-stack-pntr-and-data ()
lam-ir-m-src lam-m-src-micro-stack)
(define-micro-component q-r ()
lam-ir-m-src lam-m-src-q)
(define-micro-component q-r (destination)
lam-ir-q lam-q-load)
(define-micro-component location-counter ()
lam-ir-m-src lam-m-src-lc)
(define-micro-component location-counter (destination)
lam-ir-func-dest lam-func-dest-lc)
(define-micro-component micro-stack-pntr-and-data-pop ()
lam-ir-m-src lam-m-src-micro-stack-pop)
(defun (:property micro-stack-pointer micro-expand) (ignore)
`(micro-stack-pntr-and-data (byte 8 24.)))
(defun (:property micro-stack-pointer micro-expand) (ignore)
`(micro-stack-pntr-and-data-pop (byte 8 24.)))
(defun (:property micro-stack-data micro-expand) (ignore)
`(micro-stack-pntr-and-data (byte 16. 0)))
(defun (:property micro-stack-data-pop micro-expand) (ignore)
`(micro-stack-pntr-and-data-pop (byte 20. 0)))
(defun (:property micro-stack-pc-data micro-expand) (ignore)
`(micro-stack-pntr-and-data (byte 16. 0)))
(defun (:property micro-stack-pc-data-pop micro-expand) (ignore)
`(micro-stack-pntr-and-data-pop (byte 16. 0)))
(define-micro-component interrupt-pointer ()
lam-ir-m-src lam-m-src-interrupt-pointer)
(define-micro-component macro-ir-displacement ()
lam-ir-m-src lam-m-src-macro.ir.displacement)
(define-micro-component macro-ir ()
lam-ir-m-src lam-m-src-macro.ir)
(define-micro-component stat-counter ()
lam-ir-m-src lam-m-src-stat-counter)
(define-micro-component stat-counter (destination)
lam-ir-func-dest lam-func-dest-stat-counter)
(define-micro-component stat-counter-aux ()
lam-ir-m-src lam-m-src-stat-counter-aux)
(define-micro-component stat-counter-aux (destination)
lam-ir-func-dest lam-func-dest-stat-counter-aux)
(define-micro-component macro-ir-decode ()
lam-ir-m-src lam-m-src-macro.ir.decode.ram
lam-ir-ilong 1)
(define-micro-component macro-ir-decode (destination)
lam-ir-func-dest lam-func-dest-macro.ir.decode.ram
lam-ir-slow-dest 1)
(define-micro-component spy-reg ()
lam-ir-m-src lam-m-src-spy-reg)
(define-micro-component l1-map ()
lam-ir-m-src lam-m-src-l1-map
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component l1-map (destination)
lam-ir-func-dest lam-func-dest-l1-map
lam-ir-slow-dest 1
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component l2-map-control ()
lam-ir-m-src lam-m-src-l2-map-control
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component l2-map-control (destination)
lam-ir-func-dest lam-func-dest-l2-map-control
lam-ir-clobbers-mem-subr-bit 1
lam-ir-slow-dest 1)
(define-micro-component l2-map-physical-page ()
lam-ir-m-src lam-m-src-l2-map-physical-page
lam-ir-clobbers-mem-subr-bit 1)
(define-micro-component l2-map-physical-page (destination)
lam-ir-func-dest lam-func-dest-l2-map-physical-page
lam-ir-clobbers-mem-subr-bit 1
lam-ir-slow-dest 1)
(define-micro-component interrupt-clear (destination)
lam-ir-func-dest lam-func-dest-interrupt-clear)
(define-micro-component rg-mode ()
lam-ir-m-src lam-m-src-rg-mode)
(define-micro-component rg-mode (destination)
lam-ir-func-dest lam-func-dest-rg-mode)
(define-micro-component dp-mode ()
lam-ir-m-src lam-m-src-dp-mode)
(define-micro-component dp-mode (destination)
lam-ir-func-dest lam-func-dest-dp-mode)
(define-micro-component micro-stack-data-push (destination)
lam-ir-func-dest lam-func-dest-micro-stack-push)
(define-micro-component oa-reg-low (destination)
lam-ir-func-dest lam-func-dest-imod-low)
(define-micro-component oa-reg-high (destination)
lam-ir-func-dest lam-func-dest-imod-high)
(define-micro-component oa-reg-hi (destination)
lam-ir-func-dest lam-func-dest-imod-high)
(defun (:property q-data-type micro-expand) (ignore)
`((byte 5 25.)))
(defun (:property q-data-type-plus-one-bit micro-expand) (ignore)
`((byte 6 24.)))
(defun (:property transport micro-expand) (ignore)
`(d-transport i-not-linked oldspace-meta push-own-address (i-arg 1) q-data-type-plus-one-bit))
(define-micro-component i-not-linked ()
lam-ir-this-instruction-not-linked-to-next 1)
(define-micro-component oldspace-meta ()
lam-ir-disp-enable-oldspace-meta 1)
(define-micro-component push-own-address ()
lam-ir-push-own-address 1)
(defun (:property check-page-read micro-macro) (form)
form
`((call-if-page-fault-or-interrupt pgf-r-i)))