-
Notifications
You must be signed in to change notification settings - Fork 0
/
k11er3.mac
132 lines (111 loc) · 4.17 KB
/
k11er3.mac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
.title rmser3 overlay 3 of 3 for rms error text
.psect
.macro save list
.if b , <list>
.ift
save <r0,r1,r2,r3,r4,r5>
.iff
.irp x,<list>
mov x,-(sp)
.endr
.endc
.endm save
.macro unsave list
.if b , <list>
.ift
unsave <r5,r4,r3,r2,r1,r0>
.iff
.irp x,<list>
mov (sp)+,x
.endr
.endc
.endm unsave
rmser3::save <r0,r1,r2> ; be nice to our caller
mov 4(r5) ,r1 ; return buffer address
mov r1 ,r2 ; save buffer address
clrb (r1)+ ; make first char .asciz
mov #77 ,r0 ; clear it out first
10$: movb #40 ,(r1)+ ; fill rest of buffer with spaces
sob r0 ,10$ ; next please
mov #dsp ,r0 ; get the index table for errors
20$: tst @r0 ; hit the end yet ?
beq 100$ ; yes, exit with no text
cmp @2(r5) ,@r0 ; type indexentry = record
beq 30$ ; errnum: integer
cmp (r0)+ ,(r0)+ ; errtxt: textaddress
br 20$ ; end ;
30$: mov 2(r0) ,r0 ; get the error text address
mov #77 ,r1 ; maxlength of 77 (8) bytes
40$: movb (r0)+ ,(r2)+ ; copy until 63 characters or a
beq 50$ ; null byte is found
sob r1 ,40$ ; next please
50$: clrb @r2 ; insure .asciz for output text
100$: unsave <r2,r1,r0> ; pop our registers and exit
return
.psect dsp ,ro,d,lcl,rel,con
dsp:
.psect msgtxt ,ro,d,lcl,rel,con
.macro $ioer$ nam,code,txt
.psect msgtxt
$$ = .
.ascii #nam#
.ascii # #
.asciz #txt#
.psect dsp
.word code,$$
nam = code
.psect
.endm
$IOER$ ER$NPK,-1184.,<INDEXED FILE-NO PRIMARY KEY DEFINED>
$IOER$ ER$OPN,-1200.,<RSTS/E OPEN FUNCTION FAILED(STV=SYS ERR CODE)>
$IOER$ ER$ORD,-1216.,<XAB'S NOT IN CORRECT ORDER>
$IOER$ ER$ORG,-1232.,<INVALID FILE ORGANIZATION VALUE>
$IOER$ ER$PLG,-1248.,<ERROR IN FILE'S PROLOGUE(RECONSTRUCT FILE)>
$IOER$ ER$PLV,-1256.,<FILE PROLOGUE VERSION LEVEL UNSUPPORTED>
$IOER$ ER$POS,-1264.,<"POS" FIELD INVALID(POS GT MRS,STV=@XAB)>
$IOER$ ER$PRM,-1280.,<BAD FILE DATE FIELD RETRIEVED(STV=@XAB)>
$IOER$ ER$PRV,-1296.,<PRIVILEGE VIOLATION(OS DENIES ACCESS)>
$IOER$ ER$RAB,-1312.,<NOT A VALID RAB>
$IOER$ ER$RAC,-1328.,<ILLEGAL RAC VALUE>
$IOER$ ER$RAT,-1344.,<ILLEGAL RECORD ATTRIBUTES>
$IOER$ ER$RBF,-1360.,<INVALID RECORD BUFFER ADDR>
$IOER$ ER$RER,-1376.,<FILE READ ERROR(STV=SYS ERR CODE)>
$IOER$ ER$REX,-1392.,<RECORD ALREADY EXISTS>
$IOER$ ER$RFA,-1408.,<BAD RFA VALUE>
$IOER$ ER$RFM,-1424.,<INVALID RECORD FORMAT>
$IOER$ ER$RLK,-1440.,<TARGET BUCKET LOCKED BY ANOTHER ACCESSOR>
$IOER$ ER$RMV,-1456.,<RSX-F11ACP REMOVE FUNCTION FAILED(STV=SYS ERR CODE)>
$IOER$ ER$RNF,-1472.,<RECORD NOT FOUND(STV=0/ER$IDX)>
$IOER$ ER$RNL,-1488.,<RECORD NOT LOCKED>
$IOER$ ER$ROP,-1504.,<INVALID RECORD OPTIONS>
$IOER$ ER$RPL,-1520.,<ERROR WHILE READING PROLOGUE(STV=SYS ERR CODE)>
$IOER$ ER$RRV,-1536.,<INVALID RRV RECORD ENCOUNTERED>
$IOER$ ER$RSA,-1552.,<THIS ERROR CODE NO LONGER USED>
$IOER$ ER$RSL,-1556.,<NO RESULTANT STRING IN RESULTANT STRING AREA>
$IOER$ ER$RSS,-1560.,<INVALID RESULTANT STRING SIZE>
$IOER$ ER$RST,-1564.,<INVALID RESULTANT STRING ADDRESS>
$IOER$ ER$RSZ,-1568.,<BAD RECORD SIZE>
$IOER$ ER$RTB,-1584.,<RECORD TOO BIG FOR USER'S BUFFER(STV=ACTUAL REC SIZE)>
$IOER$ ER$RVU,-1592.,<RRV UPDATE ERROR ON INSERT>
$IOER$ ER$SEQ,-1600.,<PRIMARY KEY OUT OF SEQUENCE(RAC=RB$SEQ FOR $PUT)>
$IOER$ ER$SHR,-1616.,<UNRECOGNIZABLE VALUE IN FAB SHR FIELD>
$IOER$ ER$SIZ,-1632.,<"SIZ" FIELD INVALID(STV=@XAB)>
$IOER$ ER$STK,-1648.,<THIS ERROR CODE NO LONGER USED>
$IOER$ ER$SUP,-1656.,<OPERATION UNSUPPORTED OVER NETWORK>
$IOER$ ER$SYS,-1664.,<SYSTEM DIRECTIVE ERROR(STV=SYS ERR CODE)>
$IOER$ ER$TRE,-1680.,<INDEX TREE ERROR>
$IOER$ ER$TYP,-1696.,<ERROR IN FILE TYPE EXTENSION>
$IOER$ ER$UBF,-1712.,<INVALID USER BUFFER ADDR>
$IOER$ ER$UIN,-1720.,<FAL REJECTED SOME FIELD (STV TELLS WHICH)>
$IOER$ ER$USZ,-1728.,<INVALID USER BUFFER SIZE(USZ=0)>
$IOER$ ER$VER,-1744.,<ERROR IN VERSION NUMBER>
$IOER$ ER$VOL,-1760.,<INVALID VOLUME NUMBER(STV=@XAB)>
$IOER$ ER$WCD,-1768.,<WILD CARD ENCOUNTERED DURING FNA/DNA STRING PARSE>
$IOER$ ER$WER,-1776.,<FILE WRITE ERROR(STV=SYS ERR CODE)>
$IOER$ ER$WLK,-1784.,<DEVICE IS WRITE-LOCKED>
$IOER$ ER$WPL,-1792.,<ERROR WHILE WRITING PROLOGUE(STV=SYS ERR CODE)>
$IOER$ ER$XAB,-1808.,<NOT A VALID XAB(@XAB=ODD,STV=@XAB)>
$IOER$ ER$XTR,-1824.,<EXTRANEOUS FIELD DETECTED DURING PARSE>
.psect dsp
.word 0,0 ; mark end of text
.end