home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol049 / mdbser.asm < prev    next >
Assembly Source File  |  1984-04-29  |  6KB  |  372 lines

  1.     TITLE    'MDBS ERROR MESSAGE PROGRAM'
  2. ;PROGRAM
  3. ;        MDBS ERROR MESSAGE PROGRAM
  4. ;PROGRAMMER
  5. ;        ROBERT M. WHITE
  6. ;DATE WRITTEN
  7. ;        AUGUST 26, 1980
  8. ;(C)COPYRIGHT    1980,H & W COMPUTER SYSTEMS, INC.
  9. ;PURPOSE
  10. ;        THIS ROUTINE ISSUES AN MDBS ERROR MESSAGE BASED
  11. ;        ON THE PASSED RETURN CODE.
  12. ;REMARKS
  13.  
  14. ERRMSG    MACRO    MSG
  15.     LOCAL    MSGBGN,MSGEND
  16.     DB    MSGEND-MSGBGN        ;;MESSAGE LENGTH
  17. MSGBGN:
  18.     DB    MSG            ;;ACTUAL MESSAGE
  19. MSGEND:
  20.     ENDM
  21.  
  22. ;        DO INITIALIZATION.
  23.     NAME    'MDBSER'
  24. ERMDBS:    CSEG
  25.     PUBLIC    ERMDBS
  26.  
  27. ;        GET THE MESSAGE #.
  28.     MOV    E,M
  29.     INX    H
  30.     MOV    D,M
  31.     INX    H
  32.     XCHG
  33.     MOV    A,M
  34.  
  35. ;        IF MSG#=-1 THEN ISSUE SPECIAL MESSAGE.
  36.     CPI    255        ;IS IT 255?
  37.     JNZ    NOT255        ;...NO.
  38.     LXI    H,PRM255    ;POINT TO MESSAGE.
  39.     JMP    PUTERR        ;ISSUE IT.
  40.     EXTRN    PUTERR
  41. NOT255:
  42.  
  43. ;        GET THE MESSAGE  AND ISSUE IT.
  44.     ANI    07FH        ;LIMIT TO 0-127.
  45.     MOV    E,A        ;DE = MESSAGE #
  46.     MVI    D,0
  47.     LXI    H,ERRPRM    ;POINT TO PARM TABLE.
  48.     DAD    D        ;POINT TO ENTRY.
  49.     DAD    D
  50.     JMP    PUTERR        ;ISSUE IT.
  51.     EXTRN    PUTERR
  52.     PAGE
  53. ;****************************************************************
  54. ;*            PROGRAM CONSTANTS            *
  55. ;****************************************************************
  56.  
  57. ;        INPUT PARM.
  58.     DSEG
  59. ERRPRM:                ;ERROR MESSAGE PTR TABLE
  60.     DW    ERM000
  61.     DW    ERM001
  62.     DW    ERM002
  63.     DW    ERM003
  64.     DW    ERM004
  65.     DW    ERM005
  66.     DW    ERM006
  67.     DW    ERM007
  68.     DW    ERM008
  69.     DW    ERM009
  70.     DW    ERM010
  71.     DW    ERM011
  72.     DW    ERM012
  73.     DW    ERM013
  74.     DW    ERM014
  75.     DW    ERM015
  76.     DW    ERM016
  77.     DW    ERM017
  78.     DW    ERM018
  79.     DW    ERM019
  80.     DW    ERM020
  81.     DW    ERM021
  82.     DW    ERM022
  83.     DW    ERM023
  84.     DW    ERM024
  85.     DW    ERM025
  86.     DW    ERM026
  87.     DW    ERM027
  88.     DW    ERM028
  89.     DW    ERM029
  90.     DW    ERM030
  91.     DW    ERM031
  92.     DW    ERM032
  93.     DW    ERM033
  94.     DW    ERM034
  95.     DW    ERM035
  96.     DW    ERM036
  97.     DW    ERM037
  98.     DW    ERM038
  99.     DW    ERM039
  100.     DW    ERM040
  101.     DW    ERM041
  102.     DW    ERM042
  103.     DW    ERM043
  104.     DW    ERM044
  105.     DW    ERM045
  106.     DW    ERM046
  107.     DW    ERM047
  108.     DW    ERM048
  109.     DW    ERM049
  110.     DW    ERM050
  111.     DW    ERM051
  112.     DW    ERM052
  113.     DW    ERM053
  114.     DW    ERM054
  115.     DW    ERM055
  116.     DW    ERM056
  117.     DW    ERM057
  118.     DW    ERM058
  119.     DW    ERM059
  120.     DW    ERM060
  121.     DW    ERM061
  122.     DW    ERM062
  123.     DW    ERM063
  124.     DW    ERM064
  125.     DW    ERM065
  126.     DW    ERM066
  127.     DW    ERM067
  128.     DW    ERM068
  129.     DW    ERM069
  130.     DW    ERM070
  131.     DW    ERM071
  132.     DW    ERM072
  133.     DW    ERM073
  134.     DW    ERM074
  135.     DW    ERM075
  136.     DW    ERM076
  137.     DW    ERM077
  138.     DW    ERM078
  139.     DW    ERM079
  140.     DW    ERM080
  141.     DW    ERM081
  142.     DW    ERM082
  143.     DW    ERM083
  144.     DW    ERM084
  145.     DW    ERM085
  146.     DW    ERM086
  147.     DW    ERM087
  148.     DW    ERM088
  149.     DW    ERM089
  150.     DW    ERM090
  151.     DW    ERM091
  152.     DW    ERM092
  153.     DW    ERM093
  154.     DW    ERM094
  155.     DW    ERM095
  156.     DW    ERM096
  157.     DW    ERM097
  158.     DW    ERM098
  159.     DW    ERM099
  160.     DW    ERM100
  161.     DW    ERM101
  162.     DW    ERM102
  163.     DW    ERM103
  164.     DW    ERM104
  165.     DW    ERM105
  166.     DW    ERM106
  167.     DW    ERM107
  168.     DW    ERM108
  169.     DW    ERM109
  170.     DW    ERM110
  171.     DW    ERM111
  172.     DW    ERM112
  173.     DW    ERM113
  174.     DW    ERM114
  175.     DW    ERM115
  176.     DW    ERM116
  177.     DW    ERM117
  178.     DW    ERM118
  179.     DW    ERM119
  180.     DW    ERM120
  181.     DW    ERM121
  182.     DW    ERM122
  183.     DW    ERM123
  184.     DW    ERM124
  185.     DW    ERM125
  186.     DW    ERM126
  187.     DW    ERM127
  188. PRM255:    DW    ERM255
  189.  
  190. ;        ERROR MESSAGES
  191. ERM000:
  192.     ERRMSG '*** SUCCESSFUL COMPLETION ***'
  193. ERM001:
  194.     ERRMSG '*** DATA BASE NOT OPEN ***'
  195. ERM002:
  196.     ERRMSG '*** INVALID SET-TYPE ***'
  197. ERM003:
  198.     ERRMSG '*** INVALID RECORD-TYPE ***'
  199. ERM004:
  200.     ERRMSG '*** INVALID ITEM-TYPE FOR THIS RECORD-TYPE ***'
  201. ERM005:
  202.     ERRMSG '*** INVALID OWNER-TYPE FOR THIS SET-TYPE ***'
  203. ERM006:
  204.     ERRMSG '*** INVALID MEMBER-TYPE FOR THIS SET-TYPE ***'
  205. ERM007:
  206.     ERRMSG '*** INVALID DATA BASE KEY ***'
  207. ERM008:
  208.     ERRMSG '*** NO CURRENT OWNER OF SET-TYPE ***'
  209. ERM009:
  210.     ERRMSG '*** NO CURRENT MEMBER OF THIS SET-TYPE ***'
  211. ERM010:
  212.     ERRMSG '*** NO CURRENT OF RECORD-TYPE ***'
  213. ERM011:
  214.     ERRMSG '*** RECORD ALREADY MEMBER OF SET ***'
  215. ERM012:
  216.     ERRMSG '*** RECORD NOT MEMBER OF SET ***'
  217. ERM013:
  218.     ERRMSG '*** DEPENDING ON ITEM TOO LARGE OR NEGATIVE ***'
  219. ERM014:
  220.     ERRMSG '*** DATA BASE ALREADY OPEN ***'
  221. ERM015:
  222.     ERRMSG '*** DATA BASE NOT CLOSED PREVIOUSLY ***'
  223. ERM016:
  224.     ERRMSG '*** NO CURRENT OF RUN UNIT ***'
  225. ERM017:
  226.     ERRMSG '*** NO MORE SPACE IN DATA BASE ***'
  227. ERM018:
  228.     ERRMSG '*** SET NOT SORTED ***'
  229. ERM019:
  230. ERM020:
  231. ERM021:
  232. ERM022:
  233. ERM023:
  234. ERM024:
  235. ERM025:
  236. ERM026:
  237. ERM027:
  238. ERM028:
  239. ERM029:
  240. ERM030:
  241. ERM031:
  242.     ERRMSG '***----***'
  243. ERM032:
  244.     ERRMSG '*** DATA BASE OPENED FOR READ ACCESS ONLY ***'
  245. ERM033:
  246.     ERRMSG '*** RECORD SIZE TOO LARGE ***'
  247. ERM034:
  248. ERM035:
  249.     ERRMSG '***----***'
  250. ERM036:
  251.     ERRMSG '*** IMPROPER PASSWORD ***'
  252. ERM037:
  253. ERM038:
  254. ERM039:
  255.     ERRMSG '***----***'
  256. ERM040:
  257.     ERRMSG '*** MAXIMUM VALUE OF DEPENDING ON ITEM IS 32767 ***'
  258. ERM041:
  259.     ERRMSG '*** BINARY NUMBER TOO LARGE ***'
  260. ERM042:
  261. ERM043:
  262. ERM044:
  263. ERM045:
  264. ERM046:
  265. ERM047:
  266. ERM048:
  267. ERM049:
  268. ERM050:
  269. ERM051:
  270. ERM052:
  271. ERM053:
  272. ERM054:
  273. ERM055:
  274. ERM056:
  275. ERM057:
  276. ERM058:
  277. ERM059:
  278. ERM060:
  279. ERM061:
  280. ERM062:
  281. ERM063:
  282. ERM064:
  283. ERM065:
  284. ERM066:
  285. ERM067:
  286. ERM068:
  287. ERM069:
  288. ERM070:
  289. ERM071:
  290. ERM072:
  291. ERM073:
  292. ERM074:
  293. ERM075:
  294. ERM076:
  295. ERM077:
  296. ERM078:
  297. ERM079:
  298. ERM080:
  299. ERM081:
  300. ERM082:
  301. ERM083:
  302. ERM084:
  303. ERM085:
  304. ERM086:
  305. ERM087:
  306. ERM088:
  307.     ERRMSG '***----***'
  308. ERM089:
  309.     ERRMSG '*** VARIABLE LENGTH INCONSISTENCY ***'
  310. ERM090:
  311.     ERRMSG '*** NO SUCH DMS ROUTINE ***'
  312. ERM091:
  313.     ERRMSG '*** INSUFFICIENT ROOM IN MEMORY ***'
  314. ERM092:
  315.     ERRMSG '*** INCORRECT NUMBER OF ARGUMENTS ***'
  316. ERM093:
  317.     ERRMSG '*** DUPLICATE DATA-BLOCK NAME ***'
  318. ERM094:
  319.     ERRMSG '*** BLOCK NAME NOT FOUND ***'
  320. ERM095:
  321.     ERRMSG '*** INVALID DATA BLOCK NAME ***'
  322. ERM096:
  323.     ERRMSG '*** INVALID NUMBER OF ARGUMENTS ***'
  324. ERM097:
  325.     ERRMSG '*** CANNOT READ FROM DATA BASE FILES ***'
  326. ERM098:
  327.     ERRMSG '***----***'
  328. ERM099:
  329.     ERRMSG '*** CATASTROPHE ***'
  330. ERM100:
  331.     ERRMSG '*** USER MAY NOT READ THIS RECORD ***'
  332. ERM101:
  333.     ERRMSG '*** USER MAY NOT WRITE THIS RECORD ***'
  334. ERM102:
  335.     ERRMSG '*** USER MAY NOT READ THIS ITEM ***'
  336. ERM103:
  337.     ERRMSG '*** USER MAY NOT WRITE THIS ITEM ***'
  338. ERM104:
  339.     ERRMSG '*** DISK IN WRONG DRIVE ***'
  340. ERM105:
  341.     ERRMSG '*** DISK READ OR WRITE ERROR ***'
  342. ERM106:
  343.     ERRMSG '*** CANNOT EXPAND FILE FOR NEW PAGE ***'
  344. ERM107:
  345.     ERRMSG '*** FILE NOT PRESENT ***'
  346. ERM108:
  347.     ERRMSG '*** USER MAY NOT READ THIS SET ***'
  348. ERM109:
  349.     ERRMSG '*** USER MAY NOT WRITE THIS SET ***'
  350. ERM110:
  351. ERM111:
  352. ERM112:
  353. ERM113:
  354. ERM114:
  355. ERM115:
  356. ERM116:
  357. ERM117:
  358. ERM118
  359. ERM119:
  360. ERM120:
  361. ERM121:
  362. ERM122:
  363. ERM123:
  364. ERM124:
  365. ERM125:
  366. ERM126:
  367. ERM127:
  368.     ERRMSG '***----***'
  369. ERM255:
  370.     ERRMSG '*** END OF SET ***'
  371.     END
  372.