(loader '((title |lapibmrt.lo|))) (if (not (>= (version) 15.2)) (progn (error 'load 'erricf 'lapibmrt))) (defvar #:sys-package:colon 'ldibmrt) (add-feature 'loader) (defvar #:ldibmrt:31bitfloats (eq 0. 0.)) (defvar #:ld:special-case-loader ()) (defvar #:ld:shared-strings ()) (defvar #:ldibmrt:making-fasl? nil) (defvar #:ldibmrt:ecode (subadr (#:system:ecode) 64)) (defvar #:ldibmrt:mem-access '(val car cdr cval pname plist fval alink pkgc oval typ)) (defvar #:ldibmrt:locnil (loc ())) (defvar #:ldibmrt:adrbvar (list 'adr (loc 'sys-package))) (defvar #:ldibmrt:entry-list ()) (defvar #:ldibmrt:entries-not-resolved ()) (if (not (boundp '#:ldibmrt:module)) (progn (defvar #:ldibmrt:module ()))) (if (not (boundp '#:ldibmrt:saved-by-loader)) (progn (defvar #:ldibmrt:saved-by-loader ()))) (if (not (boundp '#:ldibmrt:global-saved-by-loader)) (progn (defvar #:ldibmrt:global-saved-by-loader '(#[#:ldibmrt:lobj #:ldibmrt:talkp #:ldibmrt:pccurrent #:ldibmrt:llabels #:ldibmrt:llabels-not-resolved #:ldibmrt:fntname #:ldibmrt:codop #:ldibmrt:arg1 #:ldibmrt:arg2 #:ldibmrt:arg3 #:ldibmrt:localstack #:ldibmrt:valaux #:ldibmrt:f #:ldibmrt:nwl obj obj1 obj2 obj3])))) (loader'((entry #:ldibmrt:getvalue subr1) (push a1) (bfnil a1 101) (mov a1 a2) (mov '#:ldibmrt:getvalue a1) (adjstk '1) (bra #:ldibmrt:error) 101 (bffix a1 103) (adjstk '1) (return) 103 (bfsymb a1 105) (mov '#:ldibmrt:value a2) (jcall getprop) (btnil a1 107) (adjstk '1) (bra #:ldibmrt:getvalue) 107 (mov (& 0) a2) (mov '#:ldibmrt:getvalue a1) (adjstk '1) (bra #:ldibmrt:error) 105 (mov a1 a2) (mov '#:ldibmrt:getvalue a1) (adjstk '1) (bra #:ldibmrt:error) )) (loader'((entry #:ldibmrt:register? subr1) (mov (cvalq #:ldibmrt:registers) a2) (jmp memq) )) (defvar #:ldibmrt:registers nil) (setq #:ldibmrt:registers (cons 'ccp #:ldibmrt:registers)) (putprop 'ccp 0 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'r0 #:ldibmrt:registers)) (putprop 'r0 0 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'csp #:ldibmrt:registers)) (putprop 'csp 1 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'sp #:ldibmrt:registers)) (putprop 'sp 1 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'x1 #:ldibmrt:registers)) (putprop 'x1 2 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'cres #:ldibmrt:registers)) (putprop 'cres 2 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'x2 #:ldibmrt:registers)) (putprop 'x2 3 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'x3 #:ldibmrt:registers)) (putprop 'x3 4 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'x4 #:ldibmrt:registers)) (putprop 'x4 5 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'a1 #:ldibmrt:registers)) (putprop 'a1 6 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'a2 #:ldibmrt:registers)) (putprop 'a2 7 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'a3 #:ldibmrt:registers)) (putprop 'a3 8 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'a4 #:ldibmrt:registers)) (putprop 'a4 9 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'rbfloat #:ldibmrt:registers)) (putprop 'rbfloat 10 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'rbvect #:ldibmrt:registers)) (putprop 'rbvect 10 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'rbstrg #:ldibmrt:registers)) (putprop 'rbstrg 11 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'knil #:ldibmrt:registers)) (putprop 'knil 12 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'rbsymb #:ldibmrt:registers)) (putprop 'rbsymb 12 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'nil #:ldibmrt:registers)) (putprop 'nil 12 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'rbcons #:ldibmrt:registers)) (putprop 'rbcons 13 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'cp #:ldibmrt:registers)) (putprop 'cp 14 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'linkr #:ldibmrt:registers)) (putprop 'linkr 15 '#:ldibmrt:value) (setq #:ldibmrt:registers (cons 'mq #:ldibmrt:registers)) (putprop 'mq 10 '#:ldibmrt:value) (putprop 'car 0 '#:ldibmrt:value) (putprop 'cdr 4 '#:ldibmrt:value) (putprop 'cval 0 '#:ldibmrt:value) (putprop 'plist 4 '#:ldibmrt:value) (putprop 'fval 8 '#:ldibmrt:value) (putprop 'pkgc 12 '#:ldibmrt:value) (putprop 'oval 16 '#:ldibmrt:value) (putprop 'alink 20 '#:ldibmrt:value) (putprop 'pname 28 '#:ldibmrt:value) (putprop 'val 0 '#:ldibmrt:value) (putprop 'typ 4 '#:ldibmrt:value) (defvar #:ldibmrt:test1 '((mov a1 a4))) (defvar #:ldibmrt:test2 '((mov '1 a1))) (defvar #:ldibmrt:fiblap '((fentry fiblap subr1) (cnbgt a1 '2 100) (mov '1 a1) (return) 100 (diff '1 a1) (push a1) (call fiblap) (mov a1 a2) (pop a1) (push a2) (diff '1 a1) (call fiblap) (pop a2) (plus a2 a1) (return))) (loader'((entry #:ldibmrt:format subr1) (mov '#:ldibmrt:format a2) (jmp getprop) )) (putprop '#:ldibmrt:stc 'd2 '#:ldibmrt:format) (putprop '#:ldibmrt:stc 1 '#:ldibmrt:value) (putprop '#:ldibmrt:sth 'd2 '#:ldibmrt:format) (putprop '#:ldibmrt:sth 2 '#:ldibmrt:value) (putprop '#:ldibmrt:st 'd2 '#:ldibmrt:format) (putprop '#:ldibmrt:st 3 '#:ldibmrt:value) (putprop '#:ldibmrt:lc 'd2 '#:ldibmrt:format) (putprop '#:ldibmrt:lc 4 '#:ldibmrt:value) (putprop '#:ldibmrt:lha 'd2 '#:ldibmrt:format) (putprop '#:ldibmrt:lha 5 '#:ldibmrt:value) (putprop '#:ldibmrt:cas 'x '#:ldibmrt:format) (putprop '#:ldibmrt:cas 6 '#:ldibmrt:value) (putprop '#:ldibmrt:lr 'x '#:ldibmrt:format) (putprop '#:ldibmrt:lr 6 '#:ldibmrt:value) (putprop '#:ldibmrt:nop 'ux '#:ldibmrt:format) (putprop '#:ldibmrt:nop 6 '#:ldibmrt:value) (putprop '#:ldibmrt:l 'd2 '#:ldibmrt:format) (putprop '#:ldibmrt:l 7 '#:ldibmrt:value) (putprop '#:ldibmrt:b 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:b 2184 '#:ldibmrt:value) (putprop '#:ldibmrt:bge 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bge 2185 '#:ldibmrt:value) (putprop '#:ldibmrt:bne 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bne 2186 '#:ldibmrt:value) (putprop '#:ldibmrt:ble 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:ble 2187 '#:ldibmrt:value) (putprop '#:ldibmrt:bcc 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bcc 2188 '#:ldibmrt:value) (putprop '#:ldibmrt:bvc 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bvc 2190 '#:ldibmrt:value) (putprop '#:ldibmrt:btc 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:btc 2191 '#:ldibmrt:value) (putprop '#:ldibmrt:b-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:b-s 0 '#:ldibmrt:value) (putprop '#:ldibmrt:bge-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bge-s 1 '#:ldibmrt:value) (putprop '#:ldibmrt:bne-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bne-s 2 '#:ldibmrt:value) (putprop '#:ldibmrt:ble-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:ble-s 3 '#:ldibmrt:value) (putprop '#:ldibmrt:bcc-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bcc-s 4 '#:ldibmrt:value) (putprop '#:ldibmrt:bvc-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bvc-s 6 '#:ldibmrt:value) (putprop '#:ldibmrt:btc-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:btc-s 7 '#:ldibmrt:value) (putprop '#:ldibmrt:blt 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:blt 2281 '#:ldibmrt:value) (putprop '#:ldibmrt:beq 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:beq 2282 '#:ldibmrt:value) (putprop '#:ldibmrt:bgt 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bgt 2283 '#:ldibmrt:value) (putprop '#:ldibmrt:bcs 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bcs 2284 '#:ldibmrt:value) (putprop '#:ldibmrt:bvs 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bvs 2286 '#:ldibmrt:value) (putprop '#:ldibmrt:bts 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bts 2287 '#:ldibmrt:value) (putprop '#:ldibmrt:blt-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:blt-s 9 '#:ldibmrt:value) (putprop '#:ldibmrt:beq-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:beq-s 10 '#:ldibmrt:value) (putprop '#:ldibmrt:bgt-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bgt-s 11 '#:ldibmrt:value) (putprop '#:ldibmrt:bcs-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bcs-s 12 '#:ldibmrt:value) (putprop '#:ldibmrt:bvs-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bvs-s 14 '#:ldibmrt:value) (putprop '#:ldibmrt:bts-s 'ji '#:ldibmrt:format) (putprop '#:ldibmrt:bts-s 15 '#:ldibmrt:value) (putprop '#:ldibmrt:bx 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bx 137 '#:ldibmrt:value) (putprop '#:ldibmrt:bala 'ba '#:ldibmrt:format) (putprop '#:ldibmrt:bala 138 '#:ldibmrt:value) (putprop '#:ldibmrt:balax 'ba '#:ldibmrt:format) (putprop '#:ldibmrt:balax 139 '#:ldibmrt:value) (putprop '#:ldibmrt:bali 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:bali 140 '#:ldibmrt:value) (putprop '#:ldibmrt:balix-lr 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:balix-lr 2271 '#:ldibmrt:value) (putprop '#:ldibmrt:b-bit-set 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:b-bit-set 142 '#:ldibmrt:value) (putprop '#:ldibmrt:b-bit-set-x 'bi '#:ldibmrt:format) (putprop '#:ldibmrt:b-bit-set-x 143 '#:ldibmrt:value) (putprop '#:ldibmrt:ais 'r '#:ldibmrt:format) (putprop '#:ldibmrt:ais 144 '#:ldibmrt:value) (putprop '#:ldibmrt:inc 'r '#:ldibmrt:format) (putprop '#:ldibmrt:inc 145 '#:ldibmrt:value) (putprop '#:ldibmrt:sis 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sis 146 '#:ldibmrt:value) (putprop '#:ldibmrt:dec 'r '#:ldibmrt:format) (putprop '#:ldibmrt:dec 147 '#:ldibmrt:value) (putprop '#:ldibmrt:ci-s 'r '#:ldibmrt:format) (putprop '#:ldibmrt:ci-s 148 '#:ldibmrt:value) (putprop '#:ldibmrt:clrcb 'r '#:ldibmrt:format) (putprop '#:ldibmrt:clrcb 149 '#:ldibmrt:value) (putprop '#:ldibmrt:mfs 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mfs 150 '#:ldibmrt:value) (putprop '#:ldibmrt:setcb 'r '#:ldibmrt:format) (putprop '#:ldibmrt:setcb 151 '#:ldibmrt:value) (putprop '#:ldibmrt:clrb-u 'r '#:ldibmrt:format) (putprop '#:ldibmrt:clrb-u 152 '#:ldibmrt:value) (putprop '#:ldibmrt:clrb-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:clrb-l 153 '#:ldibmrt:value) (putprop '#:ldibmrt:setb-u 'r '#:ldibmrt:format) (putprop '#:ldibmrt:setb-u 154 '#:ldibmrt:value) (putprop '#:ldibmrt:setb-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:setb-l 155 '#:ldibmrt:value) (putprop '#:ldibmrt:mftbi-u 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mftbi-u 156 '#:ldibmrt:value) (putprop '#:ldibmrt:mftbi-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mftbi-l 157 '#:ldibmrt:value) (putprop '#:ldibmrt:mttbi-u 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mttbi-u 158 '#:ldibmrt:value) (putprop '#:ldibmrt:mttbi-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mttbi-l 159 '#:ldibmrt:value) (putprop '#:ldibmrt:sari-s 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sari-s 160 '#:ldibmrt:value) (putprop '#:ldibmrt:sari-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sari-l 161 '#:ldibmrt:value) (putprop '#:ldibmrt:lis 'r '#:ldibmrt:format) (putprop '#:ldibmrt:lis 164 '#:ldibmrt:value) (putprop '#:ldibmrt:sri-s 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sri-s 168 '#:ldibmrt:value) (putprop '#:ldibmrt:sri-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sri-l 169 '#:ldibmrt:value) (putprop '#:ldibmrt:sli-s 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sli-s 170 '#:ldibmrt:value) (putprop '#:ldibmrt:sli-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sli-l 171 '#:ldibmrt:value) (putprop '#:ldibmrt:srpi-s 'r '#:ldibmrt:format) (putprop '#:ldibmrt:srpi-s 172 '#:ldibmrt:value) (putprop '#:ldibmrt:srpi-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:srpi-l 173 '#:ldibmrt:value) (putprop '#:ldibmrt:slpi-s 'r '#:ldibmrt:format) (putprop '#:ldibmrt:slpi-s 174 '#:ldibmrt:value) (putprop '#:ldibmrt:slpi-l 'r '#:ldibmrt:format) (putprop '#:ldibmrt:slpi-l 175 '#:ldibmrt:value) (putprop '#:ldibmrt:sar 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sar 176 '#:ldibmrt:value) (putprop '#:ldibmrt:exts 'r '#:ldibmrt:format) (putprop '#:ldibmrt:exts 177 '#:ldibmrt:value) (putprop '#:ldibmrt:sf 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sf 178 '#:ldibmrt:value) (putprop '#:ldibmrt:cl 'r '#:ldibmrt:format) (putprop '#:ldibmrt:cl 179 '#:ldibmrt:value) (putprop '#:ldibmrt:c 'r '#:ldibmrt:format) (putprop '#:ldibmrt:c 180 '#:ldibmrt:value) (putprop '#:ldibmrt:mts 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mts 181 '#:ldibmrt:value) (putprop '#:ldibmrt:d 'r '#:ldibmrt:format) (putprop '#:ldibmrt:d 182 '#:ldibmrt:value) (putprop '#:ldibmrt:sr 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sr 184 '#:ldibmrt:value) (putprop '#:ldibmrt:srp 'r '#:ldibmrt:format) (putprop '#:ldibmrt:srp 185 '#:ldibmrt:value) (putprop '#:ldibmrt:sl 'r '#:ldibmrt:format) (putprop '#:ldibmrt:sl 186 '#:ldibmrt:value) (putprop '#:ldibmrt:slp 'r '#:ldibmrt:format) (putprop '#:ldibmrt:slp 187 '#:ldibmrt:value) (putprop '#:ldibmrt:mftb 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mftb 188 '#:ldibmrt:value) (putprop '#:ldibmrt:tgte 'r '#:ldibmrt:format) (putprop '#:ldibmrt:tgte 189 '#:ldibmrt:value) (putprop '#:ldibmrt:tlt 'r '#:ldibmrt:format) (putprop '#:ldibmrt:tlt 190 '#:ldibmrt:value) (putprop '#:ldibmrt:mttb 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mttb 191 '#:ldibmrt:value) (putprop '#:ldibmrt:svc 'd '#:ldibmrt:format) (putprop '#:ldibmrt:svc 192 '#:ldibmrt:value) (putprop '#:ldibmrt:ai 'd '#:ldibmrt:format) (putprop '#:ldibmrt:ai 193 '#:ldibmrt:value) (putprop '#:ldibmrt:cal16 'd '#:ldibmrt:format) (putprop '#:ldibmrt:cal16 194 '#:ldibmrt:value) (putprop '#:ldibmrt:oiu 'd '#:ldibmrt:format) (putprop '#:ldibmrt:oiu 195 '#:ldibmrt:value) (putprop '#:ldibmrt:oil 'd '#:ldibmrt:format) (putprop '#:ldibmrt:oil 196 '#:ldibmrt:value) (putprop '#:ldibmrt:nilz 'd '#:ldibmrt:format) (putprop '#:ldibmrt:nilz 197 '#:ldibmrt:value) (putprop '#:ldibmrt:nilo 'd '#:ldibmrt:format) (putprop '#:ldibmrt:nilo 198 '#:ldibmrt:value) (putprop '#:ldibmrt:xil 'd '#:ldibmrt:format) (putprop '#:ldibmrt:xil 199 '#:ldibmrt:value) (putprop '#:ldibmrt:cal 'd '#:ldibmrt:format) (putprop '#:ldibmrt:cal 200 '#:ldibmrt:value) (putprop '#:ldibmrt:lm 'd '#:ldibmrt:format) (putprop '#:ldibmrt:lm 201 '#:ldibmrt:value) (putprop '#:ldibmrt:lha 'd '#:ldibmrt:format) (putprop '#:ldibmrt:lha 202 '#:ldibmrt:value) (putprop '#:ldibmrt:ior 'd '#:ldibmrt:format) (putprop '#:ldibmrt:ior 203 '#:ldibmrt:value) (putprop '#:ldibmrt:ti 'd '#:ldibmrt:format) (putprop '#:ldibmrt:ti 204 '#:ldibmrt:value) (putprop '#:ldibmrt:l 'd '#:ldibmrt:format) (putprop '#:ldibmrt:l 205 '#:ldibmrt:value) (putprop '#:ldibmrt:lc 'd '#:ldibmrt:format) (putprop '#:ldibmrt:lc 206 '#:ldibmrt:value) (putprop '#:ldibmrt:tsh 'd '#:ldibmrt:format) (putprop '#:ldibmrt:tsh 207 '#:ldibmrt:value) (putprop '#:ldibmrt:lps 'd '#:ldibmrt:format) (putprop '#:ldibmrt:lps 208 '#:ldibmrt:value) (putprop '#:ldibmrt:aei 'd '#:ldibmrt:format) (putprop '#:ldibmrt:aei 209 '#:ldibmrt:value) (putprop '#:ldibmrt:sfi 'd '#:ldibmrt:format) (putprop '#:ldibmrt:sfi 210 '#:ldibmrt:value) (putprop '#:ldibmrt:cli 'd '#:ldibmrt:format) (putprop '#:ldibmrt:cli 211 '#:ldibmrt:value) (putprop '#:ldibmrt:ci 'd '#:ldibmrt:format) (putprop '#:ldibmrt:ci 212 '#:ldibmrt:value) (putprop '#:ldibmrt:niuz 'd '#:ldibmrt:format) (putprop '#:ldibmrt:niuz 213 '#:ldibmrt:value) (putprop '#:ldibmrt:niuo 'd '#:ldibmrt:format) (putprop '#:ldibmrt:niuo 214 '#:ldibmrt:value) (putprop '#:ldibmrt:xiu 'd '#:ldibmrt:format) (putprop '#:ldibmrt:xiu 215 '#:ldibmrt:value) (putprop '#:ldibmrt:cau 'd '#:ldibmrt:format) (putprop '#:ldibmrt:cau 216 '#:ldibmrt:value) (putprop '#:ldibmrt:stm 'd '#:ldibmrt:format) (putprop '#:ldibmrt:stm 217 '#:ldibmrt:value) (putprop '#:ldibmrt:lh 'd '#:ldibmrt:format) (putprop '#:ldibmrt:lh 218 '#:ldibmrt:value) (putprop '#:ldibmrt:iow 'd '#:ldibmrt:format) (putprop '#:ldibmrt:iow 219 '#:ldibmrt:value) (putprop '#:ldibmrt:sth 'd '#:ldibmrt:format) (putprop '#:ldibmrt:sth 220 '#:ldibmrt:value) (putprop '#:ldibmrt:st 'd '#:ldibmrt:format) (putprop '#:ldibmrt:st 221 '#:ldibmrt:value) (putprop '#:ldibmrt:stc 'd '#:ldibmrt:format) (putprop '#:ldibmrt:stc 222 '#:ldibmrt:value) (putprop '#:ldibmrt:abs 'r '#:ldibmrt:format) (putprop '#:ldibmrt:abs 224 '#:ldibmrt:value) (putprop '#:ldibmrt:a 'r '#:ldibmrt:format) (putprop '#:ldibmrt:a 225 '#:ldibmrt:value) (putprop '#:ldibmrt:s 'r '#:ldibmrt:format) (putprop '#:ldibmrt:s 226 '#:ldibmrt:value) (putprop '#:ldibmrt:o 'r '#:ldibmrt:format) (putprop '#:ldibmrt:o 227 '#:ldibmrt:value) (putprop '#:ldibmrt:twoc 'r '#:ldibmrt:format) (putprop '#:ldibmrt:twoc 228 '#:ldibmrt:value) (putprop '#:ldibmrt:n 'r '#:ldibmrt:format) (putprop '#:ldibmrt:n 229 '#:ldibmrt:value) (putprop '#:ldibmrt:m 'r '#:ldibmrt:format) (putprop '#:ldibmrt:m 230 '#:ldibmrt:value) (putprop '#:ldibmrt:x 'r '#:ldibmrt:format) (putprop '#:ldibmrt:x 231 '#:ldibmrt:value) (putprop '#:ldibmrt:b-r 'r '#:ldibmrt:format) (putprop '#:ldibmrt:b-r 232 '#:ldibmrt:value) (putprop '#:ldibmrt:b-r-x 'r '#:ldibmrt:format) (putprop '#:ldibmrt:b-r-x 233 '#:ldibmrt:value) (putprop '#:ldibmrt:lh 'r '#:ldibmrt:format) (putprop '#:ldibmrt:lh 235 '#:ldibmrt:value) (putprop '#:ldibmrt:balr 'r '#:ldibmrt:format) (putprop '#:ldibmrt:balr 236 '#:ldibmrt:value) (putprop '#:ldibmrt:balrx 'r '#:ldibmrt:format) (putprop '#:ldibmrt:balrx 237 '#:ldibmrt:value) (putprop '#:ldibmrt:b-r 'r '#:ldibmrt:format) (putprop '#:ldibmrt:b-r 238 '#:ldibmrt:value) (putprop '#:ldibmrt:b-asd 'r '#:ldibmrt:format) (putprop '#:ldibmrt:b-asd 239 '#:ldibmrt:value) (putprop '#:ldibmrt:wait 'r '#:ldibmrt:format) (putprop '#:ldibmrt:wait 240 '#:ldibmrt:value) (putprop '#:ldibmrt:ae 'r '#:ldibmrt:format) (putprop '#:ldibmrt:ae 241 '#:ldibmrt:value) (putprop '#:ldibmrt:se 'r '#:ldibmrt:format) (putprop '#:ldibmrt:se 242 '#:ldibmrt:value) (putprop '#:ldibmrt:ca16 'r '#:ldibmrt:format) (putprop '#:ldibmrt:ca16 243 '#:ldibmrt:value) (putprop '#:ldibmrt:onec 'r '#:ldibmrt:format) (putprop '#:ldibmrt:onec 244 '#:ldibmrt:value) (putprop '#:ldibmrt:clz 'r '#:ldibmrt:format) (putprop '#:ldibmrt:clz 245 '#:ldibmrt:value) (putprop '#:ldibmrt:mc03 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mc03 249 '#:ldibmrt:value) (putprop '#:ldibmrt:mc13 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mc13 250 '#:ldibmrt:value) (putprop '#:ldibmrt:mc23 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mc23 251 '#:ldibmrt:value) (putprop '#:ldibmrt:mc33 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mc33 252 '#:ldibmrt:value) (putprop '#:ldibmrt:mc30 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mc30 253 '#:ldibmrt:value) (putprop '#:ldibmrt:mc31 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mc31 254 '#:ldibmrt:value) (putprop '#:ldibmrt:mc32 'r '#:ldibmrt:format) (putprop '#:ldibmrt:mc32 255 '#:ldibmrt:value) ((lambda (#:system:map:arg0) (while (and (consp #:system:map:arg0)) ((lambda (symbol) (set (symbol #:sys-package:colon symbol) (getglobal symbol))) (prog1 (car #:system:map:arg0) (setq #:system:map:arg0 (cdr #:system:map:arg0)))))) '(ll_rem ll_quo ll_times ll_fplus ll_ftimes ll_fdiff ll_fquo ll_cfbeq ll_cfbne ll_cfblt ll_cfble ll_cfbgt ll_cfbge)) (loader'((entry #:ldibmrt:error subr2) (push a2) (push a1) (push (@ 101)) (mov '0 a4) (jmp outchan) 101 (eval ()) (push a1) (push (@ 102)) (push dlink) (push prot) (stack dlink) (push (@ 104)) (push nil) (mov '1 a4) (jmp outchan) 104 (eval ()) (push (@ 105)) (push '"** loader : ") (push (& 6)) (push '" : ") (push (& 9)) (mov '4 a4) (jmp print) 105 (eval ()) (mov (& 1) dlink) (adjstk '3) (push a1) (mov (@ 103) a3) 102 (push a3) (push a2) (push (@ 106)) (push (& 4)) (mov '1 a4) (jmp outchan) 106 (eval ()) (pop a2) (pop a3) (pop a1) (bri a3) 103 (eval ()) (adjstk '1) (mov (& 1) a3) (mov (& 0) a2) (mov 'loader a1) (adjstk '2) (jmp error) )) (loader'((entry #:ldibmrt:ins subr1) (push a1) (btnil (cvalq #:ldibmrt:talkp) 102) (bfcons a1 104) (push (@ 105)) (push '4) (mov '1 a4) (jmp outpos) 105 (eval ()) 104 (push (@ 106)) (push (& 1)) (mov '1 a4) (jmp prin) 106 (eval ()) (push (@ 109)) (push (@ 110)) (mov '0 a4) (jmp outpos) 110 (eval ()) (push a1) (push '30) (mov '2 a4) (jmp >=) 109 (eval ()) (btnil a1 108) (push (@ 111)) (mov '0 a4) (jmp terpri) 111 (eval ()) 108 (push (@ 112)) (push '30) (mov '1 a4) (jmp outpos) 112 (eval ()) (mov (cvalq #:ldibmrt:pccurrent) a1) (call #:ldibmrt:prinhex) (push (@ 113)) (push '" ") (mov '1 a4) (jmp prin) 113 (eval ()) 102 (bfnil (& 0) 114) (mov nil a1) (adjstk '1) (return) 114 (btcons (& 0) 116) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copylist) (mov a1 a2) (mov (& 0) a1) (jcall cons) (mov (cvalq #:ldibmrt:llabels) a2) (jcall cons) (mov a1 (cvalq #:ldibmrt:llabels)) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:solve-label) 116 (mov (& 0) a4) (mov (car a4) (cvalq #:ldibmrt:codop)) (mov (cdr a4) a4) (mov (car a4) (cvalq #:ldibmrt:arg1)) (mov (& 0) a4) (mov (cdr a4) a4) (mov (cdr a4) a4) (mov (car a4) (cvalq #:ldibmrt:arg2)) (mov (& 0) a4) (mov (cdr a4) a4) (mov (cdr a4) a4) (mov (cdr a4) a4) (mov (car a4) (cvalq #:ldibmrt:arg3)) (mov '0 (cvalq #:ldibmrt:localstack)) (mov (cvalq #:ldibmrt:codop) a1) (cabne a1 'abort 119) (mov nil a1) (adjstk '1) (return) 119 (cabne a1 'entry 120) (push (@ 121)) (push (cvalq #:ldibmrt:arg1)) (mov (cvalq #:ldibmrt:arg2) a3) (cabeq a3 'subr0 123) (cabeq a3 'subr1 123) (cabeq a3 'subr2 123) (cabeq a3 'subr3 123) (cabeq a3 'nsubr 123) (cabeq a3 'fsubr 123) (cabeq a3 'msubr 123) (cabne a3 'dmsubr 122) (bra 123) 122 (mov (& 2) a2) (mov '"ENTRY" a1) (call #:ldibmrt:error) (mov a1 a3) 123 (push a3) (push (cvalq #:ldibmrt:arg3)) (mov '3 a4) (jmp list) 121 (eval ()) (mov (cvalq #:ldibmrt:entry-list) a2) (jcall cons) (mov a1 (cvalq #:ldibmrt:entry-list)) (mov (cvalq #:ldibmrt:arg1) a1) (call #:ldibmrt:solventry) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copylist) (mov '#:ldibmrt:fval a3) (mov a1 a2) (mov (cvalq #:ldibmrt:arg1) a1) (jcall putprop) (mov (cvalq #:ldibmrt:arg1) (cvalq #:ldibmrt:fntname)) (mov (cvalq #:ldibmrt:arg1) a1) (adjstk '1) (return) 120 (cabne a1 'endl 125) (btnil (cvalq #:ldibmrt:talkp) 127) (push (@ 128)) (mov '0 a4) (jmp terpri) 128 (eval ()) 127 (btnil (cvalq #:ldibmrt:llabels-not-resolved) 129) (mov (cvalq #:ldibmrt:llabels-not-resolved) a2) (mov '"references locales non resolues" a1) (adjstk '1) (bra #:ldibmrt:error) 129 (mov nil a1) (adjstk '1) (return) 125 (cabne a1 'end 131) (mov '(endl) a1) (call #:ldibmrt:ins) (btnil (cvalq #:ldibmrt:making-fasl?) 133) (push (@ 134)) (push '(#:ldibmrt:fasl-write-block)) (mov '1 a4) (jmp eval) 134 (eval ()) 133 (btnil (cvalq #:ldibmrt:entries-not-resolved) 137) (mov (cvalq #:ldibmrt:entries-not-resolved) a2) (mov '"Il reste des ENTRY non resolus " a1) (call #:ldibmrt:error) 137 (btnil (cvalq #:ldibmrt:entry-list) 138) (mov (cvalq #:ldibmrt:entry-list) a1) (mov (car a1) a1) (mov '#:ldibmrt:fval a2) (mov (car a1) a1) (jcall remprop) (mov (cvalq #:ldibmrt:entry-list) a1) (mov (car a1) a1) (mov '#:llcp:ftype a2) (mov (car a1) a1) (jcall remprop) (mov (cvalq #:ldibmrt:entry-list) a1) (mov (car a1) a1) (mov '#:llcp:fval a2) (mov (car a1) a1) (jcall remprop) (mov (cvalq #:ldibmrt:entry-list) a1) (mov (car a1) a1) (mov '#:system:loaded-from-file a2) (mov (car a1) a1) (jcall remprop) (mov (cvalq #:ldibmrt:entry-list) a4) (mov (cdr a4) (cvalq #:ldibmrt:entry-list)) (bra 137) 138 (btnil (cvalq #:ld:special-case-loader) 140) 141 (bfcons (cvalq #:ld:special-case-loader) 140) (mov (cvalq #:ld:special-case-loader) a4) (bfcons (car a4) 140) (push (@ 143)) (push 'setfn) (mov (cvalq #:ld:special-case-loader) a4) (mov (cdr a4) (cvalq #:ld:special-case-loader)) (push (car a4)) (mov '2 a4) (jmp apply) 143 (eval ()) (bra 141) 140 (adjstk '1) (bra #:ldibmrt:clean-llitt) 131 (cabne a1 'eval 144) (btnil (cvalq #:ldibmrt:making-fasl?) 145) (push (@ 147)) (push '(#:ldibmrt:fasl-emit-eval-block #:ldibmrt:arg1)) (mov '1 a4) (jmp eval) 147 (eval ()) (adjstk '1) (return) 145 (push 't) (push (cvalq #:system:error-flag)) (mov (& 1) (cvalq #:system:error-flag)) (push '1) (push '(#:system:error-flag)) (push 'lambda) (push llink) (push dlink) (push cbindn) (stack dlink) (push (@ 148)) (push '#:system:error-tag) (push dlink) (push tag) (stack dlink) (push (@ 149)) (push (cvalq #:ldibmrt:arg1)) (mov '1 a4) (jmp eval) 149 (eval ()) (jcall ncons) (mov (& 1) dlink) (adjstk '4) 148 (eval ()) (mov (& 1) dlink) (mov (& 6) (cvalq #:system:error-flag)) (adjstk '9) (return) 144 (cabne a1 'fentry 150) (mov '#:system:loaded-from-file a2) (mov (cvalq #:ldibmrt:arg1) a1) (jcall remprop) (mov (cvalq #:ldibmrt:pccurrent) (cvalq #:ldibmrt:valaux)) (btnil (cvalq #:ld:special-case-loader) 151) (push (@ 153)) (push (cvalq #:ldibmrt:arg1)) (push (cvalq #:ldibmrt:arg2)) (mov (cvalq #:ldibmrt:valaux) a1) (jcall copylist) (push a1) (mov '3 a4) (jmp list) 153 (eval ()) (mov (cvalq #:ld:special-case-loader) a2) (jcall cons) (mov a1 (cvalq #:ld:special-case-loader)) (bra 152) 151 (btnil (cvalq #:ldibmrt:making-fasl?) 154) (call #:ldibmrt:alignd) (push (@ 156)) (push '(#:ldibmrt:fasl-record-fentry #:ldibmrt:arg1 #:ldibmrt:arg2)) (mov '1 a4) (jmp eval) 156 (eval ()) (bra 152) 154 (mov '#:llcp:ftype a2) (mov (cvalq #:ldibmrt:arg1) a1) (jcall remprop) (mov '#:llcp:fval a2) (mov (cvalq #:ldibmrt:arg1) a1) (jcall remprop) (mov (cvalq #:ldibmrt:valaux) a3) (mov (cvalq #:ldibmrt:arg2) a2) (mov (cvalq #:ldibmrt:arg1) a1) (jcall setfn) 152 (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copylist) (mov a1 a2) (mov (cvalq #:ldibmrt:arg1) a1) (jcall cons) (mov (cvalq #:ldibmrt:llabels) a2) (jcall cons) (mov a1 (cvalq #:ldibmrt:llabels)) (mov (cvalq #:ldibmrt:arg1) (cvalq #:ldibmrt:fntname)) (mov (cvalq #:ldibmrt:arg1) a1) (adjstk '1) (return) 150 (cabne a1 'local 157) (mov (cvalq #:ldibmrt:arg1) a1) (jcall ncons) (mov (cvalq #:ldibmrt:llabels) a2) (jcall cons) (mov a1 (cvalq #:ldibmrt:llabels)) (adjstk '1) (return) 157 (cabne a1 'title 158) (mov (cvalq #:ldibmrt:arg1) (cvalq #:ldibmrt:module)) (mov (cvalq #:ldibmrt:arg1) a1) (adjstk '1) (return) 158 (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:machins) )) (loader'((entry #:ldibmrt:machins subr1) (mov (cdr a1) a4) (mov (cdr a1) a3) (mov (cdr a3) a3) (mov (cdr a1) a2) (mov (cdr a2) a2) (mov (cdr a2) a2) (push (car a4)) (push (car a3)) (push (car a2)) (push (cvalq obj3)) (mov (& 1) (cvalq obj3)) (push (cvalq obj2)) (mov (& 3) (cvalq obj2)) (push (cvalq obj1)) (mov (& 5) (cvalq obj1)) (push '3) (push '(obj3 obj2 obj1)) (push 'lambda) (push llink) (push dlink) (push cbindn) (stack dlink) (mov (car a1) a1) (cabne a1 'mov 102) (mov (cvalq obj2) a1) (call #:ldibmrt:register?) (btnil a1 103) (mov (cvalq obj2) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movsrc) (bra 101) 103 (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (mov (cvalq obj2) a2) (call #:ldibmrt:movdest) (bra 101) 102 (cabne a1 'push 105) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (mov a1 (cvalq obj1)) (push (@ 106)) (push '#:ldibmrt:sis) (push 'sp) (push '4) (mov '3 a4) (bra #:ldibmrt:inst) 106 (eval ()) (mov '0 a3) (mov 'sp a2) (mov (cvalq obj1) a1) (call #:ldibmrt:store32disp) (bra 101) 105 (cabne a1 'jcall 107) (push (@ 108)) (push '#:ldibmrt:sis) (push 'sp) (push '4) (mov '3 a4) (bra #:ldibmrt:inst) 108 (eval ()) (push (@ 109)) (push '#:ldibmrt:balrx) (push 'linkr) (push (@ 110)) (push 'fvalq) (push (cvalq obj1)) (mov '2 a4) (jmp list) 110 (eval ()) (mov 'linkr a2) (call #:ldibmrt:movsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 109 (eval ()) (push (@ 111)) (push '#:ldibmrt:st) (push 'linkr) (push 'sp) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 111 (eval ()) (bra 101) 107 (cabne a1 'jmp 112) (push (@ 113)) (push 'fvalq) (push (cvalq obj1)) (mov '2 a4) (jmp list) 113 (eval ()) (mov 'x1 a2) (call #:ldibmrt:movsrc) (push (@ 114)) (push '#:ldibmrt:balr) (push 'x1) (push 'x1) (mov '3 a4) (bra #:ldibmrt:inst) 114 (eval ()) (bra 101) 112 (cabne a1 'car 115) (mov 'car a1) (call #:ldibmrt:getvalue) (mov a1 a3) (mov (cvalq obj1) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:load32disp) (bra 101) 115 (cabne a1 'cdr 116) (mov 'cdr a1) (call #:ldibmrt:getvalue) (mov a1 a3) (mov (cvalq obj1) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:load32disp) (bra 101) 116 (cabne a1 'cabne 117) (push (@ 118)) (push '#:ldibmrt:bne) (push (cvalq obj1)) (push (cvalq obj2)) (push (cvalq obj3)) (mov '4 a4) (bra #:ldibmrt:cinstbr) 118 (eval ()) (bra 101) 117 (cabne a1 'return 119) (mov '0 a3) (mov 'sp a2) (mov 'x4 a1) (call #:ldibmrt:load32disp) (push (@ 120)) (push '#:ldibmrt:balrx) (push 'linkr) (push 'x4) (mov '3 a4) (bra #:ldibmrt:inst) 120 (eval ()) (push (@ 121)) (push '#:ldibmrt:ais) (push 'sp) (push '4) (mov '3 a4) (bra #:ldibmrt:inst) 121 (eval ()) (call #:ldibmrt:nop) (bra 101) 119 (cabne a1 'bra 122) (mov (cvalq obj1) a2) (mov '#:ldibmrt:b a1) (call #:ldibmrt:instbr) (bra 101) 122 (cabne a1 'btnil 123) (mov '#:ldibmrt:beq a2) (mov 'knil a1) (call #:ldibmrt:btf1xx) (bra 101) 123 (cabne a1 'cabeq 124) (push (@ 125)) (push '#:ldibmrt:beq) (push (cvalq obj1)) (push (cvalq obj2)) (push (cvalq obj3)) (mov '4 a4) (bra #:ldibmrt:cinstbr) 125 (eval ()) (bra 101) 124 (cabne a1 'pop 126) (mov (cvalq obj1) a1) (call #:ldibmrt:register?) (btnil a1 127) (mov '0 a3) (mov 'sp a2) (mov (cvalq obj1) a1) (call #:ldibmrt:load32disp) (push (@ 129)) (push '#:ldibmrt:ais) (push 'sp) (push '4) (mov '3 a4) (bra #:ldibmrt:inst) 129 (eval ()) (bra 101) 127 (mov '0 a3) (mov 'sp a2) (mov 'x1 a1) (call #:ldibmrt:load32disp) (push (@ 130)) (push '#:ldibmrt:ais) (push 'sp) (push '4) (mov '3 a4) (bra #:ldibmrt:inst) 130 (eval ()) (mov (cvalq obj1) a2) (mov 'x1 a1) (call #:ldibmrt:movdest) (bra 101) 126 (cabne a1 'bfnil 131) (mov '#:ldibmrt:bne a2) (mov 'knil a1) (call #:ldibmrt:btf1xx) (bra 101) 131 (cabne a1 'btcons 132) (mov '#:ldibmrt:bge a2) (mov 'rbcons a1) (call #:ldibmrt:btf1xx) (bra 101) 132 (cabne a1 'bfcons 133) (mov '#:ldibmrt:blt a2) (mov 'rbcons a1) (call #:ldibmrt:btf1xx) (bra 101) 133 (cabne a1 'btfix 134) (mov 'rbfloat a2) (mov ''0 a1) (call #:ldibmrt:bt2xx) (bra 101) 134 (cabne a1 'bffix 135) (mov 'rbfloat a2) (mov ''0 a1) (call #:ldibmrt:bf2xx) (bra 101) 135 (cabne a1 'btfloat 136) (mov '#:ldibmrt:blt a2) (mov ''0 a1) (call #:ldibmrt:btf1xx) (bra 101) 136 (cabne a1 'bffloat 137) (mov '#:ldibmrt:bge a2) (mov ''0 a1) (call #:ldibmrt:btf1xx) (bra 101) 137 (cabne a1 'btstrg 138) (mov 'rbsymb a2) (mov 'rbstrg a1) (call #:ldibmrt:bt2xx) (bra 101) 138 (cabne a1 'bfstrg 139) (mov 'rbsymb a2) (mov 'rbstrg a1) (call #:ldibmrt:bf2xx) (bra 101) 139 (cabne a1 'btvect 140) (mov 'rbstrg a2) (mov 'rbvect a1) (call #:ldibmrt:bt2xx) (bra 101) 140 (cabne a1 'bfvect 141) (mov 'rbstrg a2) (mov 'rbvect a1) (call #:ldibmrt:bf2xx) (bra 101) 141 (cabne a1 'btsymb 142) (mov 'rbcons a2) (mov 'rbsymb a1) (call #:ldibmrt:bt2xx) (bra 101) 142 (cabne a1 'bfsymb 143) (mov 'rbcons a2) (mov 'rbsymb a1) (call #:ldibmrt:bf2xx) (bra 101) 143 (cabne a1 'btvar 144) (mov 'rbcons a2) (mov (cvalq #:ldibmrt:adrbvar) a1) (call #:ldibmrt:bt2xx) (bra 101) 144 (cabne a1 'bfvar 145) (mov 'rbcons a2) (mov (cvalq #:ldibmrt:adrbvar) a1) (call #:ldibmrt:bf2xx) (bra 101) 145 (cabne a1 'cnbeq 146) (mov '#:ldibmrt:beq a1) (call #:ldibmrt:cnbxxieqn) (bra 101) 146 (cabne a1 'cnbne 147) (mov '#:ldibmrt:bne a1) (call #:ldibmrt:cnbxxieqn) (bra 101) 147 (cabne a1 'cnblt 148) (mov '#:ldibmrt:blt a1) (call #:ldibmrt:cnbxx) (bra 101) 148 (cabne a1 'cnble 149) (mov '#:ldibmrt:ble a1) (call #:ldibmrt:cnbxx) (bra 101) 149 (cabne a1 'cnbgt 150) (mov '#:ldibmrt:bgt a1) (call #:ldibmrt:cnbxx) (bra 101) 150 (cabne a1 'cnbge 151) (mov '#:ldibmrt:bge a1) (call #:ldibmrt:cnbxx) (bra 101) 151 (cabne a1 'cfbeq 152) (mov '#:ldibmrt:ll_cfbeq a1) (call #:ldibmrt:comp2float) (bra 101) 152 (cabne a1 'cfbne 153) (mov '#:ldibmrt:ll_cfbne a1) (call #:ldibmrt:comp2float) (bra 101) 153 (cabne a1 'cfblt 154) (mov '#:ldibmrt:ll_cfblt a1) (call #:ldibmrt:comp2float) (bra 101) 154 (cabne a1 'cfble 155) (mov '#:ldibmrt:ll_cfble a1) (call #:ldibmrt:comp2float) (bra 101) 155 (cabne a1 'cfbgt 156) (mov '#:ldibmrt:ll_cfbgt a1) (call #:ldibmrt:comp2float) (bra 101) 156 (cabne a1 'cfbge 157) (mov '#:ldibmrt:ll_cfbge a1) (call #:ldibmrt:comp2float) (bra 101) 157 (cabne a1 'decr 158) (mov '1 a2) (mov '#:ldibmrt:sis a1) (call #:ldibmrt:macaro1op) (bra 101) 158 (cabne a1 'diff 159) (mov '#:ldibmrt:s a1) (call #:ldibmrt:macaro2op) (bra 101) 159 (cabne a1 'incr 160) (mov '1 a2) (mov '#:ldibmrt:ais a1) (call #:ldibmrt:macaro1op) (bra 101) 160 (cabne a1 'land 161) (mov '#:ldibmrt:nilz a2) (mov '#:ldibmrt:n a1) (call #:ldibmrt:logop-2op) (bra 101) 161 (cabne a1 'lor 162) (mov '#:ldibmrt:oil a2) (mov '#:ldibmrt:o a1) (call #:ldibmrt:logop-2op) (bra 101) 162 (cabne a1 'lxor 163) (mov '#:ldibmrt:xil a2) (mov '#:ldibmrt:x a1) (call #:ldibmrt:logop-2op) (bra 101) 163 (cabne a1 'lshift 164) (mov (cvalq obj2) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:lshift) (bra 101) 164 (cabne a1 'negate 165) (mov (cvalq obj1) (cvalq obj2)) (mov '#:ldibmrt:twoc a1) (call #:ldibmrt:macaro2op) (bra 101) 165 (cabne a1 'plus 166) (mov '#:ldibmrt:a a1) (call #:ldibmrt:macaro2op) (bra 101) 166 (cabne a1 'rem 167) (mov '#:ldibmrt:ll_rem a1) (call #:ldibmrt:c-arith-2op) (bra 101) 167 (cabne a1 'quo 168) (mov '#:ldibmrt:ll_quo a1) (call #:ldibmrt:c-arith-2op) (bra 101) 168 (cabne a1 'times 169) (mov '#:ldibmrt:ll_times a1) (call #:ldibmrt:c-arith-2op) (bra 101) 169 (cabne a1 'fplus 170) (mov '#:ldibmrt:ll_fplus a1) (call #:ldibmrt:instr2float) (bra 101) 170 (cabne a1 'fdiff 171) (mov '#:ldibmrt:ll_fdiff a1) (call #:ldibmrt:instr2float) (bra 101) 171 (cabne a1 'ftimes 172) (mov '#:ldibmrt:ll_ftimes a1) (call #:ldibmrt:instr2float) (bra 101) 172 (cabne a1 'fquo 173) (mov '#:ldibmrt:ll_fquo a1) (call #:ldibmrt:instr2float) (bra 101) 173 (cabne a1 'adjstk 174) (mov (cvalq obj1) a1) (call #:ldibmrt:immediat?) (btnil a1 175) (mov (cvalq obj1) a4) (mov (cdr a4) a4) (cnblt (car a4) '0 177) (mov (cvalq obj1) a3) (mov (cdr a3) a3) (cnbge (car a3) '4 177) (push (@ 179)) (push '#:ldibmrt:ais) (push 'sp) (mov (cvalq obj1) a4) (mov (cdr a4) a4) (mov '4 a3) (times (car a4) a3) (push a3) (mov '3 a4) (bra #:ldibmrt:inst) 179 (eval ()) (bra 101) 177 (mov (cvalq obj1) a4) (mov (cdr a4) a4) (cnbgt (car a4) '0 180) (mov (cvalq obj1) a3) (mov (cdr a3) a3) (cnble (car a3) '-4 180) (push (@ 182)) (push '#:ldibmrt:sis) (push 'sp) (mov (cvalq obj1) a4) (mov (cdr a4) a4) (mov '0 a3) (diff (car a4) a3) (mov '4 a4) (times a3 a4) (push a4) (mov '3 a4) (bra #:ldibmrt:inst) 182 (eval ()) (bra 101) 180 (mov (cvalq obj1) a4) (mov (cdr a4) a4) (mov '4 a3) (times (car a4) a3) (mov 'sp a2) (mov 'sp a1) (call #:ldibmrt:laddr32disp) (bra 101) 175 (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movsrc) (push (@ 183)) (push '#:ldibmrt:sli-s) (push 'x1) (push '2) (mov '3 a4) (bra #:ldibmrt:inst) 183 (eval ()) (push (@ 184)) (push '#:ldibmrt:exts) (push 'x1) (push 'x1) (mov '3 a4) (bra #:ldibmrt:inst) 184 (eval ()) (push (@ 185)) (push '#:ldibmrt:a) (push 'sp) (push 'x1) (mov '3 a4) (bra #:ldibmrt:inst) 185 (eval ()) (bra 101) 174 (cabne a1 'bri 186) (push (@ 187)) (push '#:ldibmrt:balr) (push 'x1) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 187 (eval ()) (bra 101) 186 (cabne a1 'brx 188) (mov 'x1 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:movsrc) (push (@ 189)) (push '#:ldibmrt:sli-s) (push 'x1) (push '2) (mov '3 a4) (bra #:ldibmrt:inst) 189 (eval ()) (call #:ldibmrt:alignd) (mov '8 a4) (lshift '1 a4) (mov (cvalq #:ldibmrt:pccurrent) a2) (mov a4 a1) (call #:ldibmrt:aa) (mov a1 a2) (mov 'x2 a1) (call #:ldibmrt:laddr32loc) (push (@ 190)) (push '#:ldibmrt:a) (push 'x1) (push 'x2) (mov '3 a4) (bra #:ldibmrt:inst) 190 (eval ()) (push (@ 191)) (push '#:ldibmrt:l) (push 'x1) (push 'x1) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 191 (eval ()) (push (@ 192)) (push '#:ldibmrt:balr) (push 'x1) (push 'x1) (mov '3 a4) (bra #:ldibmrt:inst) 192 (eval ()) 193 (btnil (cvalq obj1) 194) (mov (cvalq obj1) a1) (mov (cdr a1) (cvalq obj1)) (mov (car a1) a1) (mov (cdr a1) a1) (mov (car a1) a1) (call #:ldibmrt:contig-val-reference) (call #:ldibmrt:val32abs) (bra 193) 194 (mov nil a1) (bra 101) 188 (cabne a1 'call 195) (push (@ 196)) (push '#:ldibmrt:sis) (push 'sp) (push '4) (mov '3 a4) (bra #:ldibmrt:inst) 196 (eval ()) (push (@ 197)) (push '#:ldibmrt:balix-lr) (mov (cvalq obj1) a1) (call #:ldibmrt:valrel) (call #:ldibmrt:rshiftadr) (push a1) (mov '2 a4) (bra #:ldibmrt:inst) 197 (eval ()) (push (@ 198)) (push '#:ldibmrt:st) (push 'linkr) (push 'sp) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 198 (eval ()) (bra 101) 195 (cabne a1 'hbmovx 199) (mov (cvalq obj3) a1) (call #:ldibmrt:small-pos?) (btnil a1 200) (mov 'x2 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:prepsrc) (mov '0 a3) (mov a1 a2) (mov 'x2 a1) (call #:ldibmrt:load32disp) (push (@ 202)) (push '#:ldibmrt:stc) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (push 'x2) (mov (cvalq obj3) a4) (mov (cdr a4) a4) (mov '8 a3) (plus (car a4) a3) (push a3) (mov '4 a4) (bra #:ldibmrt:inst) 202 (eval ()) (bra 101) 200 (mov 'x2 a3) (mov (cvalq obj3) a2) (mov (cvalq obj2) a1) (call #:ldibmrt:movaheabix) (push (@ 203)) (push '#:ldibmrt:stc) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (push 'x2) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 203 (eval ()) (bra 101) 199 (cabne a1 'hbxmov 204) (mov 'x2 a3) (mov (cvalq obj2) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movaheabix) (mov (cvalq obj3) a1) (call #:ldibmrt:register?) (btnil a1 205) (push (@ 207)) (push '#:ldibmrt:lc) (push (cvalq obj3)) (push 'x2) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 207 (eval ()) (bra 101) 205 (push (@ 208)) (push '#:ldibmrt:lc) (push 'x1) (push 'x2) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 208 (eval ()) (mov (cvalq obj3) a2) (mov 'x1 a1) (call #:ldibmrt:movdest) (bra 101) 204 (cabne a1 'hgsize 209) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (mov '0 a3) (mov a1 a2) (mov 'x1 a1) (call #:ldibmrt:load32disp) (mov (cvalq obj2) a1) (call #:ldibmrt:register?) (btnil a1 210) (mov '4 a3) (mov 'x1 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:load32disp) (bra 101) 210 (mov '4 a3) (mov 'x1 a2) (mov 'x2 a1) (call #:ldibmrt:load32disp) (mov (cvalq obj2) a2) (mov 'x2 a1) (call #:ldibmrt:movdest) (bra 101) 209 (cabne a1 'hpmovx 212) (mov 'x2 a3) (mov (cvalq obj3) a2) (mov (cvalq obj2) a1) (call #:ldibmrt:movaheap) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (mov '0 a3) (mov 'x2 a2) (call #:ldibmrt:store32disp) (bra 101) 212 (cabne a1 'hpxmov 213) (mov 'x2 a3) (mov (cvalq obj2) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movaheap) (mov (cvalq obj3) a1) (call #:ldibmrt:register?) (btnil a1 214) (mov '0 a3) (mov 'x2 a2) (mov (cvalq obj3) a1) (call #:ldibmrt:load32disp) (bra 101) 214 (mov '0 a3) (mov 'x2 a2) (mov 'x1 a1) (call #:ldibmrt:load32disp) (mov (cvalq obj3) a2) (mov 'x1 a1) (call #:ldibmrt:movdest) (bra 101) 213 (cabne a1 'movxsp 216) (mov 'x2 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:movsrc) (push (@ 217)) (push '#:ldibmrt:sli-s) (push 'x2) (push '2) (mov '3 a4) (bra #:ldibmrt:inst) 217 (eval ()) (push (@ 218)) (push '#:ldibmrt:a) (push 'x2) (push 'sp) (mov '3 a4) (bra #:ldibmrt:inst) 218 (eval ()) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (mov '0 a3) (mov 'x2 a2) (call #:ldibmrt:store32disp) (bra 101) 216 (cabne a1 'nop 219) (call #:ldibmrt:nop) (bra 101) 219 (cabne a1 'sobgez 220) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (push (@ 221)) (push '#:ldibmrt:exts) (push a1) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 221 (eval ()) (push (@ 222)) (push '#:ldibmrt:sis) (push (& 2)) (push '1) (mov '3 a4) (bra #:ldibmrt:inst) 222 (eval ()) (cabeq (& 0) (cvalq obj1) 224) (mov (cvalq obj1) a2) (mov (& 0) a1) (call #:ldibmrt:movdest) 224 (push (@ 225)) (push '#:ldibmrt:ci-s) (push (& 2)) (push '0) (mov '3 a4) (bra #:ldibmrt:inst) 225 (eval ()) (mov (cvalq obj2) a2) (mov '#:ldibmrt:bge a1) (call #:ldibmrt:instbr) (mov (& 0) a1) (call #:ldibmrt:convnb) (cabeq (& 0) (cvalq obj1) 226) (mov (cvalq obj1) a2) (mov (& 0) a1) (call #:ldibmrt:movdest) (bra 227) 226 (mov nil a1) 227 (adjstk '1) (bra 101) 220 (cabne a1 'sstack 228) (mov 'sp a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movsrc) (bra 101) 228 (cabne a1 'stack 229) (mov (cvalq obj1) a2) (mov 'sp a1) (call #:ldibmrt:movdest) (bra 101) 229 (cabne a1 'xspmov 230) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movsrc) (push (@ 231)) (push '#:ldibmrt:sli-s) (push 'x1) (push '2) (mov '3 a4) (bra #:ldibmrt:inst) 231 (eval ()) (push (@ 232)) (push '#:ldibmrt:a) (push 'x1) (push 'sp) (mov '3 a4) (bra #:ldibmrt:inst) 232 (eval ()) (mov (cvalq obj2) a1) (call #:ldibmrt:register?) (btnil a1 233) (mov '0 a3) (mov 'x1 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:load32disp) (bra 101) 233 (mov '0 a3) (mov 'x1 a2) (mov 'x2 a1) (call #:ldibmrt:load32disp) (mov (cvalq obj2) a2) (mov 'x2 a1) (call #:ldibmrt:movdest) (bra 101) 230 (mov (cvalq obj1) a2) (mov '#:ldibmrt:machins a1) (call #:ldibmrt:error) 101 (mov (& 1) dlink) (mov (& 6) (cvalq obj1)) (mov (& 7) (cvalq obj2)) (mov (& 8) (cvalq obj3)) (adjstk '12) (return) )) (loader'((entry #:ldibmrt:ll-call subr1) (cabeq a1 'linkr 102) (mov '(eq adr 'linkr) a2) (mov ''#:ldibmrt:ll-call a1) (call #:ldibmrt:error) 102 (push (@ 103)) (push '#:ldibmrt:sis) (push 'sp) (push '4) (mov '3 a4) (bra #:ldibmrt:inst) 103 (eval ()) (push (@ 104)) (push '#:ldibmrt:balrx) (push 'linkr) (push 'linkr) (mov '3 a4) (bra #:ldibmrt:inst) 104 (eval ()) (mov '0 a3) (mov 'sp a2) (mov 'linkr a1) (call #:ldibmrt:store32disp) (bra #:ldibmrt:alignd) )) (loader'((entry #:ldibmrt:immediat? subr1) (push a1) (jcall consp) (btnil a1 101) (mov (& 0) a1) (mov 'quote a2) (mov (car a1) a1) (jcall eq) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov (car a1) a1) (jcall fixp) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov '#$8000 a2) (mov (car a1) a1) (adjstk '1) (jmp neqn) 101 (adjstk '1) (return) )) (loader'((entry 4-bit-value? subr1) (push a1) (jcall fixp) (btnil a1 101) (mov '#$8000 a2) (mov (& 0) a1) (jcall neqn) (btnil a1 101) (mov '0 a2) (mov (& 0) a1) (jcall ge) (btnil a1 101) (mov '16 a2) (mov (& 0) a1) (adjstk '1) (jmp lt) 101 (adjstk '1) (return) )) (loader'((entry #:ldibmrt:small-pos? subr1) (push a1) (jcall consp) (btnil a1 101) (mov (& 0) a1) (mov 'quote a2) (mov (car a1) a1) (jcall eq) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov (car a1) a1) (jcall fixp) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov '#$8000 a2) (mov (car a1) a1) (jcall neqn) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov '0 a2) (mov (car a1) a1) (adjstk '1) (jmp ge) 101 (adjstk '1) (return) )) (loader'((entry #:ldibmrt:small-pos-value? subr1) (push a1) (jcall fixp) (btnil a1 101) (mov '#$8000 a2) (mov (& 0) a1) (jcall neqn) (btnil a1 101) (mov '0 a2) (mov (& 0) a1) (adjstk '1) (jmp ge) 101 (adjstk '1) (return) )) (loader'((entry #:ldibmrt:small-imm? subr1) (push a1) (call #:ldibmrt:small-pos?) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov '16 a2) (mov (car a1) a1) (adjstk '1) (jmp lt) 101 (adjstk '1) (return) )) (loader'((entry #:ldibmrt:small-neg-imm? subr1) (push a1) (jcall consp) (btnil a1 101) (mov (& 0) a1) (mov 'quote a2) (mov (car a1) a1) (jcall eq) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov (car a1) a1) (jcall fixp) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov '0 a2) (mov (car a1) a1) (jcall le) (btnil a1 101) (mov (& 0) a1) (mov (cdr a1) a1) (mov '-32 a2) (mov (car a1) a1) (adjstk '1) (jmp gt) 101 (adjstk '1) (return) )) (loader'((entry #:ldibmrt:nop subr0) (push (@ 101)) (push '#:ldibmrt:cas) (push 'r0) (push 'r0) (push 'r0) (mov '4 a4) (bra #:ldibmrt:inst) 101 (eval ()) (return) )) (loader'((entry #:ldibmrt:alignd subr0) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall fixp) (mov a1 a4) (bfnil a4 103) (mov (cvalq #:ldibmrt:pccurrent) a4) (mov (cdr a4) a4) 103 (mov '3 a3) (land a4 a3) (cnbeq '0 a3 101) (bra #:ldibmrt:nop) 101 (mov nil a1) (return) )) (loader'((entry #:ldibmrt:movaheabix subr3) (push a3) (push a2) (push a3) (mov a3 a2) (call #:ldibmrt:prepsrc) (mov '0 a3) (mov a1 a2) (pop a1) (call #:ldibmrt:load32disp) (mov (& 0) a1) (call #:ldibmrt:small-pos?) (btnil a1 101) (mov (& 0) a4) (mov (cdr a4) a4) (mov '8 a3) (plus (car a4) a3) (mov (& 1) a2) (mov (& 1) a1) (adjstk '2) (bra #:ldibmrt:laddr32disp) 101 (push (@ 103)) (push '#:ldibmrt:ais) (push (& 3)) (push '8) (mov '3 a4) (bra #:ldibmrt:inst) 103 (eval ()) (push (@ 104)) (push '#:ldibmrt:a) (push (& 3)) (mov 'x1 a2) (mov (& 3) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 104 (eval ()) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:c-arith-2op subr1) (push a1) (mov 'x2 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movsrc) (push (@ 101)) (push '#:ldibmrt:exts) (push 'x2) (push 'x2) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov 'x1 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:movsrc) (push (@ 102)) (push '#:ldibmrt:exts) (push 'x1) (push 'x1) (mov '3 a4) (bra #:ldibmrt:inst) 102 (eval ()) (mov (& 0) a2) (mov (cval a2) a2) (mov 'linkr a1) (call #:ldibmrt:laddr32loc) (mov 'linkr a1) (call #:ldibmrt:ll-call) (mov (cvalq obj2) a2) (mov 'cres a1) (adjstk '1) (bra #:ldibmrt:movdestnb) )) (loader'((entry #:ldibmrt:instr2float subr1) (push a1) (mov (cvalq #:ldibmrt:accusingle1) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:unrolfloat) (mov (cvalq #:ldibmrt:accusingle2) a2) (mov (cvalq obj2) a1) (call #:ldibmrt:unrolfloat) (mov (& 0) a2) (mov (cval a2) a2) (mov 'linkr a1) (call #:ldibmrt:laddr32loc) (mov 'linkr a1) (call #:ldibmrt:ll-call) (mov (cvalq obj2) a2) (mov (cvalq #:ldibmrt:accusingle2) a1) (adjstk '1) (bra #:ldibmrt:rolfloat) )) (defvar #:ldibmrt:accusingle1 (getglobal "_accusingle1")) (defvar #:ldibmrt:accusingle2 (getglobal "_accusingle2")) (loader'((entry #:ldibmrt:unrolfloat subr2) (push a2) (mov 'x1 a2) (call #:ldibmrt:movsrc) (push a1) (push (@ 101)) (push '#:ldibmrt:sli-s) (push a1) (push '1) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov 'x2 a3) (mov (& 1) a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:store32loc) )) (loader'((entry #:ldibmrt:rolfloat subr2) (push a2) (mov a1 a2) (mov 'x1 a1) (call #:ldibmrt:load32loc) (push a1) (push (@ 101)) (push '#:ldibmrt:sri-s) (push a1) (push '1) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (push (@ 102)) (push '#:ldibmrt:setb-u) (push (& 2)) (push '0) (mov '3 a4) (bra #:ldibmrt:inst) 102 (eval ()) (mov (& 1) a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:movdest) )) (loader'((entry #:ldibmrt:comp2float subr1) (push a1) (mov (cvalq #:ldibmrt:accusingle1) a2) (mov (cvalq obj1) a1) (call #:ldibmrt:unrolfloat) (mov (cvalq #:ldibmrt:accusingle2) a2) (mov (cvalq obj2) a1) (call #:ldibmrt:unrolfloat) (mov (& 0) a2) (mov (cval a2) a2) (mov 'linkr a1) (call #:ldibmrt:laddr32loc) (mov 'linkr a1) (call #:ldibmrt:ll-call) (push (@ 101)) (push '#:ldibmrt:ci-s) (push 'cres) (push '0) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov (cvalq obj3) a2) (mov '#:ldibmrt:bne a1) (adjstk '1) (bra #:ldibmrt:instbr) )) (loader'((entry #:ldibmrt:cnbxx subr1) (push a1) (push (@ 101)) (push '#:ldibmrt:exts) (push 'x1) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov (cvalq obj2) a1) (call #:ldibmrt:small-imm?) (btnil a1 102) (push (@ 104)) (push '#:ldibmrt:ci-s) (push 'x1) (mov (cvalq obj2) a4) (mov (cdr a4) a4) (push (car a4)) (mov '3 a4) (bra #:ldibmrt:inst) 104 (eval ()) (mov (cvalq obj3) a2) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:instbr) 102 (mov (cvalq obj2) a1) (call #:ldibmrt:small-pos?) (btnil a1 105) (push (@ 107)) (push '#:ldibmrt:c) (push 'x1) (mov 'x2 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 107 (eval ()) (mov (cvalq obj3) a2) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:instbr) 105 (push (@ 108)) (push '#:ldibmrt:exts) (push 'x2) (mov 'x2 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 108 (eval ()) (push (@ 109)) (push '#:ldibmrt:c) (push 'x1) (push 'x2) (mov '3 a4) (bra #:ldibmrt:inst) 109 (eval ()) (mov (cvalq obj3) a2) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:instbr) )) (loader'((entry #:ldibmrt:cnbxxieqn subr1) (push a1) (mov (cvalq obj1) a1) (call #:ldibmrt:small-imm?) (btnil a1 101) (push (@ 103)) (push '#:ldibmrt:ci-s) (mov 'x2 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:prepsrc) (push a1) (mov (cvalq obj1) a4) (mov (cdr a4) a4) (push (car a4)) (mov '3 a4) (bra #:ldibmrt:inst) 103 (eval ()) (mov (cvalq obj3) a2) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:instbr) 101 (mov (cvalq obj1) a1) (call #:ldibmrt:small-pos?) (btnil a1 104) (push (@ 106)) (push '#:ldibmrt:ci) (push '0) (mov 'x2 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:prepsrc) (push a1) (mov (cvalq obj1) a4) (mov (cdr a4) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:inst) 106 (eval ()) (mov (cvalq obj3) a2) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:instbr) 104 (mov (cvalq obj2) a1) (call #:ldibmrt:small-imm?) (btnil a1 107) (push (@ 109)) (push '#:ldibmrt:ci-s) (mov 'x2 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (mov (cvalq obj2) a4) (mov (cdr a4) a4) (push (car a4)) (mov '3 a4) (bra #:ldibmrt:inst) 109 (eval ()) (mov (cvalq obj3) a2) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:instbr) 107 (mov (cvalq obj2) a1) (call #:ldibmrt:small-pos?) (btnil a1 110) (push (@ 112)) (push '#:ldibmrt:ci) (push '0) (mov 'x2 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (mov (cvalq obj2) a4) (mov (cdr a4) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:inst) 112 (eval ()) (mov (cvalq obj3) a2) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:instbr) 110 (push (@ 113)) (push (& 1)) (push (cvalq obj1)) (push (cvalq obj2)) (push (cvalq obj3)) (mov '4 a4) (bra #:ldibmrt:cinstbr) 113 (eval ()) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:btf1xx subr2) (push (@ 101)) (push a2) (push (cvalq obj1)) (push a1) (push (cvalq obj2)) (mov '4 a4) (bra #:ldibmrt:cinstbr) 101 (eval ()) (return) )) (loader'((entry #:ldibmrt:bf2xx subr2) (push a2) (push a1) (mov a2 a1) (call #:ldibmrt:register?) (bfnil a1 102) (mov (& 1) a2) (mov '#:ldibmrt:bf2xx a1) (call #:ldibmrt:error) 102 (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (mov a1 (cvalq obj1)) (push (@ 103)) (push '#:ldibmrt:c) (push a1) (mov 'x2 a2) (mov (& 3) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 103 (eval ()) (mov (cvalq obj2) a2) (mov '#:ldibmrt:blt a1) (call #:ldibmrt:instbr) (push (@ 104)) (push '#:ldibmrt:c) (push (cvalq obj1)) (mov 'x2 a2) (mov (& 4) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 104 (eval ()) (mov (cvalq obj2) a2) (mov '#:ldibmrt:bge a1) (adjstk '2) (bra #:ldibmrt:instbr) )) (loader'((entry #:ldibmrt:bt2xx subr2) (push a2) (push a1) (mov a2 a1) (call #:ldibmrt:register?) (bfnil a1 102) (mov (& 1) a2) (mov '#:ldibmrt:bt2xx a1) (call #:ldibmrt:error) 102 (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (mov a1 (cvalq obj1)) (push (@ 103)) (push '#:ldibmrt:c) (push a1) (mov 'x2 a2) (mov (& 3) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 103 (eval ()) (mov '4 a2) (mov '#:ldibmrt:blt-s a1) (call #:ldibmrt:instbr-s) (push (@ 104)) (push '#:ldibmrt:c) (push (cvalq obj1)) (mov 'x2 a2) (mov (& 4) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 104 (eval ()) (mov (cvalq obj2) a2) (mov '#:ldibmrt:blt a1) (adjstk '2) (bra #:ldibmrt:instbr) )) (loader'((entry #:ldibmrt:prepsrc subr2) (push a2) (push a1) (cabne a1 'nil 101) (mov 'knil a1) (adjstk '2) (return) 101 (call #:ldibmrt:register?) (btnil a1 103) (mov (& 0) a1) (adjstk '2) (return) 103 (btcons (& 0) 105) (mov (& 0) a4) (cabeq a4 'llink 109) (cabeq a4 'dlink 109) (cabne a4 'itcount 107) 109 (bfnil (cvalq #:ldibmrt:making-fasl?) 110) (mov a4 a2) (mov 'llcp a1) (jcall symbol) (mov (cval a1) a2) (mov (& 1) a1) (call #:ldibmrt:load32loc) (bra 111) 110 (push (@ 112)) (push '(#:ldibmrt:fasl-record-eval-literal-reference reg (list 'vag (symbol 'llcp arg)))) (mov '1 a4) (jmp eval) 112 (eval ()) (mov '0 a3) (mov (& 1) a2) (mov (& 1) a1) (call #:ldibmrt:load32disp) 111 (mov (& 1) a1) (adjstk '2) (return) 107 (mov a4 a3) (cabeq a3 'cbindn 115) (cabeq a3 'tag 115) (cabeq a3 'lock 115) (cabne a3 'prot 113) 115 (bfnil (cvalq #:ldibmrt:making-fasl?) 116) (mov a3 a2) (mov 'llcp a1) (jcall symbol) (mov (cval a1) a2) (mov (& 1) a1) (call #:ldibmrt:laddr32loc) (bra 117) 116 (push (@ 118)) (push '(#:ldibmrt:fasl-record-eval-literal-reference reg (list 'vag (symbol 'llcp arg)))) (mov '1 a4) (jmp eval) 118 (eval ()) 117 (mov (& 1) a1) (adjstk '2) (return) 113 (bfsymb a3 119) (mov a3 a2) (mov 'ld-dir a1) (jcall getfn1) (btnil a1 119) (push (@ 121)) (mov (& 1) a2) (mov 'ld-dir a1) (jcall getfn1) (push a1) (push (& 2)) (mov '2 a4) (jmp funcall) 121 (eval ()) (adjstk '2) (return) 119 (mov (& 0) a2) (mov '#:ldibmrt:prepsrc a1) (adjstk '2) (bra #:ldibmrt:error) 105 (mov (& 0) a1) (mov (cvalq #:ldibmrt:mem-access) a2) (mov (car a1) a1) (jcall memq) (btnil a1 122) (mov (& 0) a2) (mov (cdr a2) a2) (push (car a2)) (mov (& 1) a1) (mov (car a1) a1) (call #:ldibmrt:getvalue) (mov a1 a3) (pop a2) (mov (& 1) a1) (call #:ldibmrt:load32disp) (mov (& 1) a1) (adjstk '2) (return) 122 (mov (& 0) a1) (mov (car a1) a1) (cabne a1 'quote 125) (mov (& 0) a4) (mov (cdr a4) a4) (btfix (car a4) 128) (mov (& 0) a3) (mov (cdr a3) a3) (bffloat (car a3) 126) 128 (mov (& 0) a2) (mov (cdr a2) a2) (mov (car a2) a2) (mov (& 1) a1) (call #:ldibmrt:laddr32) (bra 127) 126 (btnil (cvalq #:ldibmrt:making-fasl?) 129) (push (@ 131)) (push '(#:ldibmrt:fasl-record-literal-reference reg (cadr arg))) (mov '1 a4) (jmp eval) 131 (eval ()) (bra 127) 129 (mov (& 0) a4) (mov (cdr a4) a4) (btstrg (car a4) 132) (mov (& 0) a1) (mov (cdr a1) a1) (mov (car a1) a1) (call #:ldibmrt:add-llitt) (bra 133) 132 (mov (& 0) a1) (call #:ldibmrt:add-llitts) 133 (mov (& 0) a2) (mov (cdr a2) a2) (mov (car a2) a2) (mov (& 1) a1) (call #:ldibmrt:laddr32) 127 (mov (& 1) a1) (adjstk '2) (return) 125 (cabne a1 'cvalq 134) (mov (& 0) a4) (mov (cdr a4) a4) (btsymb (car a4) 136) (mov '(symbolp (cadr arg)) a2) (mov '#:ldibmrt:prepsrc a1) (call #:ldibmrt:error) 136 (btnil (cvalq #:ldibmrt:making-fasl?) 137) (push (@ 139)) (push '(#:ldibmrt:fasl-record-literal-reference reg (cadr arg))) (mov '1 a4) (jmp eval) 139 (eval ()) (mov 'cval a1) (call #:ldibmrt:getvalue) (mov a1 a3) (mov (& 1) a2) (mov (& 1) a1) (call #:ldibmrt:load32disp) (bra 138) 137 (mov (& 0) a2) (mov (cdr a2) a2) (mov (car a2) a2) (mov (& 1) a1) (call #:ldibmrt:load32abs) (mov (& 0) a1) (mov (cdr a1) a1) (mov (car a1) a1) (call #:ldibmrt:add-llitt) 138 (mov (& 1) a1) (adjstk '2) (return) 134 (cabne a1 'fvalq 140) (mov (& 0) a4) (mov (cdr a4) a4) (btsymb (car a4) 142) (mov '(symbolp (cadr arg)) a2) (mov '#:ldibmrt:prepsrc a1) (call #:ldibmrt:error) 142 (btnil (cvalq #:ldibmrt:making-fasl?) 143) (push (@ 145)) (push '(#:ldibmrt:fasl-record-literal-reference reg (cadr arg))) (mov '1 a4) (jmp eval) 145 (eval ()) (mov 'fval a1) (call #:ldibmrt:getvalue) (mov a1 a3) (mov (& 1) a2) (mov (& 1) a1) (call #:ldibmrt:load32disp) (bra 144) 143 (mov (& 0) a2) (mov (cdr a2) a2) (mov (car a2) a2) (mov (& 1) a1) (call #:ldibmrt:laddr32) (mov 'fval a1) (call #:ldibmrt:getvalue) (mov a1 a3) (mov (& 1) a2) (mov (& 1) a1) (call #:ldibmrt:load32disp) (mov (& 0) a1) (mov (cdr a1) a1) (mov (car a1) a1) (call #:ldibmrt:add-llitt) 144 (mov (& 1) a1) (adjstk '2) (return) 140 (cabne a1 '& 146) (mov (& 0) a4) (mov (cdr a4) a4) (mov '4 a3) (times (car a4) a3) (mov 'sp a2) (mov (& 1) a1) (call #:ldibmrt:load32disp) (mov (& 1) a1) (adjstk '2) (return) 146 (cabeq a1 '@ 148) (cabne a1 'adr 147) 148 (mov (& 0) a1) (mov (cdr a1) a1) (mov (car a1) a1) (call #:ldibmrt:val-reference) (mov a1 a2) (mov (& 1) a1) (call #:ldibmrt:laddr32loc) (mov (& 1) a1) (adjstk '2) (return) 147 (cabne a1 'eval 149) (btnil (cvalq #:ldibmrt:making-fasl?) 150) (mov '#:ldibmrt:prepsrc a2) (mov '"eval not implemented in fasl" a1) (adjstk '2) (bra #:ldibmrt:error) 150 (push (@ 152)) (mov (& 1) a4) (mov (cdr a4) a4) (push (car a4)) (mov '1 a4) (jmp eval) 152 (eval ()) (mov (& 1) a2) (adjstk '2) (bra #:ldibmrt:prepsrc) 149 (mov (& 0) a2) (mov '#:ldibmrt:prepsrc a1) (adjstk '2) (bra #:ldibmrt:error) )) (loader'((entry #:ldibmrt:movsrc subr2) (push a2) (push a1) (call #:ldibmrt:prepsrc) (mov a1 (& 0)) (cabeq a1 (& 1) 102) (push (@ 103)) (push '#:ldibmrt:lr) (push (& 3)) (push a1) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) 102 (mov (& 1) a1) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:movdest subr2) (push a2) (push a1) (mov a2 a1) (call #:ldibmrt:register?) (btnil a1 101) (push (@ 103)) (push '#:ldibmrt:lr) (push (& 3)) (push (& 3)) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (adjstk '2) (return) 101 (btcons (& 1) 104) (mov (& 1) a4) (cabeq a4 'llink 107) (cabeq a4 'dlink 107) (cabeq a4 'itcount 107) (mov '(memq dest '(llink dlink itcount)) a2) (mov ''#:ldibmrt:movdest a1) (call #:ldibmrt:error) 107 (btnil (cvalq #:ldibmrt:making-fasl?) 108) (push (@ 110)) (push '(#:ldibmrt:fasl-record-eval-literal-reference 'x4 (list 'vag (symbol 'llcp dest)))) (mov '1 a4) (jmp eval) 110 (eval ()) (mov '0 a3) (mov 'x4 a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:store32disp) 108 (mov (& 1) a2) (mov 'llcp a1) (jcall symbol) (mov 'x4 a3) (mov (cval a1) a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:store32loc) 104 (mov (& 1) a1) (mov (cvalq #:ldibmrt:mem-access) a2) (mov (car a1) a1) (jcall memq) (btnil a1 111) (mov (& 1) a2) (mov (cdr a2) a2) (push (car a2)) (mov (& 2) a1) (mov (car a1) a1) (call #:ldibmrt:getvalue) (mov a1 a3) (pop a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:store32disp) 111 (mov (& 1) a4) (cabne (car a4) 'cvalq 113) (mov (cdr a4) a3) (btsymb (car a3) 116) (mov '(symbolp (cadr dest)) a2) (mov '#:ldibmrt:movdest a1) (call #:ldibmrt:error) 116 (btnil (cvalq #:ldibmrt:making-fasl?) 117) (push (@ 119)) (push '(#:ldibmrt:fasl-record-literal-reference 'x4 (cadr dest))) (mov '1 a4) (jmp eval) 119 (eval ()) (mov 'cval a1) (call #:ldibmrt:getvalue) (mov a1 a3) (mov 'x4 a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:store32disp) 117 (mov (& 1) a2) (mov (cdr a2) a2) (mov 'x4 a3) (mov (car a2) a2) (mov (& 0) a1) (call #:ldibmrt:store32abs) (mov (& 1) a1) (mov (cdr a1) a1) (mov (car a1) a1) (adjstk '2) (bra #:ldibmrt:add-llitt) 113 (cabne (car a4) '& 120) (mov (cdr a4) a3) (mov '4 a2) (times (car a3) a2) (mov a2 a3) (mov 'sp a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:store32disp) 120 (cabne (car a4) 'eval 122) (btnil (cvalq #:ldibmrt:making-fasl?) 124) (mov '#:ldibmrt:movdest a2) (mov '"no eval in movdest" a1) (adjstk '2) (bra #:ldibmrt:error) 124 (push (@ 126)) (mov (cdr a4) a3) (push (car a3)) (mov '1 a4) (jmp eval) 126 (eval ()) (mov a1 a2) (mov (& 0) a1) (adjstk '2) (bra #:ldibmrt:movdest) 122 (mov a4 a2) (mov '#:ldibmrt:movdest a1) (adjstk '2) (bra #:ldibmrt:error) )) (loader'((entry #:ldibmrt:movdestnb subr2) (push a2) (push a1) (mov a2 a1) (call #:ldibmrt:register?) (btnil a1 101) (push (@ 103)) (push '#:ldibmrt:nilz) (push (& 3)) (push (& 3)) (push '-1) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (adjstk '2) (return) 101 (mov (& 0) a1) (call #:ldibmrt:convnb) (mov (& 1) a2) (adjstk '2) (bra #:ldibmrt:movdest) )) (loader'((entry #:ldibmrt:macaheap subr2) (push a2) (push (@ 101)) (push '#:ldibmrt:l) (push a2) (call #:ldibmrt:prepsrc) (push a1) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 101 (eval ()) (push (@ 102)) (push '#:ldibmrt:ais) (push (& 2)) (push '8) (mov '3 a4) (bra #:ldibmrt:inst) 102 (eval ()) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:movaheap subr3) (push a3) (push a2) (mov a3 a2) (call #:ldibmrt:macaheap) (mov 'x1 a2) (mov (& 0) a1) (call #:ldibmrt:movsrc) (push (@ 101)) (push '#:ldibmrt:sli-s) (push 'x1) (push '2) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (push (@ 102)) (push '#:ldibmrt:a) (push (& 3)) (push 'x1) (mov '3 a4) (bra #:ldibmrt:inst) 102 (eval ()) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:convnb subr1) (push a1) (push (@ 101)) (push '#:ldibmrt:nilz) (push a1) (push a1) (push '-1) (mov '4 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov (& 0) a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:macaro1op subr2) (push a2) (push a1) (mov 'x1 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:movsrc) (push (@ 101)) (push (& 1)) (push 'x1) (push (& 4)) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov 'x1 a1) (call #:ldibmrt:convnb) (mov (cvalq obj1) a2) (mov 'x1 a1) (adjstk '2) (bra #:ldibmrt:movdest) )) (loader'((entry #:ldibmrt:macaro2op subr1) (push a1) (push (@ 101)) (push '#:ldibmrt:exts) (push 'x1) (mov 'x1 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (push (@ 102)) (push '#:ldibmrt:exts) (push 'x2) (mov 'x2 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 102 (eval ()) (push (@ 103)) (push (& 1)) (push 'x1) (push 'x2) (mov '3 a4) (bra #:ldibmrt:inst) 103 (eval ()) (mov 'x1 a1) (call #:ldibmrt:convnb) (mov (cvalq obj2) a2) (mov 'x1 a1) (adjstk '1) (bra #:ldibmrt:movdest) )) (loader'((entry #:ldibmrt:lshift subr2) (push a2) (push a1) (call #:ldibmrt:small-imm?) (btnil a1 101) (push (@ 103)) (push (& 2)) (push '#:ldibmrt:sli-s) (push '#:ldibmrt:sli-l) (mov (& 4) a4) (mov (cdr a4) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:lshift-aux) 103 (eval ()) (adjstk '2) (return) 101 (mov (& 0) a1) (call #:ldibmrt:small-neg-imm?) (btnil a1 104) (push (@ 106)) (push (& 2)) (push '#:ldibmrt:sri-s) (push '#:ldibmrt:sri-l) (push (@ 107)) (mov (& 5) a4) (mov (cdr a4) a4) (push (car a4)) (mov '1 a4) (jmp -) 107 (eval ()) (push a1) (mov '4 a4) (bra #:ldibmrt:lshift-aux) 106 (eval ()) (adjstk '2) (return) 104 (push (@ 108)) (push '#:ldibmrt:exts) (push 'x2) (mov 'x2 a2) (mov (& 3) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 108 (eval ()) (mov 'x1 a2) (mov (& 1) a1) (call #:ldibmrt:prepsrc) (push a1) (push (@ 109)) (push '#:ldibmrt:ci-s) (push 'x2) (push '0) (mov '3 a4) (bra #:ldibmrt:inst) 109 (eval ()) (mov '4 a2) (mov '#:ldibmrt:bge-s a1) (call #:ldibmrt:instbr-s) (push (@ 110)) (push '#:ldibmrt:twoc) (push 'x2) (push 'x2) (mov '3 a4) (bra #:ldibmrt:inst) 110 (eval ()) (push (@ 111)) (push '#:ldibmrt:sr) (push (& 2)) (push 'x2) (mov '3 a4) (bra #:ldibmrt:inst) 111 (eval ()) (mov '2 a2) (mov '#:ldibmrt:b-s a1) (call #:ldibmrt:instbr-s) (push (@ 112)) (push '#:ldibmrt:sl) (push (& 2)) (push 'x2) (mov '3 a4) (bra #:ldibmrt:inst) 112 (eval ()) (mov (& 2) a2) (mov (& 0) a1) (adjstk '3) (bra #:ldibmrt:movdestnb) )) (loader'((entry #:ldibmrt:lshift-aux nsubr) (mov 'x1 a2) (mov (& 3) a1) (call #:ldibmrt:prepsrc) (push a1) (push (@ 103)) (push (& 2)) (push '15) (mov '2 a4) (jmp >) 103 (eval ()) (btnil a1 101) (push (@ 104)) (push (& 3)) (push (& 2)) (push (@ 105)) (push (& 5)) (push '16) (mov '2 a4) (jmp -) 105 (eval ()) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 104 (eval ()) (bra 102) 101 (push (@ 106)) (push (& 4)) (push (& 2)) (push (& 4)) (mov '3 a4) (bra #:ldibmrt:inst) 106 (eval ()) 102 (mov (& 4) a2) (mov (& 0) a1) (adjstk '5) (bra #:ldibmrt:movdestnb) )) (loader'((entry #:ldibmrt:logop-aux subr3) (push a3) (push a2) (push a1) (mov (cvalq obj1) a1) (call #:ldibmrt:immediat?) (btnil a1 101) (push (@ 103)) (push (& 3)) (push (& 2)) (push (& 3)) (mov (cvalq obj1) a4) (mov (cdr a4) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (adjstk '3) (return) 101 (push (@ 104)) (push (& 2)) (push (& 2)) (mov 'x2 a2) (mov (cvalq obj1) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 104 (eval ()) (adjstk '3) (return) )) (loader'((entry #:ldibmrt:logop-2op subr2) (push a2) (push a1) (mov (cvalq obj2) a1) (call #:ldibmrt:register?) (btnil a1 101) (mov (& 1) a3) (mov (& 0) a2) (mov (cvalq obj2) a1) (adjstk '2) (bra #:ldibmrt:logop-aux) 101 (mov 'x1 a2) (mov (cvalq obj2) a1) (call #:ldibmrt:prepsrc) (mov (& 1) a3) (mov (& 0) a2) (mov 'x1 a1) (call #:ldibmrt:logop-aux) (mov (cvalq obj2) a2) (mov 'x1 a1) (adjstk '2) (bra #:ldibmrt:movdestnb) )) (loader'((entry #:ldibmrt:cinstbr nsubr) (push (@ 101)) (push '#:ldibmrt:c) (mov 'x1 a2) (mov (& 4) a1) (call #:ldibmrt:prepsrc) (push a1) (mov 'x2 a2) (mov (& 4) a1) (call #:ldibmrt:prepsrc) (push a1) (mov '3 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov (& 0) a2) (mov (& 3) a1) (adjstk '4) (bra #:ldibmrt:instbr) )) (loader'((entry #:ldibmrt:instbr subr2) (push a1) (mov a2 a1) (call #:ldibmrt:valrel) (call #:ldibmrt:rshiftadr) (push (@ 101)) (push (& 1)) (push a1) (mov '2 a4) (bra #:ldibmrt:inst) 101 (eval ()) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:instbr-s subr2) (push (@ 101)) (push a1) (push a2) (mov '2 a4) (bra #:ldibmrt:inst) 101 (eval ()) (return) )) (loader'((entry #:ldibmrt:inst nsubr) (push a4) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:format) (cabne a1 'ji 102) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '8 a1) (mov (& 0) a4) (plus '-1 a4) (xspmov a4 a4) (lor a4 a1) (call #:ldibmrt:1word) (bra 101) 102 (cabne a1 'x 103) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '12 a1) (push a1) (mov (& 1) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '8 a1) (pop a4) (lor a1 a4) (push a4) (mov (& 1) a4) (plus '-1 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '4 a1) (push a1) (mov (& 2) a4) (plus '-1 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (pop a4) (lor a1 a4) (pop a3) (lor a4 a3) (mov a3 a1) (call #:ldibmrt:1word) (bra 101) 103 (cabne a1 'd2 104) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '12 a1) (mov (& 0) a4) (plus '-1 a4) (xspmov a4 a4) (lshift '8 a4) (lor a4 a1) (push a1) (mov (& 1) a4) (plus '-1 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '4 a1) (push a1) (mov (& 2) a4) (plus '-1 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (pop a4) (lor a1 a4) (pop a3) (lor a4 a3) (mov a3 a1) (call #:ldibmrt:1word) (bra 101) 104 (cabne a1 'r 105) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '8 a1) (push a1) (mov (& 1) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '4 a1) (push a1) (mov (& 2) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (pop a4) (lor a1 a4) (pop a3) (lor a4 a3) (mov a3 a1) (call #:ldibmrt:1word) (bra 101) 105 (cabne a1 'bi 106) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '4 a1) (mov (& 0) a4) (plus '-1 a4) (xspmov a4 a4) (mov (car a4) a4) (land '15 a4) (lor a4 a1) (call #:ldibmrt:1word) (mov (& 0) a4) (plus '-1 a4) (xspmov a4 a1) (mov (cdr a1) a1) (call #:ldibmrt:1word) (bra 101) 106 (cabne a1 'ba 107) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a2) (mov '#:ldibmrt:inst-ba a1) (call #:ldibmrt:error) (bra 101) 107 (cabne a1 'd 108) (mov (& 0) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '8 a1) (push a1) (mov (& 1) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (lshift '4 a1) (push a1) (mov (& 2) a4) (plus '0 a4) (xspmov a4 a1) (call #:ldibmrt:getvalue) (pop a4) (lor a1 a4) (pop a3) (lor a4 a3) (mov a3 a1) (call #:ldibmrt:1word) (mov (& 0) a4) (plus '-3 a4) (xspmov a4 a1) (call #:ldibmrt:1word) (bra 101) 108 (mov (& 0) a4) (plus '0 a4) (xspmov a4 a2) (mov '"unknown format or instruction in :inst : " a1) (call #:ldibmrt:error) 101 (pop a4) (adjstk a4) (return) )) (loader'((entry #:ldibmrt:val32abs subr1) (push a1) (bffix a1 101) (mov '0 a1) (call #:ldibmrt:1word) (mov (& 0) a1) (adjstk '1) (bra #:ldibmrt:1word) 101 (bfcons a1 103) (mov (car a1) a1) (call #:ldibmrt:1word) (mov (& 0) a1) (mov (cdr a1) a1) (adjstk '1) (bra #:ldibmrt:1word) 103 (mov a1 a2) (mov '#:ldibmrt:val32abs a1) (adjstk '1) (bra #:ldibmrt:error) )) (loader'((entry #:ldibmrt:load32abs subr2) (push a1) (bffix a2 101) (push (@ 103)) (push '#:ldibmrt:cal16) (push a1) (push 'r0) (push a2) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (push (@ 104)) (push '#:ldibmrt:l) (push (& 2)) (push (& 3)) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 104 (eval ()) (mov (& 0) a1) (adjstk '1) (return) 101 (push a1) (mov a2 a1) (jcall loc) (mov a1 a2) (pop a1) (adjstk '1) (bra #:ldibmrt:load32loc) )) (loader'((entry #:ldibmrt:load32loc subr2) (push a2) (push a1) (mov (cdr a2) a1) (call #:ldibmrt:small-pos-value?) (btnil a1 101) (bfnil (cvalq #:ldibmrt:making-fasl?) 101) (push (@ 103)) (push '#:ldibmrt:cau) (push (& 2)) (push 'r0) (mov (& 5) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (push (@ 104)) (push '#:ldibmrt:l) (push (& 2)) (push (& 3)) (mov (& 5) a4) (push (cdr a4)) (mov '4 a4) (bra #:ldibmrt:inst) 104 (eval ()) (bra 102) 101 (push (@ 105)) (push '#:ldibmrt:cal16) (push (& 2)) (push 'r0) (mov (& 5) a4) (push (cdr a4)) (mov '4 a4) (bra #:ldibmrt:inst) 105 (eval ()) (push (@ 106)) (push '#:ldibmrt:cau) (push (& 2)) (push (& 3)) (mov (& 5) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:inst) 106 (eval ()) (push (@ 107)) (push '#:ldibmrt:l) (push (& 2)) (push (& 3)) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 107 (eval ()) 102 (mov (& 0) a1) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:laddr32disp subr3) (push a1) (push (@ 101)) (push '#:ldibmrt:cal) (push a1) (push a2) (push a3) (mov '4 a4) (bra #:ldibmrt:inst) 101 (eval ()) (mov (& 0) a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:laddr32 subr2) (push a2) (push a1) (bffix a2 101) (mov a2 a1) (call 4-bit-value?) (btnil a1 103) (push (@ 105)) (push '#:ldibmrt:lis) (push (& 2)) (push (& 4)) (mov '3 a4) (bra #:ldibmrt:inst) 105 (eval ()) (bra 102) 103 (push (@ 106)) (push '#:ldibmrt:cal16) (push (& 2)) (push 'r0) (mov (& 5) a4) (land '-1 a4) (push a4) (mov '4 a4) (bra #:ldibmrt:inst) 106 (eval ()) (bra 102) 101 (push a1) (mov a2 a1) (jcall loc) (mov a1 a2) (pop a1) (call #:ldibmrt:laddr32loc) 102 (mov (& 0) a1) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:laddr32loc subr2) (push a2) (push a1) (push (@ 101)) (push '#:ldibmrt:cal16) (push a1) (push 'r0) (push (cdr a2)) (mov '4 a4) (bra #:ldibmrt:inst) 101 (eval ()) (push (@ 102)) (push '#:ldibmrt:cau) (push (& 2)) (push (& 3)) (mov (& 5) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:inst) 102 (eval ()) (mov (& 0) a1) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:load32disp subr3) (push a3) (push a2) (push a1) (mov a2 a1) (call #:ldibmrt:register?) (bfnil a1 102) (mov '(#:ldibmrt:register? accu) a2) (mov '#:ldibmrt:load32disp a1) (call #:ldibmrt:error) 102 (push (@ 103)) (push '#:ldibmrt:l) (push (& 2)) (push (& 4)) (push (& 6)) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (mov (& 0) a1) (adjstk '3) (return) )) (loader'((entry #:ldibmrt:store32abs subr3) (push a3) (bffix a2 101) (push (@ 103)) (push '#:ldibmrt:st) (push a1) (push a2) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (adjstk '1) (return) 101 (push a1) (mov a2 a1) (jcall loc) (mov (& 1) a3) (mov a1 a2) (pop a1) (adjstk '1) (bra #:ldibmrt:store32loc) )) (loader'((entry #:ldibmrt:store32loc subr3) (push a3) (push a2) (push a1) (push (@ 101)) (push '#:ldibmrt:cal16) (push a3) (push 'r0) (push (cdr a2)) (mov '4 a4) (bra #:ldibmrt:inst) 101 (eval ()) (push (@ 102)) (push '#:ldibmrt:cau) (push (& 4)) (push (& 5)) (mov (& 5) a4) (push (car a4)) (mov '4 a4) (bra #:ldibmrt:inst) 102 (eval ()) (push (@ 103)) (push '#:ldibmrt:st) (push (& 2)) (push (& 5)) (push '0) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (adjstk '3) (return) )) (loader'((entry #:ldibmrt:store32disp subr3) (push a3) (push a2) (push a1) (mov a2 a1) (call #:ldibmrt:register?) (bfnil a1 102) (mov '(#:ldibmrt:register? accu) a2) (mov '#:ldibmrt:store32disp a1) (call #:ldibmrt:error) 102 (push (@ 103)) (push '#:ldibmrt:st) (push (& 2)) (push (& 4)) (push (& 6)) (mov '4 a4) (bra #:ldibmrt:inst) 103 (eval ()) (adjstk '3) (return) )) (loader'((entry #:ldibmrt:1word subr1) (push a1) (btnil (cvalq #:ldibmrt:talkp) 102) (push (@ 105)) (push (cvalq #:ldibmrt:nwl)) (push '6) (mov '2 a4) (jmp >) 105 (eval ()) (btnil a1 104) (mov '0 (cvalq #:ldibmrt:nwl)) (push (@ 106)) (mov '0 a4) (jmp terpri) 106 (eval ()) (push (@ 107)) (push '30) (mov '1 a4) (jmp outpos) 107 (eval ()) (mov (cvalq #:ldibmrt:pccurrent) a1) (call #:ldibmrt:prinhex) (push (@ 108)) (push '" ") (mov '1 a4) (jmp prin) 108 (eval ()) 104 (mov (cvalq #:ldibmrt:nwl) a1) (jcall 1+) (mov a1 (cvalq #:ldibmrt:nwl)) (push (@ 109)) (push '" ") (mov '1 a4) (jmp prin) 109 (eval ()) (mov (& 0) a1) (call #:ldibmrt:prinhex) 102 (mov (cvalq #:ldibmrt:ecode) a2) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall gtadr) (btnil a1 110) (push (@ 112)) (mov '0 a4) (jmp outchan) 112 (eval ()) (push a1) (push (@ 113)) (push dlink) (push prot) (stack dlink) (push (@ 115)) (push nil) (mov '1 a4) (jmp outchan) 115 (eval ()) (push (@ 116)) (push (cvalq errfcod)) (mov '1 a4) (jmp print) 116 (eval ()) (mov nil a1) (mov '#:system:toplevel-tag a2) (jmp #:llcp:exit) (mov (& 1) dlink) (adjstk '3) (push a1) (mov (@ 114) a3) 113 (push a3) (push a2) (push (@ 117)) (push (& 4)) (mov '1 a4) (jmp outchan) 117 (eval ()) (pop a2) (pop a3) (pop a1) (bri a3) 114 (eval ()) (adjstk '2) (return) 110 (push (@ 118)) (push (cvalq #:ldibmrt:pccurrent)) (push (& 2)) (mov '2 a4) (jmp memory) 118 (eval ()) (mov '2 a2) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall incradr) (mov a1 (cvalq #:ldibmrt:pccurrent)) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:valadr subr1) (push a1) (btcons a1 101) (mov (cvalq #:ldibmrt:llabels) a2) (jcall cassq) (bfnil a1 103) (mov (& 0) a1) (jcall symbolp) (btnil a1 105) (mov '#:ldibmrt:fval a2) (mov (& 0) a1) (jcall getprop) 105 (bfnil a1 103) (mov nil a1) 103 (adjstk '1) (return) 101 (bffix (car a1) 106) (bffix (cdr a1) 106) (adjstk '1) (return) 106 (mov a1 a2) (mov '"VALADR" a1) (adjstk '1) (bra #:ldibmrt:error) )) (defvar #:ldibmrt:unresolved-address '(-3856 . -3856)) (loader'((entry #:ldibmrt:val-reference subr1) (push a1) (btnil (cvalq #:ldibmrt:making-fasl?) 102) (push (@ 103)) (push '(#:ldibmrt:fasl-record-pair-absolute-reference #:ldibmrt:pccurrent)) (mov '1 a4) (jmp eval) 103 (eval ()) 102 (mov (& 0) a1) (call #:ldibmrt:valadr) (btnil a1 104) (adjstk '1) (return) 104 (bfsymb (& 0) 106) (mov (cvalq #:ldibmrt:llabels) a2) (mov (& 0) a1) (jcall assq) (bfnil a1 106) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copy) (mov a1 a3) (mov (& 0) a2) (mov '#:ldibmrt:solve-abs a1) (call #:ldibmrt:addentry) (bra 107) 106 (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copy) (mov a1 a3) (mov (& 0) a2) (mov '#:ldibmrt:solve-abs a1) (call #:ldibmrt:addlabel) 107 (mov (cvalq #:ldibmrt:unresolved-address) a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:contig-val-reference subr1) (push a1) (btnil (cvalq #:ldibmrt:making-fasl?) 102) (push (@ 103)) (push '(#:ldibmrt:fasl-record-absolute-reference #:ldibmrt:pccurrent)) (mov '1 a4) (jmp eval) 103 (eval ()) 102 (mov (& 0) a1) (call #:ldibmrt:valadr) (btnil a1 104) (adjstk '1) (return) 104 (bfsymb (& 0) 106) (mov (cvalq #:ldibmrt:llabels) a2) (mov (& 0) a1) (jcall assq) (bfnil a1 106) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copy) (mov a1 a3) (mov (& 0) a2) (mov '#:ldibmrt:solve-contig-abs a1) (call #:ldibmrt:addentry) (bra 107) 106 (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copy) (mov a1 a3) (mov (& 0) a2) (mov '#:ldibmrt:solve-contig-abs a1) (call #:ldibmrt:addlabel) 107 (mov (cvalq #:ldibmrt:unresolved-address) a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:valrel subr1) (push a1) (call #:ldibmrt:valadr) (btnil a1 101) (mov (cvalq #:ldibmrt:pccurrent) a2) (adjstk '1) (bra #:ldibmrt:sa) 101 (bfsymb (& 0) 103) (mov (cvalq #:ldibmrt:llabels) a2) (mov (& 0) a1) (jcall assq) (bfnil a1 103) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copy) (mov a1 a3) (mov (& 0) a2) (mov '#:ldibmrt:solve-20rel a1) (call #:ldibmrt:addentry) (bra 104) 103 (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall copy) (mov a1 a3) (mov (& 0) a2) (mov '#:ldibmrt:solve-20rel a1) (call #:ldibmrt:addlabel) 104 (mov (cvalq #:ldibmrt:unresolved-address) a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:rshiftadr subr1) (push a1) (bffix a1 101) (lshift '-1 a1) (adjstk '1) (return) 101 (mov (car a1) a1) (jcall evenp) (btnil a1 103) (mov (& 0) a4) (mov (cdr a4) a4) (lshift '-1 a4) (mov (& 0) a3) (mov a4 (cdr a3)) (mov (car a3) a4) (lshift '-1 a4) (mov a4 (car a3)) (mov a3 a1) (adjstk '1) (return) 103 (mov (& 0) a4) (mov (cdr a4) a4) (lshift '-1 a4) (mov '#$8000 a3) (lor a4 a3) (mov (& 0) a4) (mov a3 (cdr a4)) (mov (car a4) a3) (lshift '-1 a3) (mov a3 (car a4)) (mov a4 a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:solve-20rel subr1) (push a1) (mov a1 a2) (mov (cvalq #:ldibmrt:pccurrent) a1) (call #:ldibmrt:sa) (call #:ldibmrt:rshiftadr) (push a1) (push (@ 101)) (push (& 2)) (push (@ 102)) (push (& 4)) (mov '1 a4) (jmp memory) 102 (eval ()) (land '-16 a1) (mov (& 2) a4) (mov (car a4) a4) (land '15 a4) (lor a4 a1) (push a1) (mov '2 a4) (jmp memory) 101 (eval ()) (push (@ 103)) (mov '2 a2) (mov (& 2) a1) (jcall addadr) (push a1) (mov (& 2) a4) (push (cdr a4)) (mov '2 a4) (jmp memory) 103 (eval ()) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:solve-abs subr1) (push a1) (push (@ 101)) (mov '2 a2) (jcall addadr) (push a1) (mov (cvalq #:ldibmrt:pccurrent) a4) (push (cdr a4)) (mov '2 a4) (jmp memory) 101 (eval ()) (push (@ 102)) (mov '6 a2) (mov (& 1) a1) (jcall addadr) (push a1) (mov (cvalq #:ldibmrt:pccurrent) a4) (push (car a4)) (mov '2 a4) (jmp memory) 102 (eval ()) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:solve-contig-abs subr1) (push a1) (push (@ 101)) (push a1) (mov (cvalq #:ldibmrt:pccurrent) a4) (push (car a4)) (mov '2 a4) (jmp memory) 101 (eval ()) (push (@ 102)) (mov '2 a2) (mov (& 1) a1) (jcall addadr) (push a1) (mov (cvalq #:ldibmrt:pccurrent) a4) (push (cdr a4)) (mov '2 a4) (jmp memory) 102 (eval ()) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:solve-label subr1) (push a1) (mov (cvalq #:ldibmrt:llabels-not-resolved) a2) (jcall cassq) (push a1) 101 (bfcons (& 0) 102) (mov (& 0) a1) (mov (cdr a1) (& 0)) (mov (car a1) a1) (call #:ldibmrt:apply-solve-fn) (bra 101) 102 (adjstk '1) (mov (cvalq #:ldibmrt:llabels-not-resolved) a2) (mov (& 0) a1) (jcall assq) (mov (cvalq #:ldibmrt:llabels-not-resolved) a2) (jcall delete) (mov a1 (cvalq #:ldibmrt:llabels-not-resolved)) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:solventry subr1) (push a1) (mov (cvalq #:ldibmrt:entries-not-resolved) a2) (jcall cassq) (push a1) 101 (bfcons (& 0) 102) (mov (& 0) a1) (mov (cdr a1) (& 0)) (mov (car a1) a1) (call #:ldibmrt:apply-solve-fn) (bra 101) 102 (adjstk '1) (mov (cvalq #:ldibmrt:entries-not-resolved) a2) (mov (& 0) a1) (jcall assq) (mov (cvalq #:ldibmrt:entries-not-resolved) a2) (jcall delete) (mov a1 (cvalq #:ldibmrt:entries-not-resolved)) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:apply-solve-fn subr1) (push a1) (mov (car a1) a1) (cabne a1 '#:ldibmrt:solve-abs 102) (mov (& 0) a1) (mov (cdr a1) a1) (adjstk '1) (bra #:ldibmrt:solve-abs) 102 (cabne a1 '#:ldibmrt:solve-20rel 103) (mov (& 0) a1) (mov (cdr a1) a1) (adjstk '1) (bra #:ldibmrt:solve-20rel) 103 (cabne a1 '#:ldibmrt:solve-contig-abs 104) (mov (& 0) a1) (mov (cdr a1) a1) (adjstk '1) (bra #:ldibmrt:solve-contig-abs) 104 (mov nil a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:aa subr2) (push a2) (push a1) (mov '0 (cvalq #:ex:regret)) (bfcons a1 102) (mov (cdr a1) a1) 102 (bfcons a2 104) (mov (cdr a2) a2) 104 (jcall ex+) (push a1) (bfcons (& 1) 105) (mov (& 1) a1) (mov (car a1) a1) (bra 106) 105 (mov '0 a1) 106 (bfcons (& 2) 107) (mov (& 2) a2) (mov (car a2) a2) (bra 108) 107 (mov '0 a2) 108 (jcall ex+) (mov a1 a2) (pop a1) (adjstk '2) (jmp xcons) )) (loader'((entry #:ldibmrt:sa subr2) (push a2) (mov '1 a2) (call #:ldibmrt:aa) (push a1) (bfcons (& 1) 101) (mov (& 1) a1) (mov (car a1) a1) (jcall ex-) (bra 102) 101 (mov '-1 a1) 102 (push a1) (bfcons (& 2) 103) (mov (& 2) a1) (mov (cdr a1) a1) (jcall ex-) (mov a1 a2) (bra 104) 103 (mov (& 2) a1) (jcall ex-) (mov a1 a2) 104 (pop a1) (jcall cons) (mov a1 a2) (pop a1) (adjstk '1) (bra #:ldibmrt:aa) )) (loader'((entry #:ldibmrt:addlabel subr3) (push a3) (push a2) (push a1) (push a2) (mov (cvalq #:ldibmrt:llabels-not-resolved) a2) (pop a1) (jcall assq) (push a1) (btnil a1 101) (push a1) (mov (& 4) a2) (mov (& 2) a1) (jcall cons) (mov (& 1) a2) (mov (cdr a2) a2) (jcall cons) (pop a4) (mov a1 (cdr a4)) (mov a4 a1) (adjstk '4) (return) 101 (push (@ 103)) (push (& 3)) (mov (& 5) a2) (mov (& 3) a1) (jcall cons) (push a1) (mov '2 a4) (jmp list) 103 (eval ()) (mov (cvalq #:ldibmrt:llabels-not-resolved) a2) (jcall cons) (mov a1 (cvalq #:ldibmrt:llabels-not-resolved)) (adjstk '4) (return) )) (loader'((entry #:ldibmrt:addentry subr3) (push a3) (push a2) (push a1) (push a2) (mov (cvalq #:ldibmrt:entries-not-resolved) a2) (pop a1) (jcall assq) (push a1) (btnil a1 101) (push a1) (mov (& 4) a2) (mov (& 2) a1) (jcall cons) (mov (& 1) a2) (mov (cdr a2) a2) (jcall cons) (pop a4) (mov a1 (cdr a4)) (mov a4 a1) (adjstk '4) (return) 101 (push (@ 103)) (push (& 3)) (mov (& 5) a2) (mov (& 3) a1) (jcall cons) (push a1) (mov '2 a4) (jmp list) 103 (eval ()) (mov (cvalq #:ldibmrt:entries-not-resolved) a2) (jcall cons) (mov a1 (cvalq #:ldibmrt:entries-not-resolved)) (adjstk '4) (return) )) (loader'((entry #:ldibmrt:clean-llitt subr0) (push (cvalq #:ldibmrt:saved-by-loader)) (push '-1) (push nil) 101 (btnil (& 2) 102) (mov (& 2) a4) (bfsymb (car a4) 103) (mov (car a4) a1) (jcall boundp) (bfnil a1 105) (mov (& 2) a1) (mov (car a1) a1) (jcall typefn) (btnil a1 103) 105 (mov (& 2) a1) (mov (cdr a1) (& 2)) (mov (cvalq #:ldibmrt:saved-by-loader) a2) (mov (car a1) a1) (jcall delq) (mov a1 (cvalq #:ldibmrt:saved-by-loader)) (bra 101) 103 (mov (& 2) a4) (mov (cdr a4) (& 2)) (bra 101) 102 (mov (cvalq #:ldibmrt:saved-by-loader) a1) (jcall length) (cnble a1 '0 107) (mov (cvalq #:ldibmrt:saved-by-loader) a1) (jcall length) (mov nil a2) (jcall makevector) (mov a1 (& 0)) 108 (btnil (cvalq #:ldibmrt:saved-by-loader) 109) (mov (& 1) a4) (plus '1 a4) (mov a4 (& 1)) (mov (cvalq #:ldibmrt:saved-by-loader) a3) (mov (cdr a3) (cvalq #:ldibmrt:saved-by-loader)) (hpmovx (car a3) (& 0) a4) (bra 108) 109 (btnil (cvalq #:ldibmrt:module) 110) (mov '#:ldibmrt:saved-by-loader a3) (mov (& 0) a2) (mov (cvalq #:ldibmrt:module) a1) (jcall putprop) (bra 107) 110 (mov (cvalq #:ldibmrt:global-saved-by-loader) a2) (mov (& 0) a1) (jcall cons) (mov a1 (cvalq #:ldibmrt:global-saved-by-loader)) 107 (mov nil (cvalq #:ldibmrt:module)) (mov nil a1) (adjstk '3) (return) )) (loader'((entry #:ldibmrt:add-llitt subr1) (push a1) (mov (cvalq #:ldibmrt:saved-by-loader) a2) (jcall memq) (bfnil a1 101) (mov (cvalq #:ldibmrt:saved-by-loader) a2) (mov (& 0) a1) (jcall cons) (mov a1 (cvalq #:ldibmrt:saved-by-loader)) 101 (adjstk '1) (return) )) (loader'((entry #:ldibmrt:add-llitts subr1) (push a1) (mov (cvalq #:ld:shared-strings) a4) (btnil a4 101) (mov (cdr a1) a1) (mov (cvalq #:ldibmrt:saved-by-loader) a2) (mov (car a1) a1) (jcall member) (mov a1 a4) 101 (bfnil a4 102) (mov (& 0) a1) (mov (cdr a1) a1) (mov (cvalq #:ldibmrt:saved-by-loader) a2) (mov (car a1) a1) (jcall cons) (mov a1 (cvalq #:ldibmrt:saved-by-loader)) (adjstk '1) (return) 102 (mov (& 0) a3) (mov (cdr a3) a2) (mov (car a4) (car a2)) (mov a2 a1) (adjstk '1) (return) )) (loader'((entry #:ldibmrt:prinhex subr1) (push a1) (bffix a1 101) (lshift '-8 a1) (land '255 a1) (call #:ldibmrt:prinhexb) (mov (& 0) a4) (land '255 a4) (mov a4 a1) (adjstk '1) (bra #:ldibmrt:prinhexb) 101 (bfcons a1 103) (push (@ 105)) (push '"0x") (mov '1 a4) (jmp prin) 105 (eval ()) (mov (& 0) a1) (mov (car a1) a1) (call #:ldibmrt:prinhex) (push (@ 106)) (push '" ") (mov '1 a4) (jmp prin) 106 (eval ()) (mov (& 0) a1) (mov (cdr a1) a1) (adjstk '1) (bra #:ldibmrt:prinhex) 103 (mov a1 a2) (mov '#:ldibmrt:prinhex a1) (adjstk '1) (bra #:ldibmrt:error) )) (loader'((entry #:ldibmrt:prinhexb subr1) (push a1) (btfix a1 101) (mov a1 a2) (mov '#:ldibmrt:prinhexb a1) (call #:ldibmrt:error) (bra 102) 101 (push (@ 105)) (push a1) (push '0) (mov '2 a4) (jmp <) 105 (eval ()) (btnil a1 103) (mov '255 (& 0)) (bra 102) 103 (push (@ 108)) (push (& 1)) (push '16) (mov '2 a4) (jmp <) 108 (eval ()) (btnil a1 102) (push (@ 109)) (push '48) (mov '1 a4) (jmp princn) 109 (eval ()) 102 (push (@ 110)) (mov '0 a4) (jmp obase) 110 (eval ()) (push a1) (push (@ 111)) (push dlink) (push prot) (stack dlink) (push (@ 113)) (push '16) (mov '1 a4) (jmp obase) 113 (eval ()) (push (@ 114)) (push (& 5)) (mov '1 a4) (jmp prin) 114 (eval ()) (mov (& 1) dlink) (adjstk '3) (push a1) (mov (@ 112) a3) 111 (push a3) (push a2) (push (@ 115)) (push (& 4)) (mov '1 a4) (jmp obase) 115 (eval ()) (pop a2) (pop a3) (pop a1) (bri a3) 112 (eval ()) (adjstk '2) (return) )) (loader'((fentry #:ldibmrt:mem nsubr) (entry #:ldibmrt:mem nsubr) (cnbge a4 '1 0) (mov '#:ldibmrt:mem a1) (mov '1 a2) (jmp #:llcp:errwna) 0 (diff '1 a4) (jcall #:llcp:nlist) (push a1) (mov (& 1) a1) (jcall valfn) (jcall loc) (mov (& 0) a2) (mov (car a2) a2) (bfnil a2 101) (mov '9 a2) 101 (call #:ldibmrt:memory-dump) (mov (& 1) a1) (adjstk '2) (return) )) (loader'((entry #:ldibmrt:memory-dump subr2) (push a2) (push a1) (jcall copy) (mov a1 (& 0)) 101 (push (@ 103)) (push (& 2)) (push '0) (mov '2 a4) (jmp <=) 103 (eval ()) (bfnil a1 102) (mov (& 0) a1) (call #:ldibmrt:prinhex) (push (@ 104)) (push '15) (mov '1 a4) (jmp outpos) 104 (eval ()) (mov '8 a4) (bra 106) 105 (push a4) (push (@ 107)) (push (& 2)) (mov '1 a4) (jmp memory) 107 (eval ()) (call #:ldibmrt:prinhex) (push (@ 108)) (push '" ") (mov '1 a4) (jmp prin) 108 (eval ()) (mov '2 a2) (mov (& 1) a1) (jcall incradr) (mov (& 2) a1) (jcall 1-) (mov a1 (& 2)) (pop a4) 106 (sobgez a4 105) (push (@ 109)) (mov '0 a4) (jmp terpri) 109 (eval ()) (bra 101) 102 (adjstk '2) (return) )) (loader'((fentry loaderesolve subr0) (entry loaderesolve subr0) (push (@ 101)) (push '((end))) (mov '1 a4) (jmp loader) 101 (eval ()) (return) )) (loader'((fentry loader nsubr) (entry loader nsubr) (cnbge a4 '1 0) (mov 'loader a1) (mov '1 a2) (jmp #:llcp:errwna) 0 (diff '1 a4) (jcall #:llcp:nlist) (push (cvalq #:ldibmrt:talkp)) (mov a1 (cvalq #:ldibmrt:talkp)) (push '1) (push '(#:ldibmrt:talkp)) (push (@ loader)) (push llink) (mov nil llink) (push dlink) (push cbindn) (stack dlink) (bfcons a1 102) (mov (car a1) (cvalq #:ldibmrt:talkp)) 102 (push (@ 103)) (mov '0 a4) (jmp #:system:ccode) 103 (eval ()) (push nil) (push nil) (push 'loader) (push nil) (push nil) (push nil) (push nil) (push nil) (push nil) (push nil) (push '0) (push nil) (push (cvalq #:ldibmrt:pccurrent)) (mov a1 (cvalq #:ldibmrt:pccurrent)) (push (cvalq #:ex:regret)) (mov (& 2) (cvalq #:ex:regret)) (push (cvalq #:ldibmrt:nwl)) (mov (& 4) (cvalq #:ldibmrt:nwl)) (push (cvalq #:ldibmrt:valaux)) (mov (& 7) (cvalq #:ldibmrt:valaux)) (push (cvalq #:ldibmrt:localstack)) (mov (& 9) (cvalq #:ldibmrt:localstack)) (push (cvalq #:ldibmrt:arg3)) (mov (& 11) (cvalq #:ldibmrt:arg3)) (push (cvalq #:ldibmrt:arg2)) (mov (& 13) (cvalq #:ldibmrt:arg2)) (push (cvalq #:ldibmrt:arg1)) (mov (& 15) (cvalq #:ldibmrt:arg1)) (push (cvalq #:ldibmrt:codop)) (mov (& 17) (cvalq #:ldibmrt:codop)) (push (cvalq #:ldibmrt:fntname)) (mov (& 19) (cvalq #:ldibmrt:fntname)) (push (cvalq #:ldibmrt:llabels-not-resolved)) (mov (& 21) (cvalq #:ldibmrt:llabels-not-resolved)) (push (cvalq #:ldibmrt:llabels)) (mov (& 23) (cvalq #:ldibmrt:llabels)) (push '12) (push '(#:ldibmrt:pccurrent #:ex:regret #:ldibmrt:nwl #:ldibmrt:valaux #:ldibmrt:localstack #:ldibmrt:arg3 #:ldibmrt:arg2 #:ldibmrt:arg1 #:ldibmrt:codop #:ldibmrt:fntname #:ldibmrt:llabels-not-resolved #:ldibmrt:llabels)) (push 'lambda) (push llink) (push dlink) (push cbindn) (stack dlink) (push (@ 104)) (push '#:ldibmrt:tagerr) (push dlink) (push tag) (stack dlink) 105 (btnil (& 41) 106) (mov '0 (cvalq #:ldibmrt:nwl)) (mov (cvalq #:ldibmrt:ecode) a2) (mov (cvalq #:ldibmrt:pccurrent) a1) (jcall gtadr) (btnil a1 108) (push (@ 109)) (mov '0 a4) (jmp outchan) 109 (eval ()) (push a1) (push (@ 110)) (push dlink) (push prot) (stack dlink) (push (@ 112)) (push nil) (mov '1 a4) (jmp outchan) 112 (eval ()) (push (@ 113)) (push (cvalq errfcod)) (mov '1 a4) (jmp print) 113 (eval ()) (mov nil a1) (mov '#:system:toplevel-tag a2) (jmp #:llcp:exit) (mov (& 1) dlink) (adjstk '3) (push a1) (mov (@ 111) a3) 110 (push a3) (push a2) (push (@ 114)) (push (& 4)) (mov '1 a4) (jmp outchan) 114 (eval ()) (pop a2) (pop a3) (pop a1) (bri a3) 111 (eval ()) (adjstk '1) 108 (mov (& 41) a1) (mov (cdr a1) (& 41)) (mov (car a1) a1) (call #:ldibmrt:ins) (btnil (cvalq #:ldibmrt:talkp) 105) (push (@ 117)) (mov '0 a4) (jmp terpri) 117 (eval ()) (bra 105) 106 (mov '(endl) a1) (call #:ldibmrt:ins) (push (@ 118)) (push (cvalq #:ldibmrt:pccurrent)) (mov '1 a4) (jmp #:system:ccode) 118 (eval ()) (mov (& 1) dlink) (adjstk '4) 104 (eval ()) (mov (& 1) dlink) (mov (& 6) (cvalq #:ldibmrt:llabels)) (mov (& 7) (cvalq #:ldibmrt:llabels-not-resolved)) (mov (& 8) (cvalq #:ldibmrt:fntname)) (mov (& 9) (cvalq #:ldibmrt:codop)) (mov (& 10) (cvalq #:ldibmrt:arg1)) (mov (& 11) (cvalq #:ldibmrt:arg2)) (mov (& 12) (cvalq #:ldibmrt:arg3)) (mov (& 13) (cvalq #:ldibmrt:localstack)) (mov (& 14) (cvalq #:ldibmrt:valaux)) (mov (& 15) (cvalq #:ldibmrt:nwl)) (mov (& 16) (cvalq #:ex:regret)) (mov (& 17) (cvalq #:ldibmrt:pccurrent)) (adjstk '30) (mov nil a1) (mov (& 1) dlink) (mov (& 2) llink) (mov (& 6) (cvalq #:ldibmrt:talkp)) (adjstk '8) (return) )) (if (neq (typefn '#:llcp:nlist) 'subr0) (progn (loader '((fentry #:llcp:nlist subr0) (pop a3) (mov nil a1) (bra 4) 3 (pop a2) (jcall xcons) 4 (sobgez a4 3) (bri a3) (fentry #:llcp:errwna subr2) (mov a2 a3) (mov 'errwna a2) (jmp error) (end)) ()))) (if (not (or (eq (typefn 'loaderesolve) 'expr) (get 'loaderesolve 'resetfn))) (progn (mapc (lambda (m) (when (typefn m) (remfn m) (remprop m '#:system:loaded-from-file))) (oblist 'ldibmrt)))) (loader '((end)))