(loader '((title |lapsparc.lo|)))
(if (not (>= (version) 15.2)) (progn (error 'load 'erricf 'lapsparc)))
(defvar #:sys-package:colon 'ldsparc)
(add-feature 'loader)
(defvar #:ldsparc:cause ())
(defvar #:ldsparc:31bitfloats (eq 0. 0.))
(if (not (boundp '#:ld:special-case-loader)) (progn (defvar #:ld:special-case-loader ())))
(defvar #:ld:shared-strings ())
(defvar #:ldsparc:making-fasl? nil)
(defvar #:ldsparc:ecode (subadr (#:system:ecode) 64))
(defvar #:ldsparc:mem-access '(val car cdr cval pname plist fval alink pkgc oval typ))
(defvar #:ldsparc:locnil (loc ()))
(defvar #:ldsparc:adrbvar (list 'adr (loc 'sys-package)))
(defvar #:ldsparc:entry-list ())
(defvar #:ldsparc:entries-not-resolved ())
(if (not (boundp '#:ldsparc:module)) (progn (defvar #:ldsparc:module ())))
(if (not (boundp '#:ldsparc:saved-by-loader)) (progn (defvar #:ldsparc:saved-by-loader ())))
(if (not (boundp '#:ldsparc:global-saved-by-loader)) (progn (defvar #:ldsparc:global-saved-by-loader '(#[#:ldsparc:lobj #:ldsparc:talkp #:ldsparc:pccurrent #:ldsparc:llabels #:ldsparc:llabels-not-resolved #:ldsparc:fntname #:ldsparc:codop #:ldsparc:arg1 #:ldsparc:arg2 #:ldsparc:arg3 #:ldsparc:localstack #:ldsparc:valaux #:ldsparc:f #:ldsparc:nwl obj obj1 obj2 obj3]))))
(loader'((entry #:ldsparc:getvalue subr1)
(push a1)
(bfnil a1 101)
(mov a1 a2)
(mov '#:ldsparc:getvalue a1)
(adjstk '1)
(bra #:ldsparc:error)
101
(bffix a1 103)
(adjstk '1)
(return)
103
(bfsymb a1 105)
(mov '#:ldsparc:value a2)
(jcall getprop)
(btnil a1 107)
(adjstk '1)
(bra #:ldsparc:getvalue)
107
(mov (& 0) a2)
(mov '#:ldsparc:getvalue a1)
(adjstk '1)
(bra #:ldsparc:error)
105
(mov a1 a2)
(mov '#:ldsparc:getvalue a1)
(adjstk '1)
(bra #:ldsparc:error)
))
(loader'((entry #:ldsparc:register? subr1)
(mov (cvalq #:ldsparc:registers) a2)
(jmp memq)
))
(loader'((entry #:ldsparc:floating-register? subr1)
(mov '(rf1 rf2 rf3) a2)
(jmp memq)
))
(defvar #:ldsparc:registers nil)
(setq #:ldsparc:registers (cons 'rzero #:ldsparc:registers))
(putprop 'rzero 0 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'fcons #:ldsparc:registers))
(putprop 'fcons 4 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'cres #:ldsparc:registers))
(putprop 'cres 8 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'x1 #:ldsparc:registers))
(putprop 'x1 8 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'x2 #:ldsparc:registers))
(putprop 'x2 9 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'x3 #:ldsparc:registers))
(putprop 'x3 10 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'x4 #:ldsparc:registers))
(putprop 'x4 11 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'x5 #:ldsparc:registers))
(putprop 'x5 12 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'x6 #:ldsparc:registers))
(putprop 'x6 13 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'csp #:ldsparc:registers))
(putprop 'csp 14 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'linkr #:ldsparc:registers))
(putprop 'linkr 15 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'short #:ldsparc:registers))
(putprop 'short 16 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'a1 #:ldsparc:registers))
(putprop 'a1 17 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'a2 #:ldsparc:registers))
(putprop 'a2 18 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'a3 #:ldsparc:registers))
(putprop 'a3 19 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'a4 #:ldsparc:registers))
(putprop 'a4 20 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rxfloat #:ldsparc:registers))
(putprop 'rxfloat 21 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'signbit #:ldsparc:registers))
(putprop 'signbit 22 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'sp #:ldsparc:registers))
(putprop 'sp 23 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'inarg1 #:ldsparc:registers))
(putprop 'inarg1 24 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'inarg2 #:ldsparc:registers))
(putprop 'inarg2 25 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'inarg3 #:ldsparc:registers))
(putprop 'inarg3 26 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'inarg4 #:ldsparc:registers))
(putprop 'inarg4 27 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rbfloat #:ldsparc:registers))
(putprop 'rbfloat 24 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rbvect #:ldsparc:registers))
(putprop 'rbvect 24 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rbstrg #:ldsparc:registers))
(putprop 'rbstrg 25 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'knil #:ldsparc:registers))
(putprop 'knil 26 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rbsymb #:ldsparc:registers))
(putprop 'rbsymb 26 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'nil #:ldsparc:registers))
(putprop 'nil 26 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rbcons #:ldsparc:registers))
(putprop 'rbcons 27 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rf0 #:ldsparc:registers))
(putprop 'rf0 0 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rf1 #:ldsparc:registers))
(putprop 'rf1 1 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rf2 #:ldsparc:registers))
(putprop 'rf2 2 '#:ldsparc:value)
(setq #:ldsparc:registers (cons 'rf3 #:ldsparc:registers))
(putprop 'rf3 3 '#:ldsparc:value)
(putprop 'car 0 '#:ldsparc:value)
(putprop 'cdr 4 '#:ldsparc:value)
(putprop 'cval 0 '#:ldsparc:value)
(putprop 'plist 4 '#:ldsparc:value)
(putprop 'fval 8 '#:ldsparc:value)
(putprop 'pkgc 12 '#:ldsparc:value)
(putprop 'oval 16 '#:ldsparc:value)
(putprop 'alink 20 '#:ldsparc:value)
(putprop 'pname 28 '#:ldsparc:value)
(putprop 'val 0 '#:ldsparc:value)
(putprop 'typ 4 '#:ldsparc:value)
(defvar #:ldsparc:code-bias 8)
(defvar #:ldsparc:test1 '((mov a1 a4)))
(defvar #:ldsparc:test2 '((mov '1 a1)))
(defvar #:ldsparc: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 #:ldsparc:format subr1)
(mov '#:ldsparc:format a2)
(jmp getprop)
))
(putprop '#:ldsparc:call 'call '#:ldsparc:format)
(putprop '#:ldsparc:call (logshift 1 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:call 1 '#:ldsparc:value)
(putprop '#:ldsparc:unimp 'branch '#:ldsparc:format)
(putprop '#:ldsparc:unimp (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimp (logshift 0 6) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented 'unimplemented '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented (logshift 1 6) '#:ldsparc:value)
(putprop '#:ldsparc:b 'branch '#:ldsparc:format)
(putprop '#:ldsparc:b (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:b (logshift 2 6) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented 'unimplemented '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented (logshift 3 6) '#:ldsparc:value)
(putprop '#:ldsparc:sethi 'sethi '#:ldsparc:format)
(putprop '#:ldsparc:sethi (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sethi (logshift 4 6) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented 'unimplemented '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented (logshift 5 6) '#:ldsparc:value)
(putprop '#:ldsparc:fb 'branch '#:ldsparc:format)
(putprop '#:ldsparc:fb (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:fb (logshift 6 6) '#:ldsparc:value)
(putprop '#:ldsparc:cb 'branch '#:ldsparc:format)
(putprop '#:ldsparc:cb (logshift 0 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:cb (logshift 7 6) '#:ldsparc:value)
(putprop '#:ldsparc:n (logshift 0 9) '#:ldsparc:value)
(putprop '#:ldsparc:e (logshift 1 9) '#:ldsparc:value)
(putprop '#:ldsparc:le (logshift 2 9) '#:ldsparc:value)
(putprop '#:ldsparc:l (logshift 3 9) '#:ldsparc:value)
(putprop '#:ldsparc:leu (logshift 4 9) '#:ldsparc:value)
(putprop '#:ldsparc:cs (logshift 5 9) '#:ldsparc:value)
(putprop '#:ldsparc:neg (logshift 6 9) '#:ldsparc:value)
(putprop '#:ldsparc:vs (logshift 7 9) '#:ldsparc:value)
(putprop '#:ldsparc:a (logshift 8 9) '#:ldsparc:value)
(putprop '#:ldsparc:ne (logshift 9 9) '#:ldsparc:value)
(putprop '#:ldsparc:g (logshift 10 9) '#:ldsparc:value)
(putprop '#:ldsparc:ge (logshift 11 9) '#:ldsparc:value)
(putprop '#:ldsparc:gu (logshift 12 9) '#:ldsparc:value)
(putprop '#:ldsparc:cc (logshift 13 9) '#:ldsparc:value)
(putprop '#:ldsparc:pos (logshift 14 9) '#:ldsparc:value)
(putprop '#:ldsparc:vc (logshift 15 9) '#:ldsparc:value)
(putprop '#:ldsparc:f-ne (logshift 1 9) '#:ldsparc:value)
(putprop '#:ldsparc:f-l (logshift 4 9) '#:ldsparc:value)
(putprop '#:ldsparc:f-g (logshift 6 9) '#:ldsparc:value)
(putprop '#:ldsparc:f-e (logshift 9 9) '#:ldsparc:value)
(putprop '#:ldsparc:f-ge (logshift 11 9) '#:ldsparc:value)
(putprop '#:ldsparc:f-le (logshift 13 9) '#:ldsparc:value)
(putprop '#:ldsparc:add-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:add-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:add 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:add (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:add-simm13 (logshift 0 3) '#:ldsparc:value)
(putprop '#:ldsparc:add (logshift 0 3) '#:ldsparc:value)
(putprop '#:ldsparc:and-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:and-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:and 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:and (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:and-simm13 (logshift 1 3) '#:ldsparc:value)
(putprop '#:ldsparc:and (logshift 1 3) '#:ldsparc:value)
(putprop '#:ldsparc:or-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:or-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:or 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:or (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:or-simm13 (logshift 2 3) '#:ldsparc:value)
(putprop '#:ldsparc:or (logshift 2 3) '#:ldsparc:value)
(putprop '#:ldsparc:xor-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:xor-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xor 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:xor (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xor-simm13 (logshift 3 3) '#:ldsparc:value)
(putprop '#:ldsparc:xor (logshift 3 3) '#:ldsparc:value)
(putprop '#:ldsparc:sub-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:sub-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sub 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:sub (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sub-simm13 (logshift 4 3) '#:ldsparc:value)
(putprop '#:ldsparc:sub (logshift 4 3) '#:ldsparc:value)
(putprop '#:ldsparc:andn-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:andn-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:andn 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:andn (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:andn-simm13 (logshift 5 3) '#:ldsparc:value)
(putprop '#:ldsparc:andn (logshift 5 3) '#:ldsparc:value)
(putprop '#:ldsparc:orn-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:orn-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:orn 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:orn (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:orn-simm13 (logshift 6 3) '#:ldsparc:value)
(putprop '#:ldsparc:orn (logshift 6 3) '#:ldsparc:value)
(putprop '#:ldsparc:xnor-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:xnor-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xnor 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:xnor (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xnor-simm13 (logshift 7 3) '#:ldsparc:value)
(putprop '#:ldsparc:xnor (logshift 7 3) '#:ldsparc:value)
(putprop '#:ldsparc:addx-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:addx-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:addx 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:addx (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:addx-simm13 (logshift 8 3) '#:ldsparc:value)
(putprop '#:ldsparc:addx (logshift 8 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 9 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 9 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 10 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 10 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 11 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 11 3) '#:ldsparc:value)
(putprop '#:ldsparc:subx-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:subx-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:subx 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:subx (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:subx-simm13 (logshift 12 3) '#:ldsparc:value)
(putprop '#:ldsparc:subx (logshift 12 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 13 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 13 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 14 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 14 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 15 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 15 3) '#:ldsparc:value)
(putprop '#:ldsparc:addcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:addcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:addcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:addcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:addcc-simm13 (logshift 16 3) '#:ldsparc:value)
(putprop '#:ldsparc:addcc (logshift 16 3) '#:ldsparc:value)
(putprop '#:ldsparc:andcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:andcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:andcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:andcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:andcc-simm13 (logshift 17 3) '#:ldsparc:value)
(putprop '#:ldsparc:andcc (logshift 17 3) '#:ldsparc:value)
(putprop '#:ldsparc:orcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:orcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:orcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:orcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:orcc-simm13 (logshift 18 3) '#:ldsparc:value)
(putprop '#:ldsparc:orcc (logshift 18 3) '#:ldsparc:value)
(putprop '#:ldsparc:xorcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:xorcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xorcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:xorcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xorcc-simm13 (logshift 19 3) '#:ldsparc:value)
(putprop '#:ldsparc:xorcc (logshift 19 3) '#:ldsparc:value)
(putprop '#:ldsparc:subcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:subcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:subcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:subcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:subcc-simm13 (logshift 20 3) '#:ldsparc:value)
(putprop '#:ldsparc:subcc (logshift 20 3) '#:ldsparc:value)
(putprop '#:ldsparc:andncc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:andncc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:andncc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:andncc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:andncc-simm13 (logshift 21 3) '#:ldsparc:value)
(putprop '#:ldsparc:andncc (logshift 21 3) '#:ldsparc:value)
(putprop '#:ldsparc:orncc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:orncc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:orncc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:orncc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:orncc-simm13 (logshift 22 3) '#:ldsparc:value)
(putprop '#:ldsparc:orncc (logshift 22 3) '#:ldsparc:value)
(putprop '#:ldsparc:xnorcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:xnorcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xnorcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:xnorcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:xnorcc-simm13 (logshift 23 3) '#:ldsparc:value)
(putprop '#:ldsparc:xnorcc (logshift 23 3) '#:ldsparc:value)
(putprop '#:ldsparc:addxcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:addxcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:addxcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:addxcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:addxcc-simm13 (logshift 24 3) '#:ldsparc:value)
(putprop '#:ldsparc:addxcc (logshift 24 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 25 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 25 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 26 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 26 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 27 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 27 3) '#:ldsparc:value)
(putprop '#:ldsparc:subxcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:subxcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:subxcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:subxcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:subxcc-simm13 (logshift 28 3) '#:ldsparc:value)
(putprop '#:ldsparc:subxcc (logshift 28 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 29 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 29 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 30 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 30 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 31 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 31 3) '#:ldsparc:value)
(putprop '#:ldsparc:taddcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:taddcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:taddcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:taddcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:taddcc-simm13 (logshift 32 3) '#:ldsparc:value)
(putprop '#:ldsparc:taddcc (logshift 32 3) '#:ldsparc:value)
(putprop '#:ldsparc:tsubcc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:tsubcc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:tsubcc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:tsubcc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:tsubcc-simm13 (logshift 33 3) '#:ldsparc:value)
(putprop '#:ldsparc:tsubcc (logshift 33 3) '#:ldsparc:value)
(putprop '#:ldsparc:taddcctv-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:taddcctv-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:taddcctv 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:taddcctv (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:taddcctv-simm13 (logshift 34 3) '#:ldsparc:value)
(putprop '#:ldsparc:taddcctv (logshift 34 3) '#:ldsparc:value)
(putprop '#:ldsparc:tsubcctv-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:tsubcctv-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:tsubcctv 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:tsubcctv (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:tsubcctv-simm13 (logshift 35 3) '#:ldsparc:value)
(putprop '#:ldsparc:tsubcctv (logshift 35 3) '#:ldsparc:value)
(putprop '#:ldsparc:mulscc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:mulscc-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:mulscc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:mulscc (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:mulscc-simm13 (logshift 36 3) '#:ldsparc:value)
(putprop '#:ldsparc:mulscc (logshift 36 3) '#:ldsparc:value)
(putprop '#:ldsparc:sll-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:sll-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sll 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:sll (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sll-simm13 (logshift 37 3) '#:ldsparc:value)
(putprop '#:ldsparc:sll (logshift 37 3) '#:ldsparc:value)
(putprop '#:ldsparc:srl-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:srl-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:srl 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:srl (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:srl-simm13 (logshift 38 3) '#:ldsparc:value)
(putprop '#:ldsparc:srl (logshift 38 3) '#:ldsparc:value)
(putprop '#:ldsparc:sra-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:sra-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sra 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:sra (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sra-simm13 (logshift 39 3) '#:ldsparc:value)
(putprop '#:ldsparc:sra (logshift 39 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdy-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:rdy-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdy 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:rdy (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdy-simm13 (logshift 40 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdy (logshift 40 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdpsr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:rdpsr-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdpsr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:rdpsr (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdpsr-simm13 (logshift 41 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdpsr (logshift 41 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdwim-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:rdwim-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdwim 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:rdwim (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdwim-simm13 (logshift 42 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdwim (logshift 42 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdtbr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:rdtbr-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdtbr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:rdtbr (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rdtbr-simm13 (logshift 43 3) '#:ldsparc:value)
(putprop '#:ldsparc:rdtbr (logshift 43 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 44 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 44 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 45 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 45 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 46 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 46 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 47 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 47 3) '#:ldsparc:value)
(putprop '#:ldsparc:wry-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:wry-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wry 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:wry (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wry-simm13 (logshift 48 3) '#:ldsparc:value)
(putprop '#:ldsparc:wry (logshift 48 3) '#:ldsparc:value)
(putprop '#:ldsparc:wrpsr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:wrpsr-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wrpsr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:wrpsr (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wrpsr-simm13 (logshift 49 3) '#:ldsparc:value)
(putprop '#:ldsparc:wrpsr (logshift 49 3) '#:ldsparc:value)
(putprop '#:ldsparc:wrwim-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:wrwim-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wrwim 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:wrwim (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wrwim-simm13 (logshift 50 3) '#:ldsparc:value)
(putprop '#:ldsparc:wrwim (logshift 50 3) '#:ldsparc:value)
(putprop '#:ldsparc:wrtbr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:wrtbr-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wrtbr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:wrtbr (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:wrtbr-simm13 (logshift 51 3) '#:ldsparc:value)
(putprop '#:ldsparc:wrtbr (logshift 51 3) '#:ldsparc:value)
(putprop '#:ldsparc:fpop 'fpop '#:ldsparc:format)
(putprop '#:ldsparc:fpop (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:fpop (logshift 52 3) '#:ldsparc:value)
(putprop '#:ldsparc:fpop2 'fpop '#:ldsparc:format)
(putprop '#:ldsparc:fpop2 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:fpop2 (logshift 53 3) '#:ldsparc:value)
(putprop '#:ldsparc:cpop1-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:cpop1-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:cpop1 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:cpop1 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:cpop1-simm13 (logshift 54 3) '#:ldsparc:value)
(putprop '#:ldsparc:cpop1 (logshift 54 3) '#:ldsparc:value)
(putprop '#:ldsparc:cpop2-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:cpop2-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:cpop2 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:cpop2 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:cpop2-simm13 (logshift 55 3) '#:ldsparc:value)
(putprop '#:ldsparc:cpop2 (logshift 55 3) '#:ldsparc:value)
(putprop '#:ldsparc:jmpl-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:jmpl-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:jmpl 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:jmpl (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:jmpl-simm13 (logshift 56 3) '#:ldsparc:value)
(putprop '#:ldsparc:jmpl (logshift 56 3) '#:ldsparc:value)
(putprop '#:ldsparc:rett-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:rett-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rett 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:rett (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:rett-simm13 (logshift 57 3) '#:ldsparc:value)
(putprop '#:ldsparc:rett (logshift 57 3) '#:ldsparc:value)
(putprop '#:ldsparc:t-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:t-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:t 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:t (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:t-simm13 (logshift 58 3) '#:ldsparc:value)
(putprop '#:ldsparc:t (logshift 58 3) '#:ldsparc:value)
(putprop '#:ldsparc:iflush-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:iflush-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:iflush 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:iflush (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:iflush-simm13 (logshift 59 3) '#:ldsparc:value)
(putprop '#:ldsparc:iflush (logshift 59 3) '#:ldsparc:value)
(putprop '#:ldsparc:save-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:save-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:save 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:save (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:save-simm13 (logshift 60 3) '#:ldsparc:value)
(putprop '#:ldsparc:save (logshift 60 3) '#:ldsparc:value)
(putprop '#:ldsparc:restore-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:restore-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:restore 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:restore (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:restore-simm13 (logshift 61 3) '#:ldsparc:value)
(putprop '#:ldsparc:restore (logshift 61 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 62 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 62 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 2 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 63 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 63 3) '#:ldsparc:value)
(putprop '#:ldsparc:ld-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ld-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ld 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ld (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ld-simm13 (logshift 0 3) '#:ldsparc:value)
(putprop '#:ldsparc:ld (logshift 0 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldub-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldub-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldub 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldub (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldub-simm13 (logshift 1 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldub (logshift 1 3) '#:ldsparc:value)
(putprop '#:ldsparc:lduh-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:lduh-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lduh 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:lduh (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lduh-simm13 (logshift 2 3) '#:ldsparc:value)
(putprop '#:ldsparc:lduh (logshift 2 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldd-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldd-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldd 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldd (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldd-simm13 (logshift 3 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldd (logshift 3 3) '#:ldsparc:value)
(putprop '#:ldsparc:st-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:st-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:st 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:st (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:st-simm13 (logshift 4 3) '#:ldsparc:value)
(putprop '#:ldsparc:st (logshift 4 3) '#:ldsparc:value)
(putprop '#:ldsparc:stb-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stb-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stb 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stb (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stb-simm13 (logshift 5 3) '#:ldsparc:value)
(putprop '#:ldsparc:stb (logshift 5 3) '#:ldsparc:value)
(putprop '#:ldsparc:sth-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:sth-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sth 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:sth (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sth-simm13 (logshift 6 3) '#:ldsparc:value)
(putprop '#:ldsparc:sth (logshift 6 3) '#:ldsparc:value)
(putprop '#:ldsparc:std-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:std-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:std 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:std (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:std-simm13 (logshift 7 3) '#:ldsparc:value)
(putprop '#:ldsparc:std (logshift 7 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 8 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 8 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldsb-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldsb-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldsb 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldsb (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldsb-simm13 (logshift 9 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldsb (logshift 9 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldsh-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldsh-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldsh 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldsh (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldsh-simm13 (logshift 10 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldsh (logshift 10 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 11 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 11 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 12 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 12 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldstub-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldstub-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldstub 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldstub (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldstub-simm13 (logshift 13 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldstub (logshift 13 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 14 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 14 3) '#:ldsparc:value)
(putprop '#:ldsparc:swap-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:swap-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:swap 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:swap (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:swap-simm13 (logshift 15 3) '#:ldsparc:value)
(putprop '#:ldsparc:swap (logshift 15 3) '#:ldsparc:value)
(putprop '#:ldsparc:lda-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:lda-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lda 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:lda (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lda-simm13 (logshift 16 3) '#:ldsparc:value)
(putprop '#:ldsparc:lda (logshift 16 3) '#:ldsparc:value)
(putprop '#:ldsparc:lduba-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:lduba-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lduba 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:lduba (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lduba-simm13 (logshift 17 3) '#:ldsparc:value)
(putprop '#:ldsparc:lduba (logshift 17 3) '#:ldsparc:value)
(putprop '#:ldsparc:lduha-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:lduha-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lduha 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:lduha (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lduha-simm13 (logshift 18 3) '#:ldsparc:value)
(putprop '#:ldsparc:lduha (logshift 18 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldda-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldda-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldda 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldda (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldda-simm13 (logshift 19 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldda (logshift 19 3) '#:ldsparc:value)
(putprop '#:ldsparc:sta-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:sta-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sta 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:sta (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sta-simm13 (logshift 20 3) '#:ldsparc:value)
(putprop '#:ldsparc:sta (logshift 20 3) '#:ldsparc:value)
(putprop '#:ldsparc:stba-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stba-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stba 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stba (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stba-simm13 (logshift 21 3) '#:ldsparc:value)
(putprop '#:ldsparc:stba (logshift 21 3) '#:ldsparc:value)
(putprop '#:ldsparc:stha-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stha-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stha 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stha (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stha-simm13 (logshift 22 3) '#:ldsparc:value)
(putprop '#:ldsparc:stha (logshift 22 3) '#:ldsparc:value)
(putprop '#:ldsparc:stda-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stda-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stda 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stda (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stda-simm13 (logshift 23 3) '#:ldsparc:value)
(putprop '#:ldsparc:stda (logshift 23 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 24 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 24 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldsba-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldsba-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldsba 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldsba (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldsba-simm13 (logshift 25 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldsba (logshift 25 3) '#:ldsparc:value)
(putprop '#:ldsparc:sdsha-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:sdsha-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sdsha 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:sdsha (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:sdsha-simm13 (logshift 26 3) '#:ldsparc:value)
(putprop '#:ldsparc:sdsha (logshift 26 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 27 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 27 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 28 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 28 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldstuba-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldstuba-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldstuba 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldstuba (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldstuba-simm13 (logshift 29 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldstuba (logshift 29 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 30 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 30 3) '#:ldsparc:value)
(putprop '#:ldsparc:swapa-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:swapa-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:swapa 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:swapa (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:swapa-simm13 (logshift 31 3) '#:ldsparc:value)
(putprop '#:ldsparc:swapa (logshift 31 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldf-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldf-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldf 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldf (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldf-simm13 (logshift 32 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldf (logshift 32 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldfsr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldfsr-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldfsr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldfsr (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldfsr-simm13 (logshift 33 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldfsr (logshift 33 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 34 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 34 3) '#:ldsparc:value)
(putprop '#:ldsparc:lddf-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:lddf-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lddf 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:lddf (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lddf-simm13 (logshift 35 3) '#:ldsparc:value)
(putprop '#:ldsparc:lddf (logshift 35 3) '#:ldsparc:value)
(putprop '#:ldsparc:stf-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stf-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stf 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stf (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stf-simm13 (logshift 36 3) '#:ldsparc:value)
(putprop '#:ldsparc:stf (logshift 36 3) '#:ldsparc:value)
(putprop '#:ldsparc:stfsr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stfsr-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stfsr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stfsr (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stfsr-simm13 (logshift 37 3) '#:ldsparc:value)
(putprop '#:ldsparc:stfsr (logshift 37 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdfq-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stdfq-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdfq 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stdfq (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdfq-simm13 (logshift 38 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdfq (logshift 38 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdf-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stdf-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdf 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stdf (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdf-simm13 (logshift 39 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdf (logshift 39 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldc-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldc (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldc-simm13 (logshift 48 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldc (logshift 48 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldcsr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:ldcsr-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldcsr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:ldcsr (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:ldcsr-simm13 (logshift 49 3) '#:ldsparc:value)
(putprop '#:ldsparc:ldcsr (logshift 49 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:unimplemented (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:unimplemented-simm13 (logshift 50 3) '#:ldsparc:value)
(putprop '#:ldsparc:unimplemented (logshift 50 3) '#:ldsparc:value)
(putprop '#:ldsparc:lddc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:lddc-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lddc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:lddc (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:lddc-simm13 (logshift 51 3) '#:ldsparc:value)
(putprop '#:ldsparc:lddc (logshift 51 3) '#:ldsparc:value)
(putprop '#:ldsparc:stc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stc-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stc (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stc-simm13 (logshift 52 3) '#:ldsparc:value)
(putprop '#:ldsparc:stc (logshift 52 3) '#:ldsparc:value)
(putprop '#:ldsparc:stcsr-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stcsr-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stcsr 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stcsr (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stcsr-simm13 (logshift 53 3) '#:ldsparc:value)
(putprop '#:ldsparc:stcsr (logshift 53 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdcq-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stdcq-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdcq 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stdcq (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdcq-simm13 (logshift 54 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdcq (logshift 54 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdc-simm13 'simm13 '#:ldsparc:format)
(putprop '#:ldsparc:stdc-simm13 (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdc 'i2reg '#:ldsparc:format)
(putprop '#:ldsparc:stdc (logshift 3 14) '#:ldsparc:format-type)
(putprop '#:ldsparc:stdc-simm13 (logshift 55 3) '#:ldsparc:value)
(putprop '#:ldsparc:stdc (logshift 55 3) '#:ldsparc:value)
(putprop '#:ldsparc:fmovs (logshift 1 5) '#:ldsparc:value)
(putprop '#:ldsparc:fnegs (logshift 5 5) '#:ldsparc:value)
(putprop '#:ldsparc:fabss (logshift 9 5) '#:ldsparc:value)
(putprop '#:ldsparc:fsqrts (logshift 41 5) '#:ldsparc:value)
(putprop '#:ldsparc:fadds (logshift 65 5) '#:ldsparc:value)
(putprop '#:ldsparc:fsubs (logshift 69 5) '#:ldsparc:value)
(putprop '#:ldsparc:fmuls (logshift 73 5) '#:ldsparc:value)
(putprop '#:ldsparc:fdivs (logshift 77 5) '#:ldsparc:value)
(putprop '#:ldsparc:fdtos (logshift 196 5) '#:ldsparc:value)
(putprop '#:ldsparc:fstod (logshift 201 5) '#:ldsparc:value)
(putprop '#:ldsparc:fcmps (logshift 81 5) '#:ldsparc:value)
(defvar #:ldsparc:floatcompare)
((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 floatcompare))
(loader'((entry #:ldsparc: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 #:ldsparc:ins subr1)
(push a1)
(btnil (cvalq #:ldsparc: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 #:ldsparc:pccurrent) a1)
(call #:ldsparc: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 #:ldsparc:pccurrent) a1)
(jcall copylist)
(mov a1 a2)
(mov (& 0) a1)
(jcall cons)
(mov (cvalq #:ldsparc:llabels) a2)
(jcall cons)
(mov a1 (cvalq #:ldsparc:llabels))
(mov (& 0) a1)
(adjstk '1)
(bra #:ldsparc:solve-label)
116
(mov (& 0) a4)
(mov (car a4) (cvalq #:ldsparc:codop))
(mov (cdr a4) a4)
(mov (car a4) (cvalq #:ldsparc:arg1))
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov (cdr a4) a4)
(mov (car a4) (cvalq #:ldsparc:arg2))
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov (cdr a4) a4)
(mov (cdr a4) a4)
(mov (car a4) (cvalq #:ldsparc:arg3))
(mov '0 (cvalq #:ldsparc:localstack))
(mov (cvalq #:ldsparc:codop) a1)
(cabne a1 'abort 119)
(mov nil a1)
(adjstk '1)
(return)
119
(cabne a1 'entry 120)
(push (@ 121))
(push (cvalq #:ldsparc:arg1))
(mov (cvalq #:ldsparc: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 #:ldsparc:error)
(mov a1 a3)
123
(push a3)
(push (cvalq #:ldsparc:arg3))
(mov '3 a4)
(jmp list)
121
(eval ())
(mov (cvalq #:ldsparc:entry-list) a2)
(jcall cons)
(mov a1 (cvalq #:ldsparc:entry-list))
(mov (cvalq #:ldsparc:arg1) a1)
(call #:ldsparc:solventry)
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall copylist)
(mov '#:ldsparc:fval a3)
(mov a1 a2)
(mov (cvalq #:ldsparc:arg1) a1)
(jcall putprop)
(mov (cvalq #:ldsparc:arg1) (cvalq #:ldsparc:fntname))
(mov (cvalq #:ldsparc:arg1) a1)
(adjstk '1)
(return)
120
(cabne a1 'endl 125)
(btnil (cvalq #:ldsparc:talkp) 127)
(push (@ 128))
(mov '0 a4)
(jmp terpri)
128
(eval ())
127
(btnil (cvalq #:ldsparc:llabels-not-resolved) 129)
(mov (cvalq #:ldsparc:llabels-not-resolved) a2)
(mov '"references locales non resolues" a1)
(adjstk '1)
(bra #:ldsparc:error)
129
(mov nil a1)
(adjstk '1)
(return)
125
(cabne a1 'end 131)
(mov '(endl) a1)
(call #:ldsparc:ins)
(btnil (cvalq #:ldsparc:making-fasl?) 133)
(call #:ldsparc:fasl-write-block)
133
(btnil (cvalq #:ldsparc:entries-not-resolved) 136)
(mov (cvalq #:ldsparc:entries-not-resolved) a2)
(mov '"Il reste des ENTRY non resolus " a1)
(call #:ldsparc:error)
136
(btnil (cvalq #:ldsparc:entry-list) 137)
(mov (cvalq #:ldsparc:entry-list) a1)
(mov (car a1) a1)
(mov '#:ldsparc:fval a2)
(mov (car a1) a1)
(jcall remprop)
(mov (cvalq #:ldsparc:entry-list) a1)
(mov (car a1) a1)
(mov '#:llcp:ftype a2)
(mov (car a1) a1)
(jcall remprop)
(mov (cvalq #:ldsparc:entry-list) a1)
(mov (car a1) a1)
(mov '#:llcp:fval a2)
(mov (car a1) a1)
(jcall remprop)
(mov (cvalq #:ldsparc:entry-list) a1)
(mov (car a1) a1)
(mov '#:system:loaded-from-file a2)
(mov (car a1) a1)
(jcall remprop)
(mov (cvalq #:ldsparc:entry-list) a4)
(mov (cdr a4) (cvalq #:ldsparc:entry-list))
(bra 136)
137
(btnil (cvalq #:ld:special-case-loader) 139)
140
(bfcons (cvalq #:ld:special-case-loader) 139)
(mov (cvalq #:ld:special-case-loader) a4)
(bfcons (car a4) 139)
(push (@ 142))
(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)
142
(eval ())
(bra 140)
139
(adjstk '1)
(bra #:ldsparc:clean-llitt)
131
(cabne a1 'eval 143)
(btnil (cvalq #:ldsparc:making-fasl?) 144)
(mov (cvalq #:ldsparc:arg1) a1)
(adjstk '1)
(bra #:ldsparc:fasl-emit-eval-block)
144
(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 (@ 146))
(push '#:system:error-tag)
(push dlink)
(push tag)
(stack dlink)
(push (@ 147))
(push (cvalq #:ldsparc:arg1))
(mov '1 a4)
(jmp eval)
147
(eval ())
(jcall ncons)
(mov (& 1) dlink)
(adjstk '4)
146
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:system:error-flag))
(adjstk '9)
(return)
143
(cabne a1 'fentry 148)
(mov '#:system:loaded-from-file a2)
(mov (cvalq #:ldsparc:arg1) a1)
(jcall remprop)
(mov (cvalq #:ldsparc:pccurrent) (cvalq #:ldsparc:valaux))
(btnil (cvalq #:ld:special-case-loader) 149)
(push (@ 151))
(push (cvalq #:ldsparc:arg1))
(push (cvalq #:ldsparc:arg2))
(mov (cvalq #:ldsparc:code-bias) a2)
(mov (cvalq #:ldsparc:valaux) a1)
(call #:ldsparc:sa)
(push a1)
(mov '3 a4)
(jmp list)
151
(eval ())
(mov (cvalq #:ld:special-case-loader) a2)
(jcall cons)
(mov a1 (cvalq #:ld:special-case-loader))
(bra 150)
149
(btnil (cvalq #:ldsparc:making-fasl?) 152)
(call #:ldsparc:alignd)
(mov (cvalq #:ldsparc:arg2) a2)
(mov (cvalq #:ldsparc:arg1) a1)
(call #:ldsparc:fasl-record-fentry)
(bra 150)
152
(mov '#:llcp:ftype a2)
(mov (cvalq #:ldsparc:arg1) a1)
(jcall remprop)
(mov '#:llcp:fval a2)
(mov (cvalq #:ldsparc:arg1) a1)
(jcall remprop)
(mov (cvalq #:ldsparc:code-bias) a2)
(mov (cvalq #:ldsparc:valaux) a1)
(call #:ldsparc:sa)
(mov a1 a3)
(mov (cvalq #:ldsparc:arg2) a2)
(mov (cvalq #:ldsparc:arg1) a1)
(jcall setfn)
150
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall copylist)
(mov a1 a2)
(mov (cvalq #:ldsparc:arg1) a1)
(jcall cons)
(mov (cvalq #:ldsparc:llabels) a2)
(jcall cons)
(mov a1 (cvalq #:ldsparc:llabels))
(mov (cvalq #:ldsparc:arg1) (cvalq #:ldsparc:fntname))
(mov (cvalq #:ldsparc:arg1) a1)
(adjstk '1)
(return)
148
(cabne a1 'local 154)
(mov (cvalq #:ldsparc:arg1) a1)
(jcall ncons)
(mov (cvalq #:ldsparc:llabels) a2)
(jcall cons)
(mov a1 (cvalq #:ldsparc:llabels))
(adjstk '1)
(return)
154
(cabne a1 'title 155)
(mov (cvalq #:ldsparc:arg1) (cvalq #:ldsparc:module))
(mov (cvalq #:ldsparc:arg1) a1)
(adjstk '1)
(return)
155
(mov (& 0) a1)
(adjstk '1)
(bra #:ldsparc:machins)
))
(loader'((entry #:ldsparc: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 #:ldsparc:register?)
(btnil a1 103)
(mov (cvalq obj2) a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movsrc)
(bra 101)
103
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov (cvalq obj2) a2)
(call #:ldsparc:movdest)
(bra 101)
102
(cabne a1 'push 105)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov a1 (cvalq obj1))
(push (@ 106))
(push '#:ldsparc:sub-simm13)
(push 'sp)
(push '4)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
106
(eval ())
(mov 'sp a3)
(mov '0 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:store32disp)
(bra 101)
105
(cabne a1 'jcall 107)
(push (@ 108))
(push '#:ldsparc:sub-simm13)
(push 'sp)
(push '4)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
108
(eval ())
(push (@ 109))
(push '#:ldsparc:jmpl-simm13)
(push (@ 110))
(push 'fvalq)
(push (cvalq obj1))
(mov '2 a4)
(jmp list)
110
(eval ())
(mov 'linkr a2)
(call #:ldsparc:movsrc)
(push a1)
(push (cvalq #:ldsparc:code-bias))
(push 'linkr)
(mov '4 a4)
(bra #:ldsparc:inst)
109
(eval ())
(mov 'sp a3)
(mov '0 a2)
(mov 'linkr a1)
(call #:ldsparc:store32disp)
(bra 101)
107
(cabne a1 'jmp 111)
(push (@ 112))
(push 'fvalq)
(push (cvalq obj1))
(mov '2 a4)
(jmp list)
112
(eval ())
(mov 'linkr a2)
(call #:ldsparc:movsrc)
(push (@ 113))
(push '#:ldsparc:jmpl-simm13)
(push 'linkr)
(push (cvalq #:ldsparc:code-bias))
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
113
(eval ())
(call #:ldsparc:nop)
(bra 101)
111
(cabne a1 'car 114)
(mov 'car a1)
(call #:ldsparc:getvalue)
(mov (cvalq obj1) a3)
(mov a1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:load32disp)
(bra 101)
114
(cabne a1 'cdr 115)
(mov 'cdr a1)
(call #:ldsparc:getvalue)
(mov (cvalq obj1) a3)
(mov a1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:load32disp)
(bra 101)
115
(cabne a1 'cabne 116)
(push (@ 117))
(push '#:ldsparc:b)
(push '#:ldsparc:ne)
(push (cvalq obj1))
(push (cvalq obj2))
(push (cvalq obj3))
(mov '5 a4)
(bra #:ldsparc:compare-and-branch)
117
(eval ())
(call #:ldsparc:nop)
(bra 101)
116
(cabne a1 'return 118)
(mov 'x4 a3)
(mov '0 a2)
(mov 'sp a1)
(call #:ldsparc:load32disp)
(push (@ 119))
(push '#:ldsparc:jmpl-simm13)
(push 'x4)
(push '8)
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
119
(eval ())
(push (@ 120))
(push '#:ldsparc:add-simm13)
(push 'sp)
(push '4)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
120
(eval ())
(bra 101)
118
(cabne a1 'bra 121)
(push (@ 122))
(push '#:ldsparc:b)
(push '#:ldsparc:a)
(push (cvalq obj1))
(push (cvalq #:ldsparc:annul))
(mov '4 a4)
(bra #:ldsparc:branch)
122
(eval ())
(bra 101)
121
(cabne a1 'btnil 123)
(mov '#:ldsparc:e a2)
(mov 'knil a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
123
(cabne a1 'cabeq 124)
(push (@ 125))
(push '#:ldsparc:b)
(push '#:ldsparc:e)
(push (cvalq obj1))
(push (cvalq obj2))
(push (cvalq obj3))
(mov '5 a4)
(bra #:ldsparc:compare-and-branch)
125
(eval ())
(call #:ldsparc:nop)
(bra 101)
124
(cabne a1 'pop 126)
(mov (cvalq obj1) a1)
(call #:ldsparc:register?)
(btnil a1 127)
(mov (cvalq obj1) a3)
(mov '0 a2)
(mov 'sp a1)
(call #:ldsparc:load32disp)
(push (@ 129))
(push '#:ldsparc:add-simm13)
(push 'sp)
(push '4)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
129
(eval ())
(bra 101)
127
(mov 'x1 a3)
(mov '0 a2)
(mov 'sp a1)
(call #:ldsparc:load32disp)
(push (@ 130))
(push '#:ldsparc:add-simm13)
(push 'sp)
(push '4)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
130
(eval ())
(mov (cvalq obj1) a2)
(mov 'x1 a1)
(call #:ldsparc:movdest)
(bra 101)
126
(cabne a1 'bfnil 131)
(mov '#:ldsparc:ne a2)
(mov 'knil a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
131
(cabne a1 'btcons 132)
(mov '#:ldsparc:ge a2)
(mov 'rbcons a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
132
(cabne a1 'bfcons 133)
(mov '#:ldsparc:l a2)
(mov 'rbcons a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
133
(cabne a1 'btfix 134)
(btnil (cvalq #:ldsparc:31bitfloats) 135)
(mov 'rbfloat a2)
(mov ''0 a1)
(call #:ldsparc:branch-if-inside-range)
(bra 101)
135
(mov '#:ldsparc:l a2)
(mov 'rbfloat a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
134
(cabne a1 'bffix 137)
(btnil (cvalq #:ldsparc:31bitfloats) 138)
(mov 'rbfloat a2)
(mov ''0 a1)
(call #:ldsparc:branch-if-outside-range)
(bra 101)
138
(mov '#:ldsparc:ge a2)
(mov 'rbfloat a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
137
(cabne a1 'btfloat 140)
(mov '#:ldsparc:l a2)
(mov ''0 a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
140
(cabne a1 'bffloat 141)
(mov '#:ldsparc:ge a2)
(mov ''0 a1)
(call #:ldsparc:compare-single-bound)
(bra 101)
141
(cabne a1 'btstrg 142)
(mov 'rbsymb a2)
(mov 'rbstrg a1)
(call #:ldsparc:branch-if-inside-range)
(bra 101)
142
(cabne a1 'bfstrg 143)
(mov 'rbsymb a2)
(mov 'rbstrg a1)
(call #:ldsparc:branch-if-outside-range)
(bra 101)
143
(cabne a1 'btvect 144)
(mov 'rbstrg a2)
(mov 'rbvect a1)
(call #:ldsparc:branch-if-inside-range)
(bra 101)
144
(cabne a1 'bfvect 145)
(mov 'rbstrg a2)
(mov 'rbvect a1)
(call #:ldsparc:branch-if-outside-range)
(bra 101)
145
(cabne a1 'btsymb 146)
(mov 'rbcons a2)
(mov 'rbsymb a1)
(call #:ldsparc:branch-if-inside-range)
(bra 101)
146
(cabne a1 'bfsymb 147)
(mov 'rbcons a2)
(mov 'rbsymb a1)
(call #:ldsparc:branch-if-outside-range)
(bra 101)
147
(cabne a1 'btvar 148)
(mov 'rbcons a2)
(mov (cvalq #:ldsparc:adrbvar) a1)
(call #:ldsparc:branch-if-inside-range)
(bra 101)
148
(cabne a1 'bfvar 149)
(mov 'rbcons a2)
(mov (cvalq #:ldsparc:adrbvar) a1)
(call #:ldsparc:branch-if-outside-range)
(bra 101)
149
(cabne a1 'cnbeq 150)
(mov '#:ldsparc:e a1)
(call #:ldsparc:cnbxxieqn)
(bra 101)
150
(cabne a1 'cnbne 151)
(mov '#:ldsparc:ne a1)
(call #:ldsparc:cnbxxieqn)
(bra 101)
151
(cabne a1 'cnblt 152)
(mov '#:ldsparc:l a1)
(call #:ldsparc:cnbxx)
(bra 101)
152
(cabne a1 'cnble 153)
(mov '#:ldsparc:le a1)
(call #:ldsparc:cnbxx)
(bra 101)
153
(cabne a1 'cnbgt 154)
(mov '#:ldsparc:g a1)
(call #:ldsparc:cnbxx)
(bra 101)
154
(cabne a1 'cnbge 155)
(mov '#:ldsparc:ge a1)
(call #:ldsparc:cnbxx)
(bra 101)
155
(cabne a1 'cfbeq 156)
(mov '#:ldsparc:f-e a1)
(call #:ldsparc:comp2float)
(bra 101)
156
(cabne a1 'cfbne 157)
(mov '#:ldsparc:f-ne a1)
(call #:ldsparc:comp2float)
(bra 101)
157
(cabne a1 'cfblt 158)
(mov '#:ldsparc:f-l a1)
(call #:ldsparc:comp2float)
(bra 101)
158
(cabne a1 'cfble 159)
(mov '#:ldsparc:f-le a1)
(call #:ldsparc:comp2float)
(bra 101)
159
(cabne a1 'cfbgt 160)
(mov '#:ldsparc:f-g a1)
(call #:ldsparc:comp2float)
(bra 101)
160
(cabne a1 'cfbge 161)
(mov '#:ldsparc:f-ge a1)
(call #:ldsparc:comp2float)
(bra 101)
161
(cabne a1 'decr 162)
(mov '1 a2)
(mov '#:ldsparc:sub-simm13 a1)
(call #:ldsparc:macaro1op)
(bra 101)
162
(cabne a1 'diff 163)
(mov '#:ldsparc:sub a1)
(call #:ldsparc:macaro2op)
(bra 101)
163
(cabne a1 'incr 164)
(mov '1 a2)
(mov '#:ldsparc:add-simm13 a1)
(call #:ldsparc:macaro1op)
(bra 101)
164
(cabne a1 'land 165)
(mov '#:ldsparc:and-simm13 a2)
(mov '#:ldsparc:and a1)
(call #:ldsparc:logop-2op)
(bra 101)
165
(cabne a1 'lor 166)
(mov '#:ldsparc:or-simm13 a2)
(mov '#:ldsparc:or a1)
(call #:ldsparc:logop-2op)
(bra 101)
166
(cabne a1 'lxor 167)
(mov '#:ldsparc:xor-simm13 a2)
(mov '#:ldsparc:xor a1)
(call #:ldsparc:logop-2op)
(bra 101)
167
(cabne a1 'lshift 168)
(mov (cvalq obj2) a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:lshift)
(bra 101)
168
(cabne a1 'negate 169)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov 'x1 a2)
(call #:ldsparc:sign-extend)
(push (@ 170))
(push '#:ldsparc:sub)
(push 'rzero)
(push 'x1)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
170
(eval ())
(mov (cvalq obj1) a2)
(mov 'x1 a1)
(call #:ldsparc:movdestnb)
(bra 101)
169
(cabne a1 'plus 171)
(mov '#:ldsparc:add a1)
(call #:ldsparc:macaro2op)
(bra 101)
171
(cabne a1 'rem 172)
(mov '#:ldsparc:ll←rem a1)
(call #:ldsparc:c-arith-2op)
(bra 101)
172
(cabne a1 'quo 173)
(mov (cvalq obj1) a1)
(call #:ldsparc:positive-immediate?)
(btnil a1 174)
(mov (cvalq obj1) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(jcall abs)
(push a1)
(mov '0 a2)
(jcall eq)
(btnil a1 177)
(mov nil a4)
(bra 178)
177
(mov 't a4)
178
(btnil a4 176)
(mov (& 0) a3)
(diff '1 a3)
(mov (& 0) a2)
(land a3 a2)
(mov '0 a1)
(jcall eq)
(mov a1 a4)
176
(adjstk '1)
(btnil a4 174)
(push (@ 179))
(push 'quote)
(mov (cvalq obj1) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(call #:ldsparc:log-base-2)
(mov '0 a4)
(diff a1 a4)
(push a4)
(mov '2 a4)
(jmp list)
179
(eval ())
(mov (cvalq obj2) a2)
(call #:ldsparc:arithmetic-shift)
(bra 101)
174
(mov '#:ldsparc:ll←quo a1)
(call #:ldsparc:c-arith-2op)
(bra 101)
173
(cabne a1 'times 180)
(mov (cvalq obj1) a1)
(call #:ldsparc:positive-immediate?)
(btnil a1 181)
(mov (cvalq obj1) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(jcall abs)
(push a1)
(mov '0 a2)
(jcall eq)
(btnil a1 184)
(mov nil a4)
(bra 185)
184
(mov 't a4)
185
(btnil a4 183)
(mov (& 0) a3)
(diff '1 a3)
(mov (& 0) a2)
(land a3 a2)
(mov '0 a1)
(jcall eq)
(mov a1 a4)
183
(adjstk '1)
(btnil a4 181)
(push (@ 186))
(push 'quote)
(mov (cvalq obj1) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(call #:ldsparc:log-base-2)
(push a1)
(mov '2 a4)
(jmp list)
186
(eval ())
(mov (cvalq obj2) a2)
(call #:ldsparc:lshift)
(bra 101)
181
(mov '#:ldsparc:ll←times a1)
(call #:ldsparc:c-arith-2op)
(bra 101)
180
(cabne a1 'fplus 187)
(mov '#:ldsparc:fadds a1)
(call #:ldsparc:instr2float)
(bra 101)
187
(cabne a1 'fdiff 188)
(mov '#:ldsparc:fsubs a1)
(call #:ldsparc:instr2float)
(bra 101)
188
(cabne a1 'ftimes 189)
(mov '#:ldsparc:fmuls a1)
(call #:ldsparc:instr2float)
(bra 101)
189
(cabne a1 'fquo 190)
(mov '#:ldsparc:fdivs a1)
(call #:ldsparc:instr2float)
(bra 101)
190
(cabne a1 'adjstk 191)
(mov (cvalq obj1) a1)
(call #:ldsparc:13-bit-immediate?)
(btnil a1 192)
(mov (cvalq obj1) a4)
(mov (cdr a4) a4)
(mov '4 a3)
(times (car a4) a3)
(push a3)
(mov 'sp a3)
(pop a2)
(mov 'sp a1)
(call #:ldsparc:laddr32disp)
(bra 101)
192
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movsrc)
(push (@ 194))
(push '#:ldsparc:sll-simm13)
(push 'x1)
(push '2)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
194
(eval ())
(mov 'x1 a2)
(mov 'x1 a1)
(call #:ldsparc:sign-extend)
(push (@ 195))
(push '#:ldsparc:add)
(push 'sp)
(push 'x1)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
195
(eval ())
(bra 101)
191
(cabne a1 'bri 196)
(push (@ 197))
(push '#:ldsparc:jmpl-simm13)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(push a1)
(push (cvalq #:ldsparc:code-bias))
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
197
(eval ())
(call #:ldsparc:nop)
(bra 101)
196
(cabne a1 'brx 198)
(mov 'x1 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:movsrc)
(push (@ 199))
(push '#:ldsparc:sll-simm13)
(push 'x1)
(push '2)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
199
(eval ())
(mov '(#:ldsparc:sethi #:ldsparc:ld #:ldsparc:add #:ldsparc:ld #:ldsparc:jmpl #:ldsparc:nop) a1)
(jcall length)
(lshift '2 a1)
(mov (cvalq #:ldsparc:pccurrent) a2)
(call #:ldsparc:aa)
(mov 'x2 a2)
(call #:ldsparc:laddr32loc)
(push (@ 200))
(push '#:ldsparc:add)
(push 'x1)
(push 'x2)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
200
(eval ())
(push (@ 201))
(push '#:ldsparc:ld)
(push 'x1)
(push '0)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
201
(eval ())
(push (@ 202))
(push '#:ldsparc:jmpl)
(push 'x1)
(push 'rzero)
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
202
(eval ())
(call #:ldsparc:nop)
203
(btnil (cvalq obj1) 204)
(mov (cvalq obj1) a1)
(mov (cdr a1) (cvalq obj1))
(mov (car a1) a1)
(mov (cdr a1) a1)
(mov '#:ldsparc:solve-contig-abs a2)
(mov (car a1) a1)
(call #:ldsparc:absolute-reference)
(call #:ldsparc:val32abs)
(bra 203)
204
(mov nil a1)
(bra 101)
198
(cabne a1 'call 205)
(mov (cvalq obj1) a1)
(call #:ldsparc:ll-call)
(bra 101)
205
(cabne a1 'hbmovx 206)
(mov (cvalq obj3) a1)
(call #:ldsparc:immediate?)
(btnil a1 207)
(mov (cvalq obj3) a4)
(mov (cdr a4) a4)
(mov '8 a3)
(plus (car a4) a3)
(mov a3 a1)
(call #:ldsparc:13-bit-positive-value?)
(btnil a1 207)
(mov 'x2 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:prepsrc)
(mov 'x2 a3)
(mov '0 a2)
(call #:ldsparc:load32disp)
(push (@ 209))
(push '#:ldsparc:stb-simm13)
(push 'x2)
(mov (cvalq obj3) a4)
(mov (cdr a4) a4)
(mov '8 a3)
(plus (car a4) a3)
(push a3)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
209
(eval ())
(bra 101)
207
(mov 'x2 a3)
(mov (cvalq obj3) a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:movaheabix)
(push (@ 210))
(push '#:ldsparc:stb)
(push 'x2)
(push 'rzero)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
210
(eval ())
(bra 101)
206
(cabne a1 'hbxmov 211)
(mov 'x2 a3)
(mov (cvalq obj2) a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movaheabix)
(mov (cvalq obj3) a1)
(call #:ldsparc:register?)
(btnil a1 212)
(push (@ 214))
(push '#:ldsparc:ldub)
(push 'x2)
(push '0)
(push (cvalq obj3))
(mov '4 a4)
(bra #:ldsparc:inst)
214
(eval ())
(bra 101)
212
(push (@ 215))
(push '#:ldsparc:ldub)
(push 'x2)
(push '0)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
215
(eval ())
(mov (cvalq obj3) a2)
(mov 'x1 a1)
(call #:ldsparc:movdest)
(bra 101)
211
(cabne a1 'hgsize 216)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov 'x1 a3)
(mov '0 a2)
(call #:ldsparc:load32disp)
(mov (cvalq obj2) a1)
(call #:ldsparc:register?)
(btnil a1 217)
(mov (cvalq obj2) a3)
(mov '4 a2)
(mov 'x1 a1)
(call #:ldsparc:load32disp)
(bra 101)
217
(mov 'x2 a3)
(mov '4 a2)
(mov 'x1 a1)
(call #:ldsparc:load32disp)
(mov (cvalq obj2) a2)
(mov 'x2 a1)
(call #:ldsparc:movdest)
(bra 101)
216
(cabne a1 'hpmovx 219)
(mov 'x2 a3)
(mov (cvalq obj3) a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:movaheap)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov 'x2 a3)
(mov '0 a2)
(call #:ldsparc:store32disp)
(bra 101)
219
(cabne a1 'hpxmov 220)
(mov 'x2 a3)
(mov (cvalq obj2) a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movaheap)
(mov (cvalq obj3) a1)
(call #:ldsparc:register?)
(btnil a1 221)
(mov (cvalq obj3) a3)
(mov '0 a2)
(mov 'x2 a1)
(call #:ldsparc:load32disp)
(bra 101)
221
(mov 'x1 a3)
(mov '0 a2)
(mov 'x2 a1)
(call #:ldsparc:load32disp)
(mov (cvalq obj3) a2)
(mov 'x1 a1)
(call #:ldsparc:movdest)
(bra 101)
220
(cabne a1 'movxsp 223)
(mov 'x2 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:movsrc)
(push (@ 224))
(push '#:ldsparc:sll-simm13)
(push 'x2)
(push '2)
(push 'x2)
(mov '4 a4)
(bra #:ldsparc:inst)
224
(eval ())
(push (@ 225))
(push '#:ldsparc:add)
(push 'x2)
(push 'sp)
(push 'x2)
(mov '4 a4)
(bra #:ldsparc:inst)
225
(eval ())
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov 'x2 a3)
(mov '0 a2)
(call #:ldsparc:store32disp)
(bra 101)
223
(cabne a1 'nop 226)
(call #:ldsparc:nop)
(bra 101)
226
(cabne a1 'sobgez 227)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(push a1)
(mov a1 a2)
(call #:ldsparc:sign-extend)
(push (@ 228))
(push '#:ldsparc:subcc-simm13)
(push (& 2))
(push '1)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
228
(eval ())
(cabne (& 0) (cvalq obj1) 229)
(mov (& 0) a1)
(call #:ldsparc:convnb)
(bra 230)
229
(mov (cvalq obj1) a2)
(mov (& 0) a1)
(call #:ldsparc:movdestnb)
230
(push (@ 231))
(push '#:ldsparc:b)
(push '#:ldsparc:ge)
(push (cvalq obj2))
(push (cvalq #:ldsparc:annul))
(mov '4 a4)
(bra #:ldsparc:branch)
231
(eval ())
(call #:ldsparc:nop)
(adjstk '1)
(bra 101)
227
(cabne a1 'sstack 232)
(mov 'sp a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movsrc)
(bra 101)
232
(cabne a1 'stack 233)
(mov (cvalq obj1) a2)
(mov 'sp a1)
(call #:ldsparc:movdest)
(bra 101)
233
(cabne a1 'xspmov 234)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movsrc)
(push (@ 235))
(push '#:ldsparc:sll-simm13)
(push 'x1)
(push '2)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
235
(eval ())
(push (@ 236))
(push '#:ldsparc:add)
(push 'x1)
(push 'sp)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
236
(eval ())
(mov (cvalq obj2) a1)
(call #:ldsparc:register?)
(btnil a1 237)
(mov (cvalq obj2) a3)
(mov '0 a2)
(mov 'x1 a1)
(call #:ldsparc:load32disp)
(bra 101)
237
(mov 'x2 a3)
(mov '0 a2)
(mov 'x1 a1)
(call #:ldsparc:load32disp)
(mov (cvalq obj2) a2)
(mov 'x2 a1)
(call #:ldsparc:movdest)
(bra 101)
234
(mov (cvalq obj1) a2)
(mov '#:ldsparc:machins a1)
(call #:ldsparc:error)
101
(mov (& 1) dlink)
(mov (& 6) (cvalq obj1))
(mov (& 7) (cvalq obj2))
(mov (& 8) (cvalq obj3))
(adjstk '12)
(return)
))
(loader'((entry #:ldsparc:ll-call subr1)
(push a1)
(push (@ 101))
(push '#:ldsparc:sub-simm13)
(push 'sp)
(push '4)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(push (@ 102))
(push '#:ldsparc:call)
(mov '#:ldsparc:solve-call-rel a2)
(mov (& 2) a1)
(call #:ldsparc:relative-reference)
(call #:ldsparc:rshiftadr)
(push a1)
(mov '2 a4)
(bra #:ldsparc:inst)
102
(eval ())
(mov 'sp a3)
(mov '0 a2)
(mov 'linkr a1)
(adjstk '1)
(bra #:ldsparc:store32disp)
))
(loader'((entry #:ldsparc:ll-call-loc subr1)
(push a1)
(push (@ 101))
(push '#:ldsparc:sub-simm13)
(push 'sp)
(push '4)
(push 'sp)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(push (@ 102))
(push '#:ldsparc:call)
(mov (cvalq #:ldsparc:pccurrent) a2)
(mov (& 2) a1)
(call #:ldsparc:sa)
(call #:ldsparc:rshiftadr)
(push a1)
(mov '2 a4)
(bra #:ldsparc:inst)
102
(eval ())
(mov 'sp a3)
(mov '0 a2)
(mov 'linkr a1)
(adjstk '1)
(bra #:ldsparc:store32disp)
))
(loader'((entry #:ldsparc:immediate? subr1)
(push a1)
(jcall consp)
(btnil a1 101)
(mov (& 0) a1)
(mov 'quote a2)
(mov (car a1) a1)
(adjstk '1)
(jmp eq)
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:positive-immediate? 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) a2)
(mov (cdr a2) a2)
(mov (car a2) a2)
(mov '0 a1)
(adjstk '1)
(jmp lt)
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:13-bit-immediate? 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 '#$8000 a2)
(mov (car a1) a1)
(jcall neqn)
(btnil a1 101)
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(adjstk '1)
(bra #:ldsparc:13-bit-value?)
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:13-bit-positive-immediate? 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 '#$8000 a2)
(mov (car a1) a1)
(jcall neqn)
(btnil a1 101)
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(adjstk '1)
(bra #:ldsparc:13-bit-positive-value?)
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:13-bit-negative-immediate? 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 '#$8000 a2)
(mov (car a1) a1)
(jcall neqn)
(btnil a1 101)
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov '0 a3)
(diff (car a4) a3)
(mov a3 a1)
(adjstk '1)
(bra #:ldsparc:13-bit-positive-value?)
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:13-bit-value? subr1)
(push a1)
(jcall fixp)
(btnil a1 101)
(mov '-4096 a2)
(mov (& 0) a1)
(jcall ge)
(btnil a1 101)
(mov '4095 a2)
(mov (& 0) a1)
(adjstk '1)
(jmp lt)
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:13-bit-positive-value? subr1)
(push a1)
(jcall fixp)
(btnil a1 101)
(mov '0 a2)
(mov (& 0) a1)
(jcall ge)
(btnil a1 101)
(mov '4095 a2)
(mov (& 0) a1)
(adjstk '1)
(jmp lt)
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:nop subr0)
(push (@ 101))
(push '#:ldsparc:sethi)
(push '0)
(push 'rzero)
(mov '3 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov '0 a1)
(bra #:ldsparc:1word)
))
(loader'((entry #:ldsparc:alignd subr0)
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall fixp)
(mov a1 a4)
(bfnil a4 103)
(mov (cvalq #:ldsparc:pccurrent) a4)
(mov (cdr a4) a4)
103
(mov '3 a3)
(land a4 a3)
(cnbeq '0 a3 101)
(bra #:ldsparc:nop)
101
(mov nil a1)
(return)
))
(loader'((entry #:ldsparc:pc-align subr1)
(push a1)
(jcall fixp)
(mov a1 a4)
(bfnil a4 103)
(mov (& 0) a4)
(mov (cdr a4) a4)
103
(mov '3 a3)
(land a4 a3)
(cnbeq '0 a3 101)
(mov '2 a2)
(mov (& 0) a1)
(adjstk '1)
(jmp addadr)
101
(mov (& 0) a1)
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:movaheabix subr3)
(push a3)
(push a2)
(mov a3 a2)
(call #:ldsparc:prepsrc)
(mov (& 1) a3)
(mov '0 a2)
(call #:ldsparc:load32disp)
(mov (& 0) a1)
(call #:ldsparc:immediate?)
(btnil a1 101)
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov '8 a3)
(plus (car a4) a3)
(mov a3 a1)
(call #:ldsparc:13-bit-positive-value?)
(btnil a1 101)
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov '8 a3)
(plus (car a4) a3)
(push a3)
(mov (& 2) a3)
(pop a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:ldsparc:laddr32disp)
101
(push (@ 103))
(push '#:ldsparc:add-simm13)
(push (& 3))
(push '8)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
103
(eval ())
(push (@ 104))
(push '#:ldsparc:add)
(push (& 3))
(mov 'x1 a2)
(mov (& 3) a1)
(call #:ldsparc:prepsrc)
(push a1)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
104
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:c-arith-2op subr1)
(push a1)
(mov 'x3 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movsrc)
(mov 'x4 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:movsrc)
(mov (& 0) a1)
(mov (cval a1) a1)
(call #:ldsparc:ll-call-loc)
(mov (cvalq obj2) a2)
(mov 'x4 a1)
(adjstk '1)
(bra #:ldsparc:movdest)
))
(loader'((entry #:ldsparc:instr2float subr1)
(push a1)
(mov 'rf1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:unrolfloat)
(mov 'rf2 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:unrolfloat)
(push (@ 101))
(push '#:ldsparc:fpop)
(push (& 2))
(push 'rf2)
(push 'rf1)
(push 'rf2)
(mov '5 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (cvalq obj2) a2)
(mov 'rf2 a1)
(adjstk '1)
(bra #:ldsparc:rolfloat)
))
(loader'((entry #:ldsparc:unrolfloat subr2)
(push a2)
(mov 'x1 a2)
(call #:ldsparc:movsrc)
(push a1)
(push (@ 101))
(push '#:ldsparc:sll-simm13)
(push a1)
(push '1)
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:movsrc)
))
(loader'((entry #:ldsparc:rolfloat subr2)
(push a2)
(mov 'x1 a2)
(call #:ldsparc:floating-store)
(push (@ 101))
(push '#:ldsparc:srl-simm13)
(push 'x1)
(push '1)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(push (@ 102))
(push '#:ldsparc:or)
(push 'signbit)
(push 'x1)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
102
(eval ())
(mov (& 0) a2)
(mov 'x1 a1)
(adjstk '1)
(bra #:ldsparc:movdest)
))
(loader'((entry #:ldsparc:floating-load subr2)
(push a2)
(mov 'rxfloat a3)
(mov '0 a2)
(call #:ldsparc:store32disp)
(push (@ 101))
(push '#:ldsparc:ldf)
(push 'rxfloat)
(push 'rzero)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:floating-store subr2)
(push a2)
(push (@ 101))
(push '#:ldsparc:stf)
(push 'rxfloat)
(push 'rzero)
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 0) a3)
(mov '0 a2)
(mov 'rxfloat a1)
(adjstk '1)
(bra #:ldsparc:load32disp)
))
(loader'((entry #:ldsparc:comp2float subr1)
(push a1)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movsrc)
(mov 'x3 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:movsrc)
(mov (cvalq #:ldsparc:floatcompare) a1)
(call #:ldsparc:ll-call-loc)
(push (@ 101))
(push '#:ldsparc:fpop2)
(push '#:ldsparc:fcmps)
(push 'rf1)
(push 'rf3)
(push 'rzero)
(mov '5 a4)
(bra #:ldsparc:inst)
101
(eval ())
(push (@ 102))
(push '#:ldsparc:fb)
(push (& 2))
(push (cvalq obj3))
(push nil)
(mov '4 a4)
(bra #:ldsparc:branch)
102
(eval ())
(adjstk '1)
(bra #:ldsparc:nop)
))
(loader'((entry #:ldsparc:cnbxx subr1)
(push a1)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov 'x1 a2)
(call #:ldsparc:sign-extend)
(mov (cvalq obj2) a1)
(call #:ldsparc:13-bit-immediate?)
(btnil a1 101)
(push (@ 103))
(push '#:ldsparc:subcc-simm13)
(push 'x1)
(mov (cvalq obj2) a4)
(mov (cdr a4) a4)
(push (car a4))
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
103
(eval ())
(push (@ 104))
(push '#:ldsparc:b)
(push (& 2))
(push (cvalq obj3))
(push (cvalq #:ldsparc:annul))
(mov '4 a4)
(bra #:ldsparc:branch)
104
(eval ())
(adjstk '1)
(bra #:ldsparc:nop)
101
(mov 'x2 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:prepsrc)
(mov 'x2 a2)
(call #:ldsparc:sign-extend)
(mov 'x2 a2)
(mov 'x1 a1)
(call #:ldsparc:compare)
(push (@ 105))
(push '#:ldsparc:b)
(push (& 2))
(push (cvalq obj3))
(push (cvalq #:ldsparc:annul))
(mov '4 a4)
(bra #:ldsparc:branch)
105
(eval ())
(adjstk '1)
(bra #:ldsparc:nop)
))
(loader'((entry #:ldsparc:cnbxxieqn subr1)
(push a1)
(mov (cvalq obj1) a1)
(call #:ldsparc:13-bit-positive-immediate?)
(btnil a1 101)
(push (@ 103))
(push '#:ldsparc:subcc-simm13)
(mov 'x2 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:prepsrc)
(push a1)
(mov (cvalq obj1) a4)
(mov (cdr a4) a4)
(push (car a4))
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
103
(eval ())
(push (@ 104))
(push '#:ldsparc:b)
(push (& 2))
(push (cvalq obj3))
(push nil)
(mov '4 a4)
(bra #:ldsparc:branch)
104
(eval ())
(adjstk '1)
(bra #:ldsparc:nop)
101
(mov (cvalq obj2) a1)
(call #:ldsparc:13-bit-positive-immediate?)
(btnil a1 105)
(push (@ 107))
(push '#:ldsparc:subcc-simm13)
(mov 'x2 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(push a1)
(mov (cvalq obj2) a4)
(mov (cdr a4) a4)
(push (car a4))
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
107
(eval ())
(push (@ 108))
(push '#:ldsparc:b)
(push (& 2))
(push (cvalq obj3))
(push nil)
(mov '4 a4)
(bra #:ldsparc:branch)
108
(eval ())
(adjstk '1)
(bra #:ldsparc:nop)
105
(push (@ 109))
(push '#:ldsparc:b)
(push (& 2))
(push (cvalq obj1))
(push (cvalq obj2))
(push (cvalq obj3))
(mov '5 a4)
(bra #:ldsparc:compare-and-branch)
109
(eval ())
(adjstk '1)
(bra #:ldsparc:nop)
))
(loader'((entry #:ldsparc:compare-single-bound subr2)
(push (@ 101))
(push '#:ldsparc:b)
(push a2)
(push (cvalq obj1))
(push a1)
(push (cvalq obj2))
(mov '5 a4)
(bra #:ldsparc:compare-and-branch)
101
(eval ())
(bra #:ldsparc:nop)
))
(loader'((entry #:ldsparc:branch-if-outside-range subr2)
(push a2)
(push a1)
(mov a2 a1)
(call #:ldsparc:register?)
(bfnil a1 102)
(mov (& 1) a2)
(mov '#:ldsparc:branch-if-outside-range a1)
(call #:ldsparc:error)
102
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov a1 (cvalq obj1))
(push a1)
(mov 'x2 a2)
(mov (& 1) a1)
(call #:ldsparc:prepsrc)
(mov a1 a2)
(pop a1)
(call #:ldsparc:compare)
(push (@ 103))
(push '#:ldsparc:b)
(push '#:ldsparc:l)
(push (cvalq obj2))
(push (cvalq #:ldsparc:annul))
(mov '4 a4)
(bra #:ldsparc:branch)
103
(eval ())
(call #:ldsparc:nop)
(mov 'x2 a2)
(mov (& 1) a1)
(call #:ldsparc:prepsrc)
(mov a1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:compare)
(push (@ 104))
(push '#:ldsparc:b)
(push '#:ldsparc:ge)
(push (cvalq obj2))
(push (cvalq #:ldsparc:annul))
(mov '4 a4)
(bra #:ldsparc:branch)
104
(eval ())
(adjstk '2)
(bra #:ldsparc:nop)
))
(loader'((entry #:ldsparc:branch-if-inside-range subr2)
(push a2)
(push a1)
(mov a2 a1)
(call #:ldsparc:register?)
(bfnil a1 102)
(mov (& 1) a2)
(mov '#:ldsparc:branch-if-inside-range a1)
(call #:ldsparc:error)
102
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov a1 (cvalq obj1))
(push a1)
(mov 'x2 a2)
(mov (& 1) a1)
(call #:ldsparc:prepsrc)
(mov a1 a2)
(pop a1)
(call #:ldsparc:compare)
(mov '(#:ldsparc:nop #:ldsparc:subcc #:ldsparc:ld #:ldsparc:b #:ldsparc:nop) a1)
(jcall length)
(mov a1 a3)
(mov '#:ldsparc:l a2)
(mov '#:ldsparc:b a1)
(call #:ldsparc:short-relative-branch)
(mov 'x2 a2)
(mov (& 1) a1)
(call #:ldsparc:prepsrc)
(mov a1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:compare)
(push (@ 103))
(push '#:ldsparc:b)
(push '#:ldsparc:l)
(push (cvalq obj2))
(push (cvalq #:ldsparc:annul))
(mov '4 a4)
(bra #:ldsparc:branch)
103
(eval ())
(adjstk '2)
(bra #:ldsparc:nop)
))
(loader'((entry #:ldsparc:compare subr2)
(push (@ 101))
(push '#:ldsparc:subcc)
(push a1)
(push a2)
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(return)
))
(loader'((entry #:ldsparc:prepsrc subr2)
(push a2)
(push a1)
(cabne a1 'nil 101)
(mov 'knil a1)
(adjstk '2)
(return)
101
(call #:ldsparc: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 #:ldsparc:making-fasl?) 110)
(mov a4 a2)
(mov 'llcp a1)
(jcall symbol)
(mov (& 1) a2)
(mov (cval a1) a1)
(call #:ldsparc:load32loc)
(bra 111)
110
(push (@ 112))
(push 'vag)
(mov a4 a2)
(mov 'llcp a1)
(jcall symbol)
(push a1)
(mov '2 a4)
(jmp list)
112
(eval ())
(mov a1 a2)
(mov (& 1) a1)
(call #:ldsparc:fasl-record-eval-literal-reference)
(mov (& 1) a3)
(mov '0 a2)
(mov (& 1) a1)
(call #:ldsparc: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 #:ldsparc:making-fasl?) 116)
(mov a3 a2)
(mov 'llcp a1)
(jcall symbol)
(mov (& 1) a2)
(mov (cval a1) a1)
(call #:ldsparc:laddr32loc)
(bra 117)
116
(push (@ 118))
(push 'vag)
(mov a3 a2)
(mov 'llcp a1)
(jcall symbol)
(push a1)
(mov '2 a4)
(jmp list)
118
(eval ())
(mov a1 a2)
(mov (& 1) a1)
(call #:ldsparc:fasl-record-eval-literal-reference)
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 '#:ldsparc:prepsrc a1)
(adjstk '2)
(bra #:ldsparc:error)
105
(mov (& 0) a1)
(mov (cvalq #:ldsparc:mem-access) a2)
(mov (car a1) a1)
(jcall memq)
(btnil a1 122)
(mov (& 0) a1)
(mov (cdr a1) a1)
(push (car a1))
(mov (& 1) a1)
(mov (car a1) a1)
(call #:ldsparc:getvalue)
(mov (& 2) a3)
(mov a1 a2)
(pop a1)
(call #:ldsparc: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) a4)
(mov (cdr a4) a4)
(cabne (car a4) '0 129)
(mov 'rzero a1)
(adjstk '2)
(return)
129
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (& 1) a2)
(mov (car a1) a1)
(adjstk '2)
(bra #:ldsparc:laddr32)
126
(btnil (cvalq #:ldsparc:making-fasl?) 131)
(mov (& 0) a2)
(mov (cdr a2) a2)
(mov (car a2) a2)
(mov (& 1) a1)
(call #:ldsparc:fasl-record-literal-reference)
(mov (& 1) a1)
(adjstk '2)
(return)
131
(mov (& 0) a4)
(mov (cdr a4) a4)
(btstrg (car a4) 133)
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(call #:ldsparc:add-llitt)
(bra 134)
133
(mov (& 0) a1)
(call #:ldsparc:add-llitts)
134
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (& 1) a2)
(mov (car a1) a1)
(adjstk '2)
(bra #:ldsparc:laddr32)
125
(cabne a1 'cvalq 135)
(btnil (cvalq #:ldsparc:making-fasl?) 136)
(mov (& 0) a2)
(mov (cdr a2) a2)
(mov (car a2) a2)
(mov (& 1) a1)
(call #:ldsparc:fasl-record-literal-reference)
(mov 'cval a1)
(call #:ldsparc:getvalue)
(mov (& 1) a3)
(mov a1 a2)
(mov (& 1) a1)
(call #:ldsparc:load32disp)
(bra 137)
136
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (& 1) a2)
(mov (car a1) a1)
(call #:ldsparc:load32abs)
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(call #:ldsparc:add-llitt)
137
(mov (& 1) a1)
(adjstk '2)
(return)
135
(cabne a1 'fvalq 138)
(btnil (cvalq #:ldsparc:making-fasl?) 139)
(mov (& 0) a2)
(mov (cdr a2) a2)
(mov (car a2) a2)
(mov (& 1) a1)
(call #:ldsparc:fasl-record-literal-reference)
(mov 'fval a1)
(call #:ldsparc:getvalue)
(mov (& 1) a3)
(mov a1 a2)
(mov (& 1) a1)
(call #:ldsparc:load32disp)
(bra 140)
139
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (& 1) a2)
(mov (car a1) a1)
(call #:ldsparc:laddr32)
(mov 'fval a1)
(call #:ldsparc:getvalue)
(mov (& 1) a3)
(mov a1 a2)
(mov (& 1) a1)
(call #:ldsparc:load32disp)
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(call #:ldsparc:add-llitt)
140
(mov (& 1) a1)
(adjstk '2)
(return)
138
(cabne a1 '& 141)
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov '4 a3)
(times (car a4) a3)
(push a3)
(mov (& 2) a3)
(pop a2)
(mov 'sp a1)
(call #:ldsparc:load32disp)
(mov (& 1) a1)
(adjstk '2)
(return)
141
(cabeq a1 '@ 143)
(cabne a1 'adr 142)
143
(mov (& 0) a1)
(mov (cdr a1) a1)
(mov '#:ldsparc:solve-code-abs a2)
(mov (car a1) a1)
(call #:ldsparc:absolute-reference)
(mov (cvalq #:ldsparc:code-bias) a2)
(call #:ldsparc:sa)
(mov (& 1) a2)
(call #:ldsparc:laddr32loc)
(mov (& 1) a1)
(adjstk '2)
(return)
142
(cabne a1 'eval 144)
(btnil (cvalq #:ldsparc:making-fasl?) 145)
(mov '#:ldsparc:prepsrc a2)
(mov '"eval not implemented in fasl" a1)
(adjstk '2)
(bra #:ldsparc:error)
145
(push (@ 147))
(mov (& 1) a4)
(mov (cdr a4) a4)
(push (car a4))
(mov '1 a4)
(jmp eval)
147
(eval ())
(mov (& 1) a2)
(adjstk '2)
(bra #:ldsparc:prepsrc)
144
(mov (& 0) a2)
(mov '#:ldsparc:prepsrc a1)
(adjstk '2)
(bra #:ldsparc:error)
))
(loader'((entry #:ldsparc:movsrc subr2)
(push a2)
(call #:ldsparc:prepsrc)
(push a1)
(mov (& 1) a2)
(jcall eq)
(bfnil a1 101)
(mov (& 1) a1)
(call #:ldsparc:floating-register?)
(btnil a1 102)
(mov (& 1) a2)
(mov (& 0) a1)
(call #:ldsparc:floating-load)
(bra 101)
102
(push (@ 104))
(push '#:ldsparc:or)
(push 'rzero)
(push (& 3))
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
104
(eval ())
101
(mov (& 1) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:movdest subr2)
(push a2)
(push a1)
(call #:ldsparc:floating-register?)
(btnil a1 101)
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:floating-store)
101
(mov (& 1) a1)
(call #:ldsparc:register?)
(btnil a1 103)
(push (@ 105))
(push '#:ldsparc:or)
(push 'rzero)
(push (& 3))
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
105
(eval ())
(adjstk '2)
(return)
103
(btcons (& 1) 106)
(btnil (cvalq #:ldsparc:making-fasl?) 108)
(push (@ 110))
(push 'vag)
(mov (& 3) a2)
(mov 'llcp a1)
(jcall symbol)
(push a1)
(mov '2 a4)
(jmp list)
110
(eval ())
(mov a1 a2)
(mov 'x4 a1)
(call #:ldsparc:fasl-record-eval-literal-reference)
(mov 'x4 a3)
(mov '0 a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:store32disp)
108
(mov (& 1) a2)
(mov 'llcp a1)
(jcall symbol)
(mov 'x4 a3)
(mov (cval a1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:store32loc)
106
(mov (& 1) a1)
(mov (cvalq #:ldsparc:mem-access) a2)
(mov (car a1) a1)
(jcall memq)
(btnil a1 111)
(mov (& 1) a1)
(mov (car a1) a1)
(call #:ldsparc:getvalue)
(mov (& 1) a3)
(mov (cdr a3) a3)
(mov (car a3) a3)
(mov a1 a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:store32disp)
111
(mov (& 1) a4)
(cabne (car a4) 'cvalq 113)
(btnil (cvalq #:ldsparc:making-fasl?) 115)
(mov (cdr a4) a2)
(mov (car a2) a2)
(mov 'x4 a1)
(call #:ldsparc:fasl-record-literal-reference)
(mov 'cval a1)
(call #:ldsparc:getvalue)
(mov 'x4 a3)
(mov a1 a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:store32disp)
115
(mov (cdr a4) a2)
(mov 'x4 a3)
(mov (car a2) a2)
(mov (& 0) a1)
(call #:ldsparc:store32abs)
(mov (& 1) a1)
(mov (cdr a1) a1)
(mov (car a1) a1)
(adjstk '2)
(bra #:ldsparc:add-llitt)
113
(cabne (car a4) '& 117)
(mov (cdr a4) a3)
(mov '4 a2)
(times (car a3) a2)
(mov 'sp a3)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:store32disp)
117
(cabne (car a4) 'eval 119)
(btnil (cvalq #:ldsparc:making-fasl?) 121)
(mov '#:ldsparc:movdest a2)
(mov '"no eval in movdest" a1)
(adjstk '2)
(bra #:ldsparc:error)
121
(push (@ 123))
(mov (cdr a4) a3)
(push (car a3))
(mov '1 a4)
(jmp eval)
123
(eval ())
(mov a1 a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:ldsparc:movdest)
119
(mov a4 a2)
(mov '#:ldsparc:movdest a1)
(adjstk '2)
(bra #:ldsparc:error)
))
(loader'((entry #:ldsparc:movdestnb subr2)
(push a2)
(push a1)
(mov a2 a1)
(call #:ldsparc:register?)
(btnil a1 101)
(push (@ 103))
(push '#:ldsparc:and)
(push (& 2))
(push 'short)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
103
(eval ())
(adjstk '2)
(return)
101
(mov (& 0) a1)
(call #:ldsparc:convnb)
(mov (& 1) a2)
(adjstk '2)
(bra #:ldsparc:movdest)
))
(loader'((entry #:ldsparc:movsrcnb subr2)
(push a2)
(call #:ldsparc:prepsrc)
(mov (& 0) a2)
(call #:ldsparc:sign-extend)
(mov (& 0) a1)
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:macaheap subr2)
(push a2)
(push (@ 101))
(push '#:ldsparc:ld-simm13)
(call #:ldsparc:prepsrc)
(push a1)
(push '0)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(push (@ 102))
(push '#:ldsparc:add-simm13)
(push (& 2))
(push '8)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
102
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:movaheap subr3)
(push a3)
(push a2)
(mov a3 a2)
(call #:ldsparc:macaheap)
(mov 'x1 a2)
(mov (& 0) a1)
(call #:ldsparc:movsrc)
(push (@ 101))
(push '#:ldsparc:sll-simm13)
(push 'x1)
(push '2)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(push (@ 102))
(push '#:ldsparc:add)
(push (& 3))
(push 'x1)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
102
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:convnb subr1)
(push a1)
(push (@ 101))
(push '#:ldsparc:and)
(push a1)
(push 'short)
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 0) a1)
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:macaro1op subr2)
(push a2)
(push a1)
(mov 'x1 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:movsrcnb)
(push (@ 101))
(push (& 1))
(push 'x1)
(push (& 4))
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (cvalq obj1) a2)
(mov 'x1 a1)
(adjstk '2)
(bra #:ldsparc:movdestnb)
))
(loader'((entry #:ldsparc:macaro2op subr1)
(push a1)
(mov 'x1 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:prepsrc)
(mov 'x1 a2)
(call #:ldsparc:sign-extend)
(mov 'x2 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(mov 'x2 a2)
(call #:ldsparc:sign-extend)
(push (@ 101))
(push (& 1))
(push 'x1)
(push 'x2)
(push 'x1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (cvalq obj2) a2)
(mov 'x1 a1)
(adjstk '1)
(bra #:ldsparc:movdestnb)
))
(loader'((entry #:ldsparc:log-base-2 subr1)
(cnbge a1 '0 101)
(mov '0 a4)
(diff a1 a4)
(mov a4 a1)
(jcall log)
(fquo '.6931472 a1)
(jcall fix)
(mov '0 a4)
(diff a1 a4)
(mov a4 a1)
(return)
101
(jcall log)
(fquo '.6931472 a1)
(jmp fix)
))
(loader'((entry #:ldsparc:lshift-aux subr3)
(push a3)
(push a2)
(push a1)
(mov 'x1 a2)
(call #:ldsparc:prepsrc)
(push a1)
(push (@ 101))
(push (& 3))
(push a1)
(push (& 6))
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '4)
(bra #:ldsparc:movdestnb)
))
(loader'((entry #:ldsparc:lshift subr2)
(push a2)
(push a1)
(call #:ldsparc:13-bit-positive-immediate?)
(btnil a1 101)
(mov (& 0) a3)
(mov (cdr a3) a3)
(mov (car a3) a3)
(mov '#:ldsparc:sll-simm13 a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:ldsparc:lshift-aux)
101
(mov (& 0) a1)
(call #:ldsparc:13-bit-negative-immediate?)
(btnil a1 103)
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov '0 a3)
(diff (car a4) a3)
(mov '#:ldsparc:srl-simm13 a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:ldsparc:lshift-aux)
103
(mov 'x2 a2)
(mov (& 0) a1)
(call #:ldsparc:prepsrc)
(mov 'x2 a2)
(call #:ldsparc:sign-extend)
(mov 'x1 a2)
(mov (& 1) a1)
(call #:ldsparc:prepsrc)
(push a1)
(push (@ 105))
(push '#:ldsparc:subcc-simm13)
(push 'x2)
(push '0)
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
105
(eval ())
(mov '(#:ldsparc:bge #:ldsparc:nop #:ldsparc:twoc #:ldsparc:sr #:ldsparc:b #:ldsparc:nop) a1)
(jcall length)
(mov a1 a3)
(mov '#:ldsparc:ge a2)
(mov '#:ldsparc:b a1)
(call #:ldsparc:short-relative-branch)
(push (@ 106))
(push '#:ldsparc:sub)
(push 'rzero)
(push 'x2)
(push 'x2)
(mov '4 a4)
(bra #:ldsparc:inst)
106
(eval ())
(push (@ 107))
(push '#:ldsparc:srl)
(push (& 2))
(push 'x2)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
107
(eval ())
(mov '(#:ldsparc:b #:ldsparc:nop #:ldsparc:sll) a1)
(jcall length)
(mov a1 a3)
(mov '#:ldsparc:a a2)
(mov '#:ldsparc:b a1)
(call #:ldsparc:short-relative-branch)
(push (@ 108))
(push '#:ldsparc:sll)
(push (& 2))
(push 'x2)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
108
(eval ())
(mov (& 2) a2)
(mov (& 0) a1)
(adjstk '3)
(bra #:ldsparc:movdestnb)
))
(loader'((entry #:ldsparc:constant-arithmetic-shift subr3)
(push a3)
(push a2)
(push a1)
(mov 'x1 a2)
(call #:ldsparc:prepsrc)
(mov 'x1 a2)
(call #:ldsparc:sign-extend)
(push a1)
(push (@ 101))
(push (& 3))
(push a1)
(push (& 6))
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '4)
(bra #:ldsparc:movdestnb)
))
(loader'((entry #:ldsparc:arithmetic-shift subr2)
(push a2)
(push a1)
(call #:ldsparc:13-bit-positive-immediate?)
(btnil a1 101)
(mov (& 0) a3)
(mov (cdr a3) a3)
(mov (car a3) a3)
(mov '#:ldsparc:sll-simm13 a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:ldsparc:constant-arithmetic-shift)
101
(mov (& 0) a1)
(call #:ldsparc:13-bit-negative-immediate?)
(btnil a1 103)
(mov (& 0) a4)
(mov (cdr a4) a4)
(mov '0 a3)
(diff (car a4) a3)
(mov '#:ldsparc:sra-simm13 a2)
(mov (& 1) a1)
(adjstk '2)
(bra #:ldsparc:constant-arithmetic-shift)
103
(mov 'x2 a2)
(mov (& 0) a1)
(call #:ldsparc:prepsrc)
(mov 'x2 a2)
(call #:ldsparc:sign-extend)
(mov 'x1 a2)
(mov (& 1) a1)
(call #:ldsparc:prepsrc)
(mov 'x1 a2)
(call #:ldsparc:sign-extend)
(push a1)
(push (@ 105))
(push '#:ldsparc:subcc-simm13)
(push 'x2)
(push '0)
(push 'rzero)
(mov '4 a4)
(bra #:ldsparc:inst)
105
(eval ())
(mov '(#:ldsparc:bge #:ldsparc:nop #:ldsparc:twoc #:ldsparc:sr #:ldsparc:b #:ldsparc:nop) a1)
(jcall length)
(mov a1 a3)
(mov '#:ldsparc:ge a2)
(mov '#:ldsparc:b a1)
(call #:ldsparc:short-relative-branch)
(push (@ 106))
(push '#:ldsparc:sub)
(push 'rzero)
(push 'x2)
(push 'x2)
(mov '4 a4)
(bra #:ldsparc:inst)
106
(eval ())
(push (@ 107))
(push '#:ldsparc:sra)
(push (& 2))
(push 'x2)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
107
(eval ())
(mov '(#:ldsparc:b #:ldsparc:nop #:ldsparc:sll) a1)
(jcall length)
(mov a1 a3)
(mov '#:ldsparc:a a2)
(mov '#:ldsparc:b a1)
(call #:ldsparc:short-relative-branch)
(push (@ 108))
(push '#:ldsparc:sll)
(push (& 2))
(push 'x2)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
108
(eval ())
(mov (& 2) a2)
(mov (& 0) a1)
(adjstk '3)
(bra #:ldsparc:movdestnb)
))
(loader'((entry #:ldsparc:logop-aux subr3)
(push a3)
(push a2)
(push a1)
(mov (cvalq obj1) a1)
(call #:ldsparc:13-bit-positive-immediate?)
(btnil a1 101)
(push (@ 103))
(push (& 3))
(push (& 2))
(mov (cvalq obj1) a4)
(mov (cdr a4) a4)
(push (car a4))
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
103
(eval ())
(adjstk '3)
(return)
101
(push (@ 104))
(push (& 2))
(push (& 2))
(mov 'x2 a2)
(mov (cvalq obj1) a1)
(call #:ldsparc:prepsrc)
(push a1)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
104
(eval ())
(adjstk '3)
(return)
))
(loader'((entry #:ldsparc:logop-2op subr2)
(push a2)
(push a1)
(mov (cvalq obj2) a1)
(call #:ldsparc:register?)
(btnil a1 101)
(mov (& 1) a3)
(mov (& 0) a2)
(mov (cvalq obj2) a1)
(adjstk '2)
(bra #:ldsparc:logop-aux)
101
(mov 'x1 a2)
(mov (cvalq obj2) a1)
(call #:ldsparc:prepsrc)
(mov (& 1) a3)
(mov (& 0) a2)
(mov 'x1 a1)
(call #:ldsparc:logop-aux)
(mov (cvalq obj2) a2)
(mov 'x1 a1)
(adjstk '2)
(bra #:ldsparc:movdestnb)
))
(loader'((entry #:ldsparc:compare-and-branch nsubr)
(mov 'x1 a2)
(mov (& 2) a1)
(call #:ldsparc:prepsrc)
(push a1)
(mov 'x2 a2)
(mov (& 2) a1)
(call #:ldsparc:prepsrc)
(mov a1 a2)
(pop a1)
(call #:ldsparc:compare)
(push (@ 101))
(push (& 5))
(push (& 5))
(push (& 3))
(push nil)
(mov '4 a4)
(bra #:ldsparc:branch)
101
(eval ())
(adjstk '5)
(return)
))
(loader'((entry #:ldsparc:branch nsubr)
(mov '#:ldsparc:solve-22rel a2)
(mov (& 1) a1)
(call #:ldsparc:relative-reference)
(call #:ldsparc:rshiftadr)
(push (@ 101))
(push (& 4))
(push (& 4))
(push a1)
(push (& 4))
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(adjstk '4)
(return)
))
(loader'((entry #:ldsparc:short-relative-branch subr3)
(push (@ 101))
(push a1)
(push a2)
(push a3)
(push nil)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(bra #:ldsparc:nop)
))
(loader'((entry #:ldsparc:high-loc subr1)
(bffix a1 101)
(mov '0 a1)
(return)
101
(mov (car a1) a1)
(return)
))
(loader'((entry #:ldsparc:low-loc subr1)
(push a1)
(jcall fixp)
(bfnil a1 101)
(mov (& 0) a1)
(mov (cdr a1) a1)
101
(adjstk '1)
(return)
))
(defvar #:ldsparc:verify-assertions ())
(defvar #:ldsparc:bootstrap t)
(loader'((fentry #:ldsparc:debug subr1)
(entry #:ldsparc:debug subr1)
(btnil a1 101)
(mov '(#:ldsparc:inst (code . args) (prin code "	") (map (lambda (args) (prin (car args)) (if (cdr args) (prin ","))) args) (print)) a1)
(jmp de)
101
(mov nil a1)
(return)
))
(loader'((entry #:ldsparc:inst nsubr)
(push a4)
(mov (& 0) a4)
(plus '0 a4)
(xspmov a4 a1)
(call #:ldsparc:format)
(cabne a1 'simm13 102)
(mov (& 0) a4)
(plus '0 a4)
(xspmov a4 a1)
(mov '#:ldsparc:format-type a2)
(jcall getprop)
(push a1)
(mov (& 1) a4)
(plus '-2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '9 a1)
(push a1)
(mov (& 2) a4)
(plus '2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(push a1)
(mov (& 3) a4)
(plus '2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '-2 a1)
(pop a4)
(lor a1 a4)
(pop a3)
(lor a4 a3)
(pop a4)
(lor a3 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(mov (& 0) a4)
(plus '-1 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '14 a1)
(mov (& 0) a4)
(plus '-2 a4)
(xspmov a4 a4)
(land '8191 a4)
(mov '8192 a3)
(lor a4 a3)
(lor a3 a1)
(call #:ldsparc:1word)
(bra 101)
102
(cabne a1 'i2reg 103)
(mov (& 0) a4)
(plus '0 a4)
(xspmov a4 a1)
(mov '#:ldsparc:format-type a2)
(jcall getprop)
(push a1)
(mov (& 1) a4)
(plus '-2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '9 a1)
(push a1)
(mov (& 2) a4)
(plus '2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(push a1)
(mov (& 3) a4)
(plus '2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '-2 a1)
(pop a4)
(lor a1 a4)
(pop a3)
(lor a4 a3)
(pop a4)
(lor a3 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(mov (& 0) a4)
(plus '-1 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '14 a1)
(push a1)
(mov (& 1) a4)
(plus '-1 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(pop a4)
(lor a1 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(bra 101)
103
(cabne a1 'branch 104)
(mov (& 0) a4)
(plus '-3 a4)
(xspmov a4 a1)
(bfnil a1 105)
(mov '0 a1)
105
(push a1)
(mov (& 1) a4)
(plus '0 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(push a1)
(mov (& 2) a4)
(plus '2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(push a1)
(mov (& 3) a4)
(plus '1 a4)
(xspmov a4 a1)
(call #:ldsparc:high-loc)
(land '63 a1)
(pop a4)
(lor a1 a4)
(pop a3)
(lor a4 a3)
(pop a4)
(lor a3 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(mov (& 0) a4)
(plus '-2 a4)
(xspmov a4 a1)
(call #:ldsparc:low-loc)
(call #:ldsparc:1word)
(bra 101)
104
(cabne a1 'call 106)
(mov (& 0) a4)
(plus '-1 a4)
(xspmov a4 a1)
(call #:ldsparc:high-loc)
(mov '16383 a4)
(land a1 a4)
(mov '16384 a3)
(lor a4 a3)
(mov a3 a1)
(call #:ldsparc:1word)
(mov (& 0) a4)
(plus '-1 a4)
(xspmov a4 a1)
(call #:ldsparc:low-loc)
(call #:ldsparc:1word)
(bra 101)
106
(cabne a1 'sethi 107)
(mov (& 0) a4)
(plus '-2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '9 a1)
(mov (& 0) a4)
(plus '-1 a4)
(xspmov a4 a4)
(mov '256 a3)
(lor a4 a3)
(lor a3 a1)
(call #:ldsparc:1word)
(bra 101)
107
(cabne a1 'fpop 108)
(mov (& 0) a4)
(plus '0 a4)
(xspmov a4 a1)
(mov '#:ldsparc:format-type a2)
(jcall getprop)
(push a1)
(mov (& 1) a4)
(plus '-3 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '9 a1)
(push a1)
(mov (& 2) a4)
(plus '2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(push a1)
(mov (& 3) a4)
(plus '1 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '-2 a1)
(pop a4)
(lor a1 a4)
(pop a3)
(lor a4 a3)
(pop a4)
(lor a3 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(mov (& 0) a4)
(plus '-2 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(lshift '14 a1)
(push a1)
(mov (& 1) a4)
(plus '0 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(push a1)
(mov (& 2) a4)
(plus '-1 a4)
(xspmov a4 a1)
(call #:ldsparc:getvalue)
(pop a4)
(lor a1 a4)
(pop a3)
(lor a4 a3)
(mov a3 a1)
(call #:ldsparc:1word)
(bra 101)
108
(mov (& 0) a4)
(plus '0 a4)
(xspmov a4 a2)
(mov '"unknown format or instruction in :inst : " a1)
(call #:ldsparc:error)
101
(pop a4)
(adjstk a4)
(return)
))
(defvar #:ldsparc:annul (logshift 1 13))
(loader'((entry #:ldsparc:val32abs subr1)
(push a1)
(bffix a1 101)
(mov '0 a1)
(call #:ldsparc:1word)
(mov (& 0) a1)
(adjstk '1)
(bra #:ldsparc:1word)
101
(bfcons a1 103)
(mov (car a1) a1)
(call #:ldsparc:1word)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:ldsparc:1word)
103
(mov a1 a2)
(mov '#:ldsparc:val32abs a1)
(adjstk '1)
(bra #:ldsparc:error)
))
(loader'((entry #:ldsparc:store32disp subr3)
(push (@ 101))
(push '#:ldsparc:st-simm13)
(push a3)
(push a2)
(push a1)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(return)
))
(loader'((entry #:ldsparc:laddr32disp subr3)
(push a3)
(push (@ 101))
(push '#:ldsparc:add-simm13)
(push a1)
(push a2)
(push a3)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 0) a1)
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:laddr32 subr2)
(push a2)
(push a1)
(bffix a1 101)
(call #:ldsparc:13-bit-positive-value?)
(btnil a1 103)
(push (@ 105))
(push '#:ldsparc:or-simm13)
(push 'rzero)
(push (& 3))
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
105
(eval ())
(bra 102)
103
(mov (& 0) a2)
(mov '0 a1)
(jcall cons)
(mov (& 1) a2)
(call #:ldsparc:laddr32loc)
(bra 102)
101
(jcall loc)
(mov (& 1) a2)
(call #:ldsparc:laddr32loc)
102
(mov (& 1) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:sign-extend subr2)
(push a2)
(push a1)
(call #:ldsparc:getvalue)
(push a1)
(mov 'rzero a1)
(call #:ldsparc:getvalue)
(pop a4)
(cabne a4 a1 101)
(push (@ 103))
(push '#:ldsparc:or)
(push 'rzero)
(push (& 3))
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
103
(eval ())
(adjstk '2)
(return)
101
(push (@ 104))
(push '#:ldsparc:sll-simm13)
(push (& 2))
(push '16)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
104
(eval ())
(push (@ 105))
(push '#:ldsparc:sra-simm13)
(push (& 3))
(push '16)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
105
(eval ())
(mov (& 1) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:laddr32loc subr2)
(push a2)
(push a1)
(push (@ 101))
(push '#:ldsparc:sethi)
(call #:ldsparc:high-loc)
(lshift '-10 a1)
(push a1)
(push (& 4))
(mov '3 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 0) a1)
(call #:ldsparc:high-loc)
(mov '1023 a4)
(land a1 a4)
(lshift '6 a4)
(push a4)
(mov (& 1) a1)
(call #:ldsparc:low-loc)
(lshift '-10 a1)
(pop a4)
(lor a1 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(push (@ 102))
(push '#:ldsparc:or-simm13)
(push (& 3))
(mov (& 3) a1)
(call #:ldsparc:low-loc)
(mov '1023 a4)
(land a1 a4)
(push a4)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
102
(eval ())
(mov (& 1) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:load32abs subr2)
(push a2)
(jcall loc)
(mov (& 0) a2)
(adjstk '1)
(bra #:ldsparc:load32loc)
))
(loader'((entry #:ldsparc:load32loc subr2)
(push a2)
(push a1)
(push (@ 101))
(push '#:ldsparc:sethi)
(call #:ldsparc:high-loc)
(lshift '-10 a1)
(push a1)
(push (& 4))
(mov '3 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 0) a1)
(call #:ldsparc:high-loc)
(mov '1023 a4)
(land a1 a4)
(lshift '6 a4)
(push a4)
(mov (& 1) a1)
(call #:ldsparc:low-loc)
(lshift '-10 a1)
(pop a4)
(lor a1 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(push (@ 102))
(push '#:ldsparc:ld-simm13)
(push (& 3))
(mov (& 3) a1)
(call #:ldsparc:low-loc)
(mov '1023 a4)
(land a1 a4)
(push a4)
(push (& 5))
(mov '4 a4)
(bra #:ldsparc:inst)
102
(eval ())
(mov (& 1) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:load32disp subr3)
(push a3)
(push (@ 101))
(push '#:ldsparc:ld-simm13)
(push a1)
(push a2)
(push a3)
(mov '4 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 0) a1)
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:store32abs subr3)
(push a3)
(push a1)
(mov a2 a1)
(jcall loc)
(mov (& 1) a3)
(mov a1 a2)
(pop a1)
(adjstk '1)
(bra #:ldsparc:store32loc)
))
(loader'((entry #:ldsparc:store32loc subr3)
(push a3)
(push a2)
(push a1)
(push (@ 101))
(push '#:ldsparc:sethi)
(mov a2 a1)
(call #:ldsparc:high-loc)
(lshift '-10 a1)
(push a1)
(push (& 5))
(mov '3 a4)
(bra #:ldsparc:inst)
101
(eval ())
(mov (& 1) a1)
(call #:ldsparc:high-loc)
(mov '1023 a4)
(land a1 a4)
(lshift '6 a4)
(push a4)
(mov (& 2) a1)
(call #:ldsparc:low-loc)
(lshift '-10 a1)
(pop a4)
(lor a1 a4)
(mov a4 a1)
(call #:ldsparc:1word)
(mov (& 1) a1)
(call #:ldsparc:low-loc)
(mov '1023 a4)
(land a1 a4)
(mov (& 2) a3)
(mov a4 a2)
(mov (& 0) a1)
(adjstk '3)
(bra #:ldsparc:store32disp)
))
(loader'((entry #:ldsparc:1word subr1)
(push a1)
(btnil (cvalq #:ldsparc:talkp) 102)
(push (@ 105))
(push (cvalq #:ldsparc:nwl))
(push '6)
(mov '2 a4)
(jmp >)
105
(eval ())
(btnil a1 104)
(mov '0 (cvalq #:ldsparc:nwl))
(push (@ 106))
(mov '0 a4)
(jmp terpri)
106
(eval ())
(push (@ 107))
(push '30)
(mov '1 a4)
(jmp outpos)
107
(eval ())
(mov (cvalq #:ldsparc:pccurrent) a1)
(call #:ldsparc:prinhex)
(push (@ 108))
(push '"  ")
(mov '1 a4)
(jmp prin)
108
(eval ())
104
(mov (cvalq #:ldsparc:nwl) a1)
(jcall 1+)
(mov a1 (cvalq #:ldsparc:nwl))
(push (@ 109))
(push '" ")
(mov '1 a4)
(jmp prin)
109
(eval ())
(mov (& 0) a1)
(call #:ldsparc:prinhex)
102
(mov (cvalq #:ldsparc:ecode) a2)
(mov (cvalq #:ldsparc: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 #:ldsparc:pccurrent))
(push (& 2))
(mov '2 a4)
(jmp memory)
118
(eval ())
(mov '2 a2)
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall incradr)
(mov a1 (cvalq #:ldsparc:pccurrent))
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:valadr subr1)
(push a1)
(btcons a1 101)
(mov (cvalq #:ldsparc:llabels) a2)
(jcall cassq)
(bfnil a1 103)
(mov (& 0) a1)
(jcall symbolp)
(btnil a1 105)
(mov '#:ldsparc: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 #:ldsparc:error)
))
(defvar #:ldsparc:unresolved-address '(-3856 . -3856))
(loader'((entry #:ldsparc:absolute-reference subr2)
(push a2)
(push a1)
(btnil (cvalq #:ldsparc:making-fasl?) 102)
(mov (cvalq #:ldsparc:pccurrent) a1)
(call #:ldsparc:fasl-record-pair-absolute-reference)
102
(mov (& 0) a1)
(call #:ldsparc:valadr)
(btnil a1 103)
(adjstk '2)
(return)
103
(bfsymb (& 0) 105)
(mov (cvalq #:ldsparc:llabels) a2)
(mov (& 0) a1)
(jcall assq)
(bfnil a1 105)
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall copy)
(mov a1 a3)
(mov (& 0) a2)
(mov (& 1) a1)
(call #:ldsparc:addentry)
(bra 106)
105
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall copy)
(mov a1 a3)
(mov (& 0) a2)
(mov (& 1) a1)
(call #:ldsparc:addlabel)
106
(mov (cvalq #:ldsparc:unresolved-address) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:relative-reference subr2)
(push a2)
(push a1)
(call #:ldsparc:valadr)
(btnil a1 101)
(mov (cvalq #:ldsparc:pccurrent) a2)
(adjstk '2)
(bra #:ldsparc:sa)
101
(bfsymb (& 0) 103)
(mov (cvalq #:ldsparc:llabels) a2)
(mov (& 0) a1)
(jcall assq)
(bfnil a1 103)
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall copy)
(mov a1 a3)
(mov (& 0) a2)
(mov (& 1) a1)
(call #:ldsparc:addentry)
(bra 104)
103
(mov (cvalq #:ldsparc:pccurrent) a1)
(jcall copy)
(mov a1 a3)
(mov (& 0) a2)
(mov (& 1) a1)
(call #:ldsparc:addlabel)
104
(mov (cvalq #:ldsparc:unresolved-address) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:rshiftadr subr1)
(push a1)
(bffix a1 101)
(lshift '-2 a1)
(adjstk '1)
(return)
101
(call #:ldsparc:high-loc)
(land '3 a1)
(lshift '14 a1)
(push a1)
(mov (& 1) a1)
(call #:ldsparc:low-loc)
(lshift '-2 a1)
(pop a4)
(lor a1 a4)
(mov (& 0) a3)
(mov a4 (cdr a3))
(push a3)
(mov a3 a1)
(call #:ldsparc:high-loc)
(mov '4 a2)
(jcall quo)
(pop a4)
(mov a1 (car a4))
(mov a4 a1)
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:solve-22rel subr1)
(push a1)
(mov a1 a2)
(mov (cvalq #:ldsparc:pccurrent) a1)
(call #:ldsparc:sa)
(call #:ldsparc:rshiftadr)
(push a1)
(push (@ 101))
(push (& 2))
(push (@ 102))
(push (& 4))
(mov '1 a4)
(jmp memory)
102
(eval ())
(land '-64 a1)
(mov (& 2) a4)
(mov (car a4) a4)
(land '63 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 #:ldsparc:solve-call-rel subr1)
(push a1)
(mov a1 a2)
(mov (cvalq #:ldsparc:pccurrent) a1)
(call #:ldsparc:sa)
(call #:ldsparc:rshiftadr)
(push a1)
(push (@ 101))
(push (& 2))
(call #:ldsparc:high-loc)
(mov '16384 a4)
(lor a1 a4)
(push a4)
(mov '2 a4)
(jmp memory)
101
(eval ())
(push (@ 102))
(mov '2 a2)
(mov (& 2) a1)
(jcall addadr)
(push a1)
(mov (& 2) a1)
(call #:ldsparc:low-loc)
(push a1)
(mov '2 a4)
(jmp memory)
102
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:solve-abs subr1)
(mov (cvalq #:ldsparc:pccurrent) a2)
(bra #:ldsparc:install-in-sethi)
))
(loader'((entry #:ldsparc:solve-code-abs subr1)
(push a1)
(mov (cvalq #:ldsparc:code-bias) a2)
(mov (cvalq #:ldsparc:pccurrent) a1)
(call #:ldsparc:sa)
(mov a1 a2)
(pop a1)
(bra #:ldsparc:install-in-sethi)
))
(loader'((entry #:ldsparc:install-in-sethi subr2)
(push a2)
(push a1)
(push (@ 101))
(push a1)
(push (@ 102))
(push a1)
(mov '1 a4)
(jmp memory)
102
(eval ())
(land '-64 a1)
(mov (& 3) a4)
(mov (car a4) a4)
(lshift '-10 a4)
(lor a4 a1)
(push a1)
(mov '2 a4)
(jmp memory)
101
(eval ())
(push (@ 103))
(mov '2 a2)
(mov (& 1) a1)
(jcall addadr)
(push a1)
(mov (& 3) a1)
(call #:ldsparc:high-loc)
(mov '1023 a4)
(land a1 a4)
(lshift '6 a4)
(push a4)
(mov (& 4) a1)
(call #:ldsparc:low-loc)
(lshift '-10 a1)
(pop a4)
(lor a1 a4)
(push a4)
(mov '2 a4)
(jmp memory)
103
(eval ())
(push (@ 104))
(mov '6 a2)
(mov (& 1) a1)
(jcall addadr)
(push a1)
(push (@ 105))
(mov '6 a2)
(mov (& 3) a1)
(jcall addadr)
(push a1)
(mov '1 a4)
(jmp memory)
105
(eval ())
(land '-8192 a1)
(push a1)
(mov (& 4) a1)
(call #:ldsparc:low-loc)
(mov '1023 a4)
(land a1 a4)
(pop a3)
(lor a4 a3)
(push a3)
(mov '2 a4)
(jmp memory)
104
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc:solve-contig-abs subr1)
(push a1)
(push (@ 101))
(push a1)
(mov (cvalq #:ldsparc:pccurrent) a1)
(call #:ldsparc:high-loc)
(push a1)
(mov '2 a4)
(jmp memory)
101
(eval ())
(push (@ 102))
(mov '2 a2)
(mov (& 1) a1)
(jcall addadr)
(push a1)
(mov (cvalq #:ldsparc:pccurrent) a1)
(call #:ldsparc:low-loc)
(push a1)
(mov '2 a4)
(jmp memory)
102
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:solve-label subr1)
(push a1)
(mov (cvalq #:ldsparc:llabels-not-resolved) a2)
(jcall cassq)
(push a1)
101
(bfcons (& 0) 102)
(mov (& 0) a1)
(mov (cdr a1) (& 0))
(mov (car a1) a1)
(call #:ldsparc:apply-solve-fn)
(bra 101)
102
(adjstk '1)
(mov (cvalq #:ldsparc:llabels-not-resolved) a2)
(mov (& 0) a1)
(jcall assq)
(mov (cvalq #:ldsparc:llabels-not-resolved) a2)
(jcall delete)
(mov a1 (cvalq #:ldsparc:llabels-not-resolved))
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:solventry subr1)
(push a1)
(mov (cvalq #:ldsparc:entries-not-resolved) a2)
(jcall cassq)
(push a1)
101
(bfcons (& 0) 102)
(mov (& 0) a1)
(mov (cdr a1) (& 0))
(mov (car a1) a1)
(call #:ldsparc:apply-solve-fn)
(bra 101)
102
(adjstk '1)
(mov (cvalq #:ldsparc:entries-not-resolved) a2)
(mov (& 0) a1)
(jcall assq)
(mov (cvalq #:ldsparc:entries-not-resolved) a2)
(jcall delete)
(mov a1 (cvalq #:ldsparc:entries-not-resolved))
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:apply-solve-fn subr1)
(push a1)
(mov (car a1) a1)
(cabne a1 '#:ldsparc:solve-abs 102)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:ldsparc:solve-abs)
102
(cabne a1 '#:ldsparc:solve-code-abs 103)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:ldsparc:solve-code-abs)
103
(cabne a1 '#:ldsparc:solve-22rel 104)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:ldsparc:solve-22rel)
104
(cabne a1 '#:ldsparc:solve-contig-abs 105)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:ldsparc:solve-contig-abs)
105
(cabne a1 '#:ldsparc:solve-call-rel 106)
(mov (& 0) a1)
(mov (cdr a1) a1)
(adjstk '1)
(bra #:ldsparc:solve-call-rel)
106
(mov (& 0) a2)
(mov (car a2) a2)
(mov '"unknown solve-function." a1)
(adjstk '1)
(bra #:ldsparc:error)
))
(loader'((entry #:ldsparc: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 #:ldsparc:sa subr2)
(push a2)
(mov '1 a2)
(call #:ldsparc: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 #:ldsparc:aa)
))
(loader'((entry #:ldsparc:addlabel subr3)
(push a3)
(push a2)
(push a1)
(push a2)
(mov (cvalq #:ldsparc: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 #:ldsparc:llabels-not-resolved) a2)
(jcall cons)
(mov a1 (cvalq #:ldsparc:llabels-not-resolved))
(adjstk '4)
(return)
))
(loader'((entry #:ldsparc:addentry subr3)
(push a3)
(push a2)
(push a1)
(push a2)
(mov (cvalq #:ldsparc: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 #:ldsparc:entries-not-resolved) a2)
(jcall cons)
(mov a1 (cvalq #:ldsparc:entries-not-resolved))
(adjstk '4)
(return)
))
(loader'((entry #:ldsparc:clean-llitt subr0)
(push (cvalq #:ldsparc: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 #:ldsparc:saved-by-loader) a2)
(mov (car a1) a1)
(jcall delq)
(mov a1 (cvalq #:ldsparc:saved-by-loader))
(bra 101)
103
(mov (& 2) a4)
(mov (cdr a4) (& 2))
(bra 101)
102
(mov (cvalq #:ldsparc:saved-by-loader) a1)
(jcall length)
(cnble a1 '0 107)
(mov (cvalq #:ldsparc:saved-by-loader) a1)
(jcall length)
(mov nil a2)
(jcall makevector)
(mov a1 (& 0))
108
(btnil (cvalq #:ldsparc:saved-by-loader) 109)
(mov (& 1) a4)
(plus '1 a4)
(mov a4 (& 1))
(mov (cvalq #:ldsparc:saved-by-loader) a3)
(mov (cdr a3) (cvalq #:ldsparc:saved-by-loader))
(hpmovx (car a3) (& 0) a4)
(bra 108)
109
(btnil (cvalq #:ldsparc:module) 110)
(mov '#:ldsparc:saved-by-loader a3)
(mov (& 0) a2)
(mov (cvalq #:ldsparc:module) a1)
(jcall putprop)
(bra 107)
110
(mov (cvalq #:ldsparc:global-saved-by-loader) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:ldsparc:global-saved-by-loader))
107
(mov nil (cvalq #:ldsparc:module))
(mov nil a1)
(adjstk '3)
(return)
))
(loader'((entry #:ldsparc:add-llitt subr1)
(push a1)
(mov (cvalq #:ldsparc:saved-by-loader) a2)
(jcall memq)
(bfnil a1 101)
(mov (cvalq #:ldsparc:saved-by-loader) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (cvalq #:ldsparc:saved-by-loader))
101
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:add-llitts subr1)
(push a1)
(mov (cvalq #:ld:shared-strings) a4)
(btnil a4 101)
(mov (cdr a1) a1)
(mov (cvalq #:ldsparc: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 #:ldsparc:saved-by-loader) a2)
(mov (car a1) a1)
(jcall cons)
(mov a1 (cvalq #:ldsparc: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 #:ldsparc:prinhex subr1)
(push a1)
(bffix a1 101)
(lshift '-8 a1)
(land '255 a1)
(call #:ldsparc:prinhexb)
(mov (& 0) a4)
(land '255 a4)
(mov a4 a1)
(call #:ldsparc:prinhexb)
(bra 102)
101
(bfcons a1 103)
(push (@ 105))
(push '"0x")
(mov '1 a4)
(jmp prin)
105
(eval ())
(mov (& 0) a1)
(mov (car a1) a1)
(call #:ldsparc:prinhex)
(push (@ 106))
(push '" ")
(mov '1 a4)
(jmp prin)
106
(eval ())
(mov (& 0) a1)
(mov (cdr a1) a1)
(call #:ldsparc:prinhex)
(bra 102)
103
(mov a1 a2)
(mov '#:ldsparc:prinhex a1)
(call #:ldsparc:error)
102
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((entry #:ldsparc:prinhexb subr1)
(push a1)
(btfix a1 101)
(mov a1 a2)
(mov '#:ldsparc:prinhexb a1)
(call #:ldsparc: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 #:ldsparc:mem nsubr)
(entry #:ldsparc:mem nsubr)
(cnbge a4 '1 0)
(mov '#:ldsparc: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 #:ldsparc:memory-dump)
(mov (& 1) a1)
(adjstk '2)
(return)
))
(loader'((entry #:ldsparc: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 #:ldsparc: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 #:ldsparc: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 #:ldsparc:talkp))
(mov a1 (cvalq #:ldsparc:talkp))
(push '1)
(push '(#:ldsparc:talkp))
(push (@ loader))
(push llink)
(mov nil llink)
(push dlink)
(push cbindn)
(stack dlink)
(bfcons a1 102)
(mov (car a1) (cvalq #:ldsparc:talkp))
102
(push (@ 103))
(mov '0 a4)
(jmp #:system:ccode)
103
(eval ())
(call #:ldsparc:pc-align)
(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 #:ldsparc:pccurrent))
(mov a1 (cvalq #:ldsparc:pccurrent))
(push (cvalq #:ex:regret))
(mov (& 2) (cvalq #:ex:regret))
(push (cvalq #:ldsparc:nwl))
(mov (& 4) (cvalq #:ldsparc:nwl))
(push (cvalq #:ldsparc:valaux))
(mov (& 7) (cvalq #:ldsparc:valaux))
(push (cvalq #:ldsparc:localstack))
(mov (& 9) (cvalq #:ldsparc:localstack))
(push (cvalq #:ldsparc:arg3))
(mov (& 11) (cvalq #:ldsparc:arg3))
(push (cvalq #:ldsparc:arg2))
(mov (& 13) (cvalq #:ldsparc:arg2))
(push (cvalq #:ldsparc:arg1))
(mov (& 15) (cvalq #:ldsparc:arg1))
(push (cvalq #:ldsparc:codop))
(mov (& 17) (cvalq #:ldsparc:codop))
(push (cvalq #:ldsparc:fntname))
(mov (& 19) (cvalq #:ldsparc:fntname))
(push (cvalq #:ldsparc:llabels-not-resolved))
(mov (& 21) (cvalq #:ldsparc:llabels-not-resolved))
(push (cvalq #:ldsparc:llabels))
(mov (& 23) (cvalq #:ldsparc:llabels))
(push '12)
(push '(#:ldsparc:pccurrent #:ex:regret #:ldsparc:nwl #:ldsparc:valaux #:ldsparc:localstack #:ldsparc:arg3 #:ldsparc:arg2 #:ldsparc:arg1 #:ldsparc:codop #:ldsparc:fntname #:ldsparc:llabels-not-resolved #:ldsparc:llabels))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 104))
(push '#:ldsparc:tagerr)
(push dlink)
(push tag)
(stack dlink)
105
(btnil (& 41) 106)
(mov '0 (cvalq #:ldsparc:nwl))
(mov (cvalq #:ldsparc:ecode) a2)
(mov (cvalq #:ldsparc: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 #:ldsparc:ins)
(btnil (cvalq #:ldsparc:talkp) 105)
(push (@ 117))
(mov '0 a4)
(jmp terpri)
117
(eval ())
(bra 105)
106
(mov '(endl) a1)
(call #:ldsparc:ins)
(push (@ 118))
(push (cvalq #:ldsparc:pccurrent))
(mov '1 a4)
(jmp #:system:ccode)
118
(eval ())
(mov (& 1) dlink)
(adjstk '4)
104
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:ldsparc:llabels))
(mov (& 7) (cvalq #:ldsparc:llabels-not-resolved))
(mov (& 8) (cvalq #:ldsparc:fntname))
(mov (& 9) (cvalq #:ldsparc:codop))
(mov (& 10) (cvalq #:ldsparc:arg1))
(mov (& 11) (cvalq #:ldsparc:arg2))
(mov (& 12) (cvalq #:ldsparc:arg3))
(mov (& 13) (cvalq #:ldsparc:localstack))
(mov (& 14) (cvalq #:ldsparc:valaux))
(mov (& 15) (cvalq #:ldsparc:nwl))
(mov (& 16) (cvalq #:ex:regret))
(mov (& 17) (cvalq #:ldsparc:pccurrent))
(adjstk '30)
(mov nil a1)
(mov (& 1) dlink)
(mov (& 2) llink)
(mov (& 6) (cvalq #:ldsparc: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)) ())))
(loader'((entry #:ldsparc:fasl-record-fentry subr2)
(mov nil a1)
(return)
))
(loader'((entry #:ldsparc:fasl-record-literal-reference subr2)
(mov nil a1)
(return)
))
(loader'((entry #:ldsparc:fasl-record-eval-literal-reference subr2)
(mov nil a1)
(return)
))
(loader'((entry #:ldsparc:fasl-record-pair-absolute-reference subr2)
(mov nil a1)
(return)
))
(loader'((entry #:ldsparc:fasl-write-block subr0)
(mov nil a1)
(return)
))
(loader'((entry #:ldsparc:fasl-emit-eval-block subr1)
(mov nil a1)
(return)
))
(loader '((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 'ldsparc))))
(loader '((end)))