|
|
DataMuseum.dkPresents historical artifacts from the history of: RC3500 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC3500 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 15360 (0x3c00)
Types: TextFileVerbose
Names: »lmitxt000«
└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
└─⟦093e2ad1c⟧
└─⟦this⟧ »lmitxt000«
;;
;; begin lmitxt000
;;
.m rc 3502 micro-program parameters
;;
.m rev: 810616 fh/hlv
;;
;
version= 25 ;
;
;; register def
.w0= 0 ;
.w1= 1 ;
.w2= 2 ;
.w3= 3 ;
.w4= 4 ;
.w5= 5 ;
.w6= 6 ;
.w7= 7 ;last read ic word
.w8= 8 ;
.w9= 9 ;
.w10= 0a ;
.w11= 0b ;
.slu= 8 ;
.slb= 9 ; =pb
.spb= 9 ;
.sic= 0a ;
.sib= 0b ;
.reg= 0c ;
.lev= 0d ;
.errd= 0e ;
.errb= 0f ;
.p ;
cow= 3eb ;
;
startlevel= 1 ;
monitrlev= 1 ;
firstreg= 0f ;
ramonitor= 3e7 ;
racom8085= 3ef ;
rawork= 3f7 ;
radummy= 3ff ;
;
autobase= 0e0 ;
autodisp= 2 ;
lubase= 0c0 ;
basedata= 0c0 ;
;
setworklen= 0e ; no of bytes used by setinstructions
; to store the internal variables.
.p ;
.m incarnation descr
;
puno= 3 ;
level= 4 ;
regbase= 5 ;
shwt= 7 ;
actq= 0b ;
chainhead= 0f ;
excode= 13 ;
exaddr= 15 ;
exic= 19 ;
dumplm= 1d ; lm, ps, lu, sf, ib, ic
dumpps= dumplm + 2 ;
timer= 29 ;
maxstack= 2b ;
tchain= 49 ; timerchain
statistic= 51 + 2 ; statistic collection table disp.
maxstackrel= maxstack - exic ;
;;
;; message head
;;
msgtype= 4 ;
msgsize= 6 ;; must be msgtype + 2
msgsadr= 8 ;; must be msgsize + 2
msgstack= 18 ;; stackchain
;;
;; input/output parameters
;;
;; ditimer1: din busy timer before sup.int.
;; ditimer1 = 0 : 10 mhz version
;; = 7 : 18 mhz version ( = 2.22425 us )
;;
ditimer1= 7 ;
ditimer2= 8a - ditimer1 ; -,din busy timeout counter = 29.946 us ( 18 mhz )
;;
;; soft (internal) interrupt parameters
;;
sintmax= 7 ; soft interrupts between 0 and 7 incl.
sregmax= 3f ; soft interrupts max reg no 7*8+7;
.p ;
;;
;; reg.ps formats
;;
psi= 20 ; interrupt wait cause
pss= 40 ; semaphore wait cause
pst= 80 ; timer wait cause
psc= 100 ; controlword on stack (*must be 100*)
pswait= psi + pss + pst + psc ; ps.wait mask (* must be 1e0 *)
.p ;
;;
;; instruction codes
;;
;;
;; warning:
;;
;; the following instructions:
;; wait and multiple wait instructions,
;; i/o instructions,
;; ais instructions
;; utilize the value of their instruction codes. therefore these values
;; can not be changed freely.
;;
mwi= 88 ;
cwait= 10 ;
mwis= 18 ;
mwt= 20 ;
mwit= 28 ;
mwst= 30 ;
mwist= 38 ;
mcis= 58 ;
mcit= 68 ;
mcist= 78 ;
;
;; 0 = excpt.
;
rec0= 60 ;
;
rec1= 1 ;
rec2= 2 ;
rec3= 3 ;
rec4= 4 ;
rec5= 5 ;
rec6= 6 ;
rec7= 7 ;
rec8= 8 ;
rec9= 9 ;
rec10= 0a ;
rec11= 0b ;
rec12= 0c ;
rec13= 0d ;
rec14= 0e ;
rec15= 0f ;
;
csign= 11 ;
crele= 12 ;
cllst= 13 ;
cskip= 14 ;
csens= 15 ;
cwtac= 16 ;
mwtac= 17 ;
;
mtime= 19 ;
csell= 1a ;
cstop= 1b ;
cstdr= 1c ;
sched= 1d ;
cslev= 1e ;
cgreg= 1f ;
;
iowc= 21 ;
iors= 22 ;
iorw= 23 ;
ioww= 24 ;
iogo= 25 ;
iogi= 26 ;
ionci= 27 ;
;
iocci= 29 ;
iocda= 2a ;
ioibx= 2b ;
;; 2c,2d
;
mxept= 2e ;
mnoop= 2f ;
;
ult= 31 ;
eq= 32 ;
ne= 33 ;
lt= 34 ;
gt= 35 ;
le= 36 ;
ge= 37 ;
;
tnill= 39 ;
topen= 3a ;
tlock= 3b ;
teqad= 3c ;
notinstr= 3d ;
;; 3e, 3f
;
madd= 40 ;
msub= 41 ;
uadd= 42 ;
usub= 43 ;
add= 44 ;
sub= 45 ;
umul= 46 ;
udiv= 47 ;
umod= 48 ;
mul= 49 ;
div= 4a ;
mod= 4b ;
andinstr= 4c ;
or= 4d ;
xorinstr= 4e ;
crc16= 4f ;
;
neg= 50 ;
abs= 51 ;
compl= 52 ;
shc= 53 ;
shc8= 54 ;
;; sha=55
;
setcr= 56 ;
settm= 57 ;
;
seteq= 59 ;
setsb= 5a ;
setsp= 5b ;
setun= 5c ;
setin= 5d ;
setdi= 5e ;
setad= 5f ;
;
jmzeq= 61 ;
jmzne= 62 ;
jmzlt= 63 ;
jmzgt= 64 ;
jmzle= 65 ;
jmzge= 66 ;
jmprw= 67 ;
;
jmphc= 69 ;
jmppd= 6a ;
jmcht= 6b ;
intrs= 6c ;
index= 6d ;
inprs= 6e ;
inpss= 6f ;
;
iorbbc= 70 ;
iorbb= 71 ;
iowbbc= 72 ;
iowbb= 73 ;
iorbwc= 74 ;
iorbw= 75 ;
iowbwc= 76 ;
iowbw= 77 ;
;
pcald= 79 ;
pcals= 7a ;
pexit= 7b ;
;
lpush= 7c ;
lpop= 7d ;
lrese= 7e ;
llock= 7f ;
;
svsb0= 80 ;
svsb2= 82 ;
svsb4= 84 ;
svsb6= 86 ;
;
svsb28= 9c ;
svsb29= 9d ;
svsb30= 9e ;
svsb31= 9f ;
;
rvsb0= 81 ;
rvsb2= 83 ;
rvsb4= 85 ;
rvsb6= 87 ;
rvsb12= 8d ;
;
svsw0= 0a0 ;
svsw2= 0a2 ;
svsw4= 0a4 ;
svsw6= 0a6 ;
;
svsw28= 0bc ;
svsw29= 0bd ;
svsw30= 0be ;
svsw31= 0bf ;
;
rvsw0= 0a1 ;
rvsw2= 0a3 ;
rvsw4= 0a5 ;
rvsw6= 0a7 ;
rvsw12= 0ad ;
;
svsf0= 0c0 ;
svsf2= 0c2 ;
svsf4= 0c4 ;
svsf6= 0c6 ;
;
svsf28= 0dc ;
svsf29= 0dd ;
svsf30= 0de ;
svsf31= 0df ;
;
rvsf0= 0c1 ;
rvsf2= 0c3 ;
rvsf4= 0c5 ;
rvsf6= 0c7 ;
rvsf12= 0cd ;
;
rvsd0= 0e1 ;
rvsd2= 0e3 ;
rvsd4= 0e5 ;
rvsd6= 0e7 ;
rvsd12= 0ed ;
;
revgbs= 89 ;
revgws= 0a9 ;
revgfs= 0c9 ;
revgds= 0e9 ;
;
stvlbs= 8a ;
stvlws= 0aa ;
stvlfs= 0ca ;
stvlds= 0ea ;
;
revlbs= 8b ;
revlws= 0ab ;
revlfs= 0cb ;
revlds= 0eb ;
;
reagds= 0ce ;
realds= 0cf ;
rechws= 0c8 ;
;
stvgb= 92 ;
stvgw= 0b2 ;
stvgf= 0d2 ;
stvgd= 0f2 ;
;
revgb= 93 ;
revgw= 0b3 ;
revgf= 0d3 ;
revgd= 0f3 ;
;
stvib= 94 ;
stviw= 0b4 ;
stvif= 0d4 ;
stvid= 0f4 ;
;
revib= 95 ;
reviw= 0b5 ;
revif= 0d5 ;
revid= 0f5 ;
;
stvlb= 96 ;
stvlw= 0b6 ;
stvlf= 0d6 ;
stvld= 0f6 ;
;
revlb= 97 ;
revlw= 0b7 ;
revlf= 0d7 ;
revld= 0f7 ;
;
stvsb= 98 ;
stvsw= 0b8 ;
stvsf= 0d8 ;
stvsd= 0f8 ;
;
revsb= 99 ;
revsw= 0b9 ;
revsf= 0d9 ;
revsd= 0f9 ;
;
stvab= 9a ;
stvaw= 0ba ;
stvaf= 0da ;
stvad= 0fa ;
;
revab= 9b ;
revaw= 0bb ;
revaf= 0db ;
revad= 0fb ;
;
stnhb= 8c ;
renpb= 8e ;
renhb= 8f ;
;
rechw= 0a8 ;
rechd= 0e8 ;
;
reagd= 0e0 ;
reaid= 0e2 ;
reald= 0e4 ;
reasd= 0e6 ;
;
reard= 0fc ;
reaxd= 0fd ;
;
revpw= 0af ;
revpd= 0ef ;
;
moveb= 0ac ;
moveg= 0ae ;
revsm= 0cc ;
setst= 0ec ;
stcea= 0ee ;
;
readb= 90 ;
readw= 0b0 ;
;
crget= 91 ;
crput= 0b1 ;
;
crram= 0d0 ;
cwram= 0f0 ;
;
mbtes= 0d1 ;
mbset= 0f1 ;
;
cexch= 0fe ;
;
;; ff = excpt.
.p ;
;;
;; error codes
;;
csigne= 1 ; signal: reference = nill
renpbe0= 2 ; a number of words is specified by an odd number of bytes
revafe0= 3 ; xxxxf: illegal field (last < first byte)
stvafe0= 4 ; stvxf: field overflow.
iocdae0= 5 ; iocda/ioibx: nill msgptr
iocdae1= 6 ; iocda: not channel msg
ioblev0e= 7 ; i/o block instr: lev=0
ioibxe0= 8 ; ioibx: not data message
ioibxe1= 9 ; ioibx: size too small
ioibxe2= 0a ; ioibx: top <= first
arite= 0b ; arithmetic overflow
indexe= 0c ; index exception
undefins= 0d ; undefined instruction code
setodde= 0e ; odd lengths in sets
setade= 0f ; setad truncation error
stackovf= 10 ; stack overflow during stack increase
packe= 11 ; intrs, illegal value
nilade= 12 ; stack address nill
lpushe1= 13 ; lpush: nill r1
lpushe2= 14 ; lpush: not empty(r1)
lpushe3= 15 ; lpush: r1 = r2
lpushe4= 16 ; lpush: locked(r2)
lpope1= 17 ; lpop: not nill(r1)
lpope2= 18 ; lpop: nill(r2)
lpope3= 19 ; lpop: locked(r2)
waite= 1a ; wait: reference <> nill
llocke= 1b ; locked reference;
llocke1= 1c ; llock: type error;
llocke2= 1d ; llock: size error;
mwse1= 1e ; mws: semaphore locked;
;;
;; end of parameters
;;
;; end lmitxt000
;;
.p ;
«eof»