ibm:vm370-lib:cms:dmsfnc.assemble_src
Table of Contents
DMSFNC Source
References
- Fixes Applied : 0
- This Source Date : Tuesday, December 12, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMSFNC.ASSEMBLE.txt
- FNC TITLE 'DMSFNC (CMS) VM/370 - RELEASE 6' 00001000
- SPACE 2 00002000
- *. 00004000
- * 00005000
- * MODULE NAME: 00006000
- * 00007000
- * DMSFNC (FUNCTAB) 00008000
- * 00009000
- * FUNCTION: 00010000
- * 00011000
- * CONTAINS TWO TABLES USED BY DMSITS 00012000
- * 00013000
- * ATTRIBUTES: 00014000
- * 00015000
- * NUCLEUS RESIDENT 00016000
- * 00017000
- * ENTRY POINTS: 00018000
- * 00019000
- * DMSFNC - NUCLEUS RESIDENT COMMAND NAME TABLE 00020000
- * DMSFNCSV - STANDARD SVC TABLE 00021000
- * 00022000
- * ENTRY CONDITIONS: 00023000
- * 00024000
- * N/A 00025000
- * 00026000
- * EXIT CONDITIONS: 00027000
- * 00028000
- * N/A 00029000
- * 00030000
- * CALLS TO OTHER ROUTINES: 00031000
- * 00032000
- * N/A 00033000
- * 00034000
- * EXTERNAL REFERENCES: 00035000
- * 00036000
- * MODULES REFERENCED IN THE TABLES. 00037000
- * 00038000
- * TABLES/WORKAREAS: 00039000
- * 00040000
- * N/A 00041000
- * 00042000
- * REGISTER USAGE: 00043000
- * 00044000
- * N/A 00045000
- * 00046000
- * NOTES: 00047000
- * 00048000
- * DMSFNC CONTAINS NO EXECUTABLE CODE. 00049000
- * 00050000
- * OPERATION: 00051000
- * 00052000
- * N/A 00053000
- * 00054000
- *. 00055000
- EJECT 00056000
- * 00057000
- * FUNCTAB = SPECIAL 'SHORT' TABLE, ONLY 12 BYTES PER ENTRY, FOR 00058000
- * USE BY SVCINT IN TRANSFERRING CONTROL TO A CORE-RESIDENT 00059000
- * CMS COMMAND OR FUNCTION. 00060000
- * 00061000
- * FIRST 8 BYTES = NAME OF CALLEE (COMMAND OR FUNCTION) 00062000
- * NEXT 4 BYTES = CORE-ADDRESS OF CALLEE 00063000
- * 00064000
- * NOTE -- IF CORE-ADDRESS IS ZERO, SVCINT 00065000
- * CALLS 'LOADMOD' TO GET A DISK-RESIDENT MODULE. 00066000
- * 00067000
- MACRO 00068000
- &LABEL JFUN &NAME,&ADDR 00069000
- &LABEL DC CL8'&NAME' 00070000
- AIF (N'&ADDR EQ 0).SEQ1 00071000
- DC V(&ADDR) 00072000
- AGO .SEQ2 00073000
- .SEQ1 DC V(&NAME) 00074000
- .SEQ2 SPACE 1 00075000
- MEND 00076000
- * 00077000
- MACRO 00078000
- JOST &NUM,&LOC 00079000
- AIF (K'&LOC EQ 0).S1 00080000
- DC AL1(&NUM),VL3(&LOC) 00081000
- MEXIT 00082000
- .S1 DC AL1(&NUM),AL3(0) 00083000
- MEND 00084000
- EJECT 00085000
- MACRO 00086000
- TAB203 &LIST 00087000
- LCLA &I,&K 00088000
- LCLC &LET 00089000
- &K SETA N'&SYSLIST 00090000
- * THIS MACRO GENERATES THE TABLE FOR SVC 203 CALLS 00091000
- SPACE 00092000
- DMSFNC3 DS 0F 00093000
- DC A(&K) NUMBER OF ENTRIES IN TABLE 00094000
- .LOOP ANOP 00095000
- &I SETA &I+1 00096000
- MNOTE *,'&I = &SYSLIST(&I,3)' 00097000
- &LET SETC 'V' 00098000
- AIF (T'&SYSLIST(&I,2) EQ 'U').V 00099000
- &LET SETC 'A' 00100000
- .V ANOP 00101000
- DC CL8'&SYSLIST(&I,3)' NAME OF MACRO OR ROUTINE 00102000
- AIF ('&SYSLIST(&I,1)' EQ '').L 00103000
- DC AL1(&SYSLIST(&I,1)),&LET.L3(&SYSLIST(&I,2)) 00104000
- AGO .C 00105000
- .L DC &LET.(&SYSLIST(&I,2)) 00106000
- .C ANOP 00107000
- AIF (&I LT N'&SYSLIST).LOOP 00108000
- MEND 00109000
- EJECT 00110000
- DMSFNC CSECT 00111000
- ENTRY DMSFNC3 SVC 203 TABLE 00113000
- EJECT 00115000
- * FOR CMS/370, THE ENTRY NAMES IN THIS ROUTINE ARE CHANGED, AS 00116000
- * FOLLOWS: 00117000
- SPACE 2 00118000
- * OLD NAME NEW NAME 00119000
- * ---------------------------- ----------- 00120000
- * FUNCTAB DMSFNC 00121000
- * (NEW SVC 203 BRANCH TABLE) DMSFNC3 00125000
- EJECT 00126000
- USING *,R0 (FOR 'CLEAN' S-TYPE ADCON'S BELOW...) 00127000
- * 00128000
- DC S(A,B,C,D,E,F,G,H,I) FIRST 9 LETTERS 00129000
- DC 7S(J) (GAP) 00130000
- DC S(J,K,L,M,N,O,P,Q,R) NEXT 9 LETTERS 00131000
- DC 8S(S) (GAP) 00132000
- DC S(S,T,U,V,W,X,Y,Z) LAST 8 LETTERS 00133000
- DC S(LASTFUN) (MUST FOLLOW Z) 00134000
- * 00135000
- R0 EQU 0 00136000
- * 00137000
- DS 0F 00138000
- SPACE 2 00139000
- * COMMANDS MUST BE KEPT IN ALPHABETIC ORDER PER FIRST LETTER 00140000
- * I.E. ALL A'S FIRST, ALL Z'S LAST, ETC. 00141000
- * 00142000
- * ORDER WITHIN EACH LETTER-GROUP, HOWEVER, IS NOT CRITICAL, 00143000
- * AND MOST-OFTEN-USED COMMANDS FOR EACH LETTER CAN BE 00144000
- * PUT FIRST (IF KNOWN). 00145000
- EJECT 00146000
- A EQU * 00147000
- JFUN ATTN,DMSCAT 00148000
- B EQU * 00149000
- C EQU * 00150000
- JFUN CARDRD V0742 00151100
- JFUN CARDPH V0742 00151200
- JFUN CMSTIME,GETCLK 00154000
- JFUN CONREAD,DMSCRD 00155000
- JFUN CONWAIT,DMSCWT 00156000
- JFUN CP,DMSCPF 00157000
- D EQU * 00158000
- JFUN DEBUG,DMSDBG 00159000
- JFUN DMSCIOSI V0742 00159100
- JFUN DMSPIOCC V0742 00159200
- JFUN DMSPIOSI V0742 00159300
- JFUN DESBUF,DMSCITDB 00160000
- JFUN DMSLADAD V0742 00160100
- JFUN DMSERR 00161000
- JFUN DMSSMNAT,DMSSTGAT @V305665 00161150
- JFUN DMSVSR @V305101 00161200
- E EQU * 00162000
- JFUN EXEC,DMSEXC 00163000
- JFUN ERASE 00164000
- F EQU * 00165000
- JFUN FINIS 00166000
- JFUN FETCH,DMSFET @V305001 00166100
- G EQU * 00167000
- JFUN GENMOD,DMSMOD 00168000
- H EQU * 00169000
- I EQU * 00170000
- JFUN INCLUDE,DMSLOA 00171000
- J EQU * 00172000
- K EQU * 00173000
- L EQU * 00174000
- JFUN LOADMOD,DMSMOD 00175000
- JFUN LOAD,DMSLOA 00176000
- M EQU * 00178000
- N EQU * 00179000
- O EQU * 00180000
- P EQU * 00181000
- JFUN PRINTIO,DMSPIO 00182000
- JFUN PRINTR 00183000
- JFUN POINT 00184000
- Q EQU * 00185000
- R EQU * 00186000
- JFUN RDBUF 00187000
- JFUN RETURN,RETSET @VA00871 00188100
- S EQU * 00189000
- JFUN STATE 00190000
- JFUN STATEW 00191000
- JFUN SUBSET 00192000
- JFUN SVCFREE,DMSFREES 00193000
- JFUN SVCFRET,DMSFRETS 00194000
- JFUN START,DMSLDRA 00195000
- T EQU * 00196000
- JFUN TYPLIN,DMSCWR 00197000
- JFUN TAPEIO 00198000
- JFUN TRAP,DMSITET P3105 00199000
- U EQU * 00200000
- V EQU * 00201000
- W EQU * 00202000
- JFUN WRBUF,DMSBWR 00203000
- JFUN WAITRD,DMSCRD 00204000
- JFUN WAIT 00205000
- X EQU * 00206000
- Y EQU * 00207000
- Z EQU * 00208000
- * 00209000
- LASTFUN EQU *-12 (MUST FOLLOW LAST COMMAND) 00210000
- * 00211000
- * 00212000
- DC F'0' **'NECESSARY EVIL' IF AND ONLY IF NO 'Z' COMMANDS** 00213000
- EJECT 00277000
- TAB203 (,DMSFREEX,OLDFREE), *00278000
- (,DMSFRETX,OLDFRET), *00279000
- (,0,DSSSVT), @V305665*00280100
- (NSF+R01,DMSFREB,DMSFREE), *00281000
- (NSF,DMSFREB,DMSFRET), *00282000
- (,DMSERR,DMSERR), *00283000
- (NSF,DMSSTGSB,STRINIT), @V305665*00284100
- (NSF,DMSITSK,DMSKEY), *00285000
- (NSF,DMSITSXS,DMSEXS), *00286000
- (NSF+R01,DMSFRES,DMSFRES), *00287000
- (NSF,DMSABNSV,DMSABN), *00288000
- (,DMSSTGCL,DMSSMNCL), @V305665*00289100
- (NSF+R01,DMSSTGSV,TSOGET), @V305665*00289200
- (NSF,DMSSTGSV,RELPAGES), @V305665*00289300
- (NSF,DMSSTGSV,COMPSWT), @VM03048*00289400
- (NSF,0,CMSLINK) @VM03048 00289500
- SPACE 3 00293000
- * FLAG VALUES 00294000
- NSF EQU X'80' DON'T ALLOCATE A SAVE AREA 00295000
- R01 EQU X'40' 00296000
- END 00297000
ibm/vm370-lib/cms/dmsfnc.assemble_src.txt ยท Last modified: 2023/08/06 13:35 by Site Administrator