home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / pdp11 / k11er1.mac < prev    next >
Text File  |  2020-01-01  |  4KB  |  126 lines

  1.     .title    rmser1    1st ovrelay for rms11 error text
  2.  
  3.     .psect
  4.  
  5.  
  6.     .macro    save    list
  7.     .if b , <list>
  8.     .ift
  9.      save    <r0,r1,r2,r3,r4,r5>
  10.     .iff
  11.     .irp    x,<list>
  12.      mov    x,-(sp)
  13.         .endr
  14.     .endc
  15.     .endm    save
  16.  
  17.  
  18.     .macro    unsave    list
  19.     .if b , <list>
  20.     .ift
  21.     unsave    <r5,r4,r3,r2,r1,r0>
  22.     .iff
  23.     .irp    x,<list>
  24.      mov    (sp)+,x
  25.         .endr
  26.     .endc
  27.     .endm    unsave
  28.  
  29.  
  30. rmser1::save    <r0,r1,r2>        ; be nice to our caller
  31.     mov    4(r5)    ,r1        ; return buffer address
  32.     mov    r1    ,r2        ; save buffer address
  33.     clrb    (r1)+            ; make first char .asciz
  34.     mov    #77    ,r0        ; clear it out first
  35. 10$:    movb    #40    ,(r1)+        ; fill rest of buffer with spaces
  36.     sob    r0    ,10$        ; next please
  37.     mov    #dsp    ,r0        ; get the index table for errors
  38. 20$:    tst    @r0            ; hit the end yet ?
  39.     beq    100$            ; yes, exit with no text
  40.     cmp    @2(r5)    ,@r0        ; type indexentry = record
  41.     beq    30$            ;       errnum: integer
  42.     cmp    (r0)+    ,(r0)+        ;    errtxt: textaddress
  43.     br    20$            ;      end ;
  44.  
  45. 30$:    mov    2(r0)    ,r0        ; get the error text address
  46.     mov    #77    ,r1        ; maxlength of 77 (8) bytes
  47. 40$:    movb    (r0)+    ,(r2)+        ; copy until 63 characters or a
  48.     beq    50$            ; null byte is found
  49.     sob    r1    ,40$        ; next please
  50. 50$:    clrb    @r2            ; insure .asciz for output text
  51.  
  52. 100$:    unsave    <r2,r1,r0>        ; pop our registers and exit
  53.     return
  54.  
  55.  
  56.  
  57.  
  58.     .psect    dsp    ,ro,d,lcl,rel,con
  59. dsp:
  60.     .psect    msgtxt    ,ro,d,lcl,rel,con
  61.     .macro    $ioer$    nam,code,txt
  62.  
  63.     .psect    msgtxt
  64.     $$ = .
  65.     .ascii    #nam#
  66.     .ascii    #  #
  67.     .asciz    #txt#
  68.     .psect    dsp
  69.     .word    code,$$
  70.     nam    =    code
  71.     .psect
  72.     .endm
  73.  
  74.  
  75. $IOER$    ER$ABO,-16.,<THIS ERROR CODE NO LONGER IN USE>
  76. $IOER$    ER$ACC,-32.,<F11ACP ACCESS ERROR  OR FILE IMPROPERLY CLOSED OR CREATED>
  77. $IOER$    ER$ACT,-48.,<CURRENT RMS ACTIVITY PRECLUDES OPERATION>
  78. $IOER$    ER$AID,-64.,<BAD AREA ID(STV=@XAB)>
  79. $IOER$    ER$ALN,-80.,<ALIGNMENT OPTIONS ERROR(STV=@XAB)>
  80. $IOER$    ER$ALQ,-96.,<IMPROPER ALLOCATION QUANTITY>
  81. $IOER$    ER$ANI,-112.,<NOT ANSI "D" FORMAT>
  82. $IOER$    ER$AOP,-128.,<ALLOCATION OPTIONS ERROR(STV=@XAB)>
  83. $IOER$    ER$AST,-144.,<INVALID OPERATION AT AST LEVEL>
  84. $IOER$    ER$ATR,-160.,<ATTRIBUTE READ ERROR(STV=SYS ERR CODE)>
  85. $IOER$    ER$ATW,-176.,<ATTRIBUTE WRITE ERROR(STV=SYS ERR CODE)>
  86. $IOER$    ER$BKS,-192.,<BUCKET SIZE TOO LARGE(FAB)>
  87. $IOER$    ER$BKZ,-208.,<BUCKET SIZE TOO LARGE(STV=@XAB)>
  88. $IOER$    ER$BLN,-224.,<THIS ERROR CODE NO LONGER IN USE>
  89. $IOER$    ER$BOF,-232.,<BEGINNING OF FILE DETECTED($SPACE)>
  90. $IOER$    ER$BPA,-240.,<PRIVATE POOL ADDRESS ZERO OR NOT WORD-ALIGNED>
  91. $IOER$    ER$BPS,-256.,<PRIVATE POOL SIZE NOT MULTIPLE OF "4">
  92. $IOER$    ER$BUG,-272.,<INTERNAL RMS ERROR CONDITION DETECTED>
  93. $IOER$    ER$CCR,-288.,<CAN'T CONNECT RAB>
  94. $IOER$    ER$CHG,-304.,<$UPDATE-KEY CHANGE WITHOUT HAVING ATTRIBUTE OF XB$CHG SET>
  95. $IOER$    ER$CHK,-320.,<BUCKET HEADER CORRUPTED>
  96. $IOER$    ER$CLS,-336.,<RSTS/E CLOSE FUNCTION FAILED(STV=SYS ERR CODE)>
  97. $IOER$    ER$COD,-352.,<INVALID OR UNSUPPORTED "COD" FIELD(STV=@XAB)>
  98. $IOER$    ER$CPB,-360.,<PARAMETER BLOCK HAS INVALID ARGUMENT LIST>
  99. $IOER$    ER$CRE,-368.,<COULD NOT CREATE FILE(STV=SYS ERR CODE)>
  100. $IOER$    ER$CUR,-384.,<NO CURRENT RECORD(OPERATION NOT PRECEDED BY GET/FIND)>
  101. $IOER$    ER$DAC,-400.,<F11ACP DEACCESS ERROR DURING "CLOSE"(STV=SYS ERR CODE)>
  102. $IOER$    ER$DAN,-416.,<DATA AREA NUMBER INVALID(STV=@XAB)>
  103. $IOER$    ER$DEL,-432.,<RFA-ACCESSED RECORD WAS DELETED>
  104. $IOER$    ER$DEV,-448.,<BAD DEVICE, OR INAPPROPRIATE DEVICE TYPE>
  105. $IOER$    ER$DFW,-456.,<ERROR OCCURRED ON DEFERRED WRITE (STV=SYS ERR CODE)>
  106. $IOER$    ER$DIR,-464.,<ERROR IN DIRECTORY NAME>
  107. $IOER$    ER$DME,-480.,<DYNAMIC MEMORY EXHAUSTED>
  108. $IOER$    ER$DNA,-488.,<ZERO DNA WITH NON-ZERO DNS>
  109. $IOER$    ER$DNF,-496.,<DIRECTORY NOT FOUND>
  110. $IOER$    ER$DNR,-512.,<DEVICE NOT READY>
  111. $IOER$    ER$DPE,-520.,<DEVICE POSITIONING ERROR(STV=SYS ERR CODE)>
  112. $IOER$    ER$DTP,-528.,<"DTP" FIELD INVALID(STV=@XAB)>
  113. $IOER$    ER$DUP,-544.,<DUPLICATE KEY DETECTED, XB$DUP ATTRIBUTE NOT SET>
  114. $IOER$    ER$ENT,-560.,<RSX-F11ACP ENTER FUNCTION FAILED(STV=SYS ERR CODE)>
  115. $IOER$    ER$ENV,-576.,<OPERATION NOT SELECTED IN ORG$ OR TKB>
  116. $IOER$    ER$EOF,-592.,<END-OF-FILE>
  117. $IOER$    ER$ESA,-600.,<EXPANDED STRING ADDRESS IS ZERO>
  118. $IOER$    ER$ESL,-604.,<NO EXPANDED STRING IN EXPANDED STRING AREA>
  119. $IOER$    ER$ESS,-608.,<EXPANDED STRING AREA TOO SHORT>
  120. $IOER$    ER$EXP,-616.,<FILE EXPIRATION DATE NOT YET REACHED>
  121.  
  122.     .psect    dsp
  123.     .word    0,0            ; mark end of text
  124.  
  125.     .end
  126.