Files
Digital-Research-Source-Code/CPM OPERATING SYSTEMS/CPM 86/CONCURRENT/CCPM-86 2.0 SOURCE/asm86/global.lst
Sepp J Morris 31738079c4 Upload
Digital Research
2020-11-06 18:50:37 +01:00

404 lines
21 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 1
ISIS-II PL/M-86 V2.0 COMPILATION OF MODULE GLOBAL
OBJECT MODULE PLACED IN GLOBAL.OBJ
COMPILER INVOKED BY: :F0: GLOBAL.PLM DEBUG OPTIMIZE(2) DATE(10/5/81) PAGEWIDTH(100) XREF
$title ('GLOBAL VARIABLES')
1 global:
do;
/*
modified 3/28/81 R. Silberstein
modified 4/16/81 R. Silberstein
modified 4/20/81 R. Silberstein
modified 7/24/81 R. Silberstein
modified 9/2/81 R. Silberstein
*/
/*
This module defines all the global variables
of the assmembler.
*/
$include (:f1:macro.lit)
= $nolist
$include (:f1:struc.lit)
= $nolist
$INCLUDE (:F1:SUBR2.EXT)
= $nolist
40 1 dcl
/* dummy structure forces contiguous storage */
glob structure (
pass byte, /* current pass no, 1,2,3 */
/* address counters */
cip addr, /* current instruction pointer */
csegtype byte, /* current segment type, code,data,
stack or extra data */
csegvalue addr, /* current segment value */
csegspec byte, /* true if segment value specified */
escip addr, /* current ES instruction pointer */
cscip addr, /* current CS instruction pointer */
sscip addr, /* current SS instruction pointer */
dscip addr, /* current DS instruction pointer */
curcseg addr, /* current code segment value */
curdseg addr, /* current data segment value */
cursseg addr, /* current stack segment value */
cureseg addr, /* current extra segment value */
cspec byte, /* true if code segment value given */
dspec byte, /* true if data segment value given */
PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 2
sspec byte, /* true if stack segment value given */
espec byte, /* true if extra segment value given */
/* print output parameters */
print$on byte, /* on/off flag */
printswitchoff byte, /* set/reset by NOLIST/LIST */
IFLIST BYTE, /* SET/RESET BY IFLIST/NOIFLIST */
maxcol byte); /* pagewidth */
41 1 dcl
sourcename (12) byte public, /* source file name */
sourcestop byte, /* used to contain zero */
savesource (12) byte public, /* source file during INLUDE file */
printdevice byte public, /* print file device */
SYMBOLDEVICE BYTE PUBLIC, /* SYMBOL FILE DEVICE */
title (30) byte public, /* user specified program title */
stoptitle byte, /* used to contain zero */
pagesize byte public, /* page size */
simform byte public, /* true if formfeed is to be simulated*/
sourcebuf (80) byte public, /* copy of source input to be printed*/
sourceptr byte public, /* source buffer pointer */
prefix (240) byte public, /* prefix to source line */
prefixptr byte public, /* pointer to prefix buffer */
ABSADDR (4) BYTE PUBLIC; /* ABSOLUTE ADDRESS FIELD */
/* references to glob structure */
42 1 dcl
pass byte public at(.glob.pass),
cip addr public at(.glob.cip),
csegtype byte public at(.glob.csegtype),
csegvalue addr public at(.glob.csegvalue),
csegspec byte public at(.glob.csegspec),
escip addr public at(.glob.escip),
cscip addr public at(.glob.cscip),
sscip addr public at(.glob.sscip),
dscip addr public at(.glob.dscip),
curcseg addr public at(.glob.curcseg),
curdseg addr public at(.glob.curdseg),
cursseg addr public at(.glob.cursseg),
cureseg addr public at(.glob.cureseg),
cspec byte public at(.glob.cspec),
dspec byte public at(.glob.dspec),
sspec byte public at(.glob.sspec),
espec byte public at(.glob.espec),
print$on byte public at(.glob.print$on),
printswitchoff byte public at(.glob.printswitchoff),
IFLIST BYTE PUBLIC AT (.GLOB.IFLIST),
maxcol byte public at(.glob.maxcol);
/* io error stpublic atus */
43 1 dcl
PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 3
errors addr public, /* counts no of errors */
/* scanner variables: */
token struc( /* actual token scannes */
type byte, /* token type, legal values :
reg - register
pseudo - pseudo code
string - text string
spec - special character
number - number
operator - aritmetic operator
ident - identifier */
descr byte, /* token description, legal values :
nil - no specification
byte - 8 bit type
word - 16 bit type
dword - 32 bit type */
value addr) public, /* token value */
nextch byte public, /* next input character (lookahead) */
acclen byte public, /* accumulator length */
accum(80) byte public, /* actual token scanned */
accumsave(80) byte public, /* used to save accumulator */
acclensave byte public,
eofset byte public, /* true if end-of-file found */
/* Mischellaneous variables: */
intel$hex$on byte public, /* true if INTEL hex ouput format */
noerror byte public, /* errorflag in codemacro decoding */
errorprinted byte public, /* true if an error is printed */
firstmacroptr address public, /* pointer at first codemacro */
macroptr address public, /* current pointer within macros */
fullsymbtab byte public, /* true if symboltable is full */
include$on byte public, /* true if input from INCLUDE file */
IFLEVEL BYTE PUBLIC, /* IF-ENDIF NESTING LEVEL */
currentsymbol symbolstruc /* current scanned symbol */
public,
symbtabadr address public, /* pointer at symbol in table */
nooper byte public, /* no of instruction operands */
operands(4) operandstruc /* instruction operands,max 4 */
public,
codemacroptr address public, /* pointer to found codemacro */
help(5) byte public, /* scratch area for ascii numbers */
helpstop byte,
i byte public, /* scratch variable */
default$drive byte public, /* default disk drive */
include$default byte public, /* default disk for include files */
codemacro$flag byte public; /* true if building a codemacro */
44 1 globalinit: procedure public; /* initiate some global varaiables */
45 2 stoptitle,sourcestop,helpstop=0;
46 2 pagesize=66;
47 2 fullsymbtab,intel$hex$on=false;
48 2 CALL FILL (0, SIZE (TITLE), .TITLE);
PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 4
49 2 codemacro$flag=false;
50 2 end globalinit;
51 1 end$module global;
PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 5
CROSS-REFERENCE LISTING
-----------------------
DEFN ADDR SIZE NAME, ATTRIBUTES, AND REFERENCES
----- ------ ----- --------------------------------
41 01ABH 4 ABSADDR. . . . . . BYTE ARRAY(4) PUBLIC
43 01B0H 1 ACCLEN . . . . . . BYTE PUBLIC
43 0251H 1 ACCLENSAVE . . . . BYTE PUBLIC
43 01B1H 80 ACCUM. . . . . . . BYTE ARRAY(80) PUBLIC
43 0201H 80 ACCUMSAVE. . . . . BYTE ARRAY(80) PUBLIC
2 ADDR . . . . . . . LITERALLY 5 11 29 32 35 38 40
42 43
19 0000H ALPHANUMERIC . . . PROCEDURE BYTE EXTERNAL(5) STACK=0000H
22 0000H ASCIICHAR. . . . . PROCEDURE BYTE EXTERNAL(6) STACK=0000H
43 0008H 1 BASEINDEX. . . . . BYTE MEMBER(CURRENTSYMBOL)
43 0008H 1 BASEINDEX. . . . . BYTE MEMBER(OPERANDS)
3 BASEREGBIT . . . . LITERALLY
3 BASEREGCOUNT . . . LITERALLY
3 BREGBIT. . . . . . LITERALLY
3 BREGCOUNT. . . . . LITERALLY
16 0000H 1 CH . . . . . . . . BYTE PARAMETER 17
13 0000H 1 CH . . . . . . . . BYTE PARAMETER 14
25 0000H 1 CH . . . . . . . . BYTE PARAMETER 26
10 0000H 1 CH . . . . . . . . BYTE PARAMETER 11
19 0000H 1 CH . . . . . . . . BYTE PARAMETER 20
22 0000H 1 CH . . . . . . . . BYTE PARAMETER 23
40 0001H 2 CIP. . . . . . . . WORD MEMBER(GLOB) 42
42 000FH 2 CIP. . . . . . . . WORD PUBLIC AT
43 0290H 1 CODEMACROFLAG. . . BYTE PUBLIC 49
3 CODEMACROHEAD. . . LITERALLY
43 000CH 2 CODEMACROPTR . . . WORD PUBLIC
2 CR . . . . . . . . LITERALLY
42 0017H 2 CSCIP. . . . . . . WORD PUBLIC AT
40 0009H 2 CSCIP. . . . . . . WORD MEMBER(GLOB) 42
42 0014H 1 CSEGSPEC . . . . . BYTE PUBLIC AT
40 0006H 1 CSEGSPEC . . . . . BYTE MEMBER(GLOB) 42
42 0011H 1 CSEGTYPE . . . . . BYTE PUBLIC AT
40 0003H 1 CSEGTYPE . . . . . BYTE MEMBER(GLOB) 42
42 0012H 2 CSEGVALUE. . . . . WORD PUBLIC AT
40 0004H 2 CSEGVALUE. . . . . WORD MEMBER(GLOB) 42
42 0025H 1 CSPEC. . . . . . . BYTE PUBLIC AT
40 0017H 1 CSPEC. . . . . . . BYTE MEMBER(GLOB) 42
42 001DH 2 CURCSEG. . . . . . WORD PUBLIC AT
40 000FH 2 CURCSEG. . . . . . WORD MEMBER(GLOB) 42
42 001FH 2 CURDSEG. . . . . . WORD PUBLIC AT
40 0011H 2 CURDSEG. . . . . . WORD MEMBER(GLOB) 42
42 0023H 2 CURESEG. . . . . . WORD PUBLIC AT
40 0015H 2 CURESEG. . . . . . WORD MEMBER(GLOB) 42
43 0259H 9 CURRENTSYMBOL. . . STRUCTURE PUBLIC
40 0013H 2 CURSSEG. . . . . . WORD MEMBER(GLOB) 42
42 0021H 2 CURSSEG. . . . . . WORD PUBLIC AT
28 0000H 2 D. . . . . . . . . WORD PARAMETER 29
37 0000H 2 D. . . . . . . . . WORD PARAMETER 38
34 0000H 2 D. . . . . . . . . WORD PARAMETER 35
PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 6
31 0000H 2 D. . . . . . . . . WORD PARAMETER 32
2 DCL. . . . . . . . LITERALLY
37 0000H DECOUT . . . . . . PROCEDURE EXTERNAL(11) STACK=0000H
43 028EH 1 DEFAULTDRIVE . . . BYTE PUBLIC
43 0001H 1 DESCR. . . . . . . BYTE MEMBER(TOKEN)
13 0000H DIGIT. . . . . . . PROCEDURE BYTE EXTERNAL(3) STACK=0000H
40 000DH 2 DSCIP. . . . . . . WORD MEMBER(GLOB) 42
42 001BH 2 DSCIP. . . . . . . WORD PUBLIC AT
40 0018H 1 DSPEC. . . . . . . BYTE MEMBER(GLOB) 42
42 0026H 1 DSPEC. . . . . . . BYTE PUBLIC AT
2 ELSEDO . . . . . . LITERALLY
2 ENDCASE. . . . . . LITERALLY
2 ENDDO. . . . . . . LITERALLY
2 ENDFOREVER . . . . LITERALLY
2 ENDIF. . . . . . . LITERALLY
2 ENDMODULE. . . . . LITERALLY
2 ENDOFFILE. . . . . LITERALLY
2 ENDPROC. . . . . . LITERALLY
2 ENDWHILE . . . . . LITERALLY
43 0252H 1 EOFSET . . . . . . BYTE PUBLIC
28 0000H EQUAL. . . . . . . PROCEDURE BYTE EXTERNAL(8) STACK=0000H
43 0255H 1 ERRORPRINTED . . . BYTE PUBLIC
43 0000H 2 ERRORS . . . . . . WORD PUBLIC
42 0015H 2 ESCIP. . . . . . . WORD PUBLIC AT
40 0007H 2 ESCIP. . . . . . . WORD MEMBER(GLOB) 42
42 0028H 1 ESPEC. . . . . . . BYTE PUBLIC AT
40 001AH 1 ESPEC. . . . . . . BYTE MEMBER(GLOB) 42
2 FALSE. . . . . . . LITERALLY 47 49
7 0000H 2 FCBADR . . . . . . WORD PARAMETER 8
7 0000H FILEABORT. . . . . PROCEDURE EXTERNAL(1) STACK=0000H
3 FILEISTRUCTURE . . LITERALLY
3 FILEOSTRUCTURE . . LITERALLY
10 0000H FILL . . . . . . . PROCEDURE EXTERNAL(2) STACK=0000H 48
43 0006H 2 FIRSTMACROPTR. . . WORD PUBLIC
2 FOREVER. . . . . . LITERALLY
2 FORMFEED . . . . . LITERALLY
43 0256H 1 FULLSYMBTAB. . . . BYTE PUBLIC 47
40 000EH 31 GLOB . . . . . . . STRUCTURE 42
1 0000H GLOBAL . . . . . . PROCEDURE STACK=0000H
44 0000H 44 GLOBALINIT . . . . PROCEDURE PUBLIC STACK=000AH
43 0287H 5 HELP . . . . . . . BYTE ARRAY(5) PUBLIC
43 028CH 1 HELPSTOP . . . . . BYTE 45
31 0000H HEX1OUT. . . . . . PROCEDURE EXTERNAL(9) STACK=0000H
34 0000H HEX2OUT. . . . . . PROCEDURE EXTERNAL(10) STACK=0000H
43 028DH 1 I. . . . . . . . . BYTE PUBLIC
43 0258H 1 IFLEVEL. . . . . . BYTE PUBLIC
42 002BH 1 IFLIST . . . . . . BYTE PUBLIC AT
40 001DH 1 IFLIST . . . . . . BYTE MEMBER(GLOB) 42
43 028FH 1 INCLUDEDEFAULT . . BYTE PUBLIC
43 0257H 1 INCLUDEON. . . . . BYTE PUBLIC
3 INDEXREGBIT. . . . LITERALLY
3 INDEXREGCOUNT. . . LITERALLY
2 INIT . . . . . . . LITERALLY
43 0253H 1 INTELHEXON . . . . BYTE PUBLIC 47
3 IREGBIT. . . . . . LITERALLY
3 IREGCOUNT. . . . . LITERALLY
43 0000H 2 LENGTH . . . . . . WORD MEMBER(OPERANDS)
PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 7
43 0000H 2 LENGTH . . . . . . WORD MEMBER(CURRENTSYMBOL)
16 0000H LETTER . . . . . . PROCEDURE BYTE EXTERNAL(4) STACK=0000H
2 LF . . . . . . . . LITERALLY
2 LIT. . . . . . . . LITERALLY 2 3
43 0008H 2 MACROPTR . . . . . WORD PUBLIC
42 002CH 1 MAXCOL . . . . . . BYTE PUBLIC AT
40 001EH 1 MAXCOL . . . . . . BYTE MEMBER(GLOB) 42
10 0000H 1 N. . . . . . . . . BYTE PARAMETER 11
37 0000H 2 N. . . . . . . . . WORD PARAMETER 38
34 0000H 2 N. . . . . . . . . WORD PARAMETER 35
31 0000H 1 N. . . . . . . . . BYTE PARAMETER 32
28 0000H 1 N. . . . . . . . . BYTE PARAMETER 29
43 01AFH 1 NEXTCH . . . . . . BYTE PUBLIC
43 0254H 1 NOERROR. . . . . . BYTE PUBLIC
43 0262H 1 NOOPER . . . . . . BYTE PUBLIC
3 NOOVERCOUNT. . . . LITERALLY
3 NOOVERRIDEBIT. . . LITERALLY
43 0006H 2 OFFSET . . . . . . WORD MEMBER(CURRENTSYMBOL)
43 0006H 2 OFFSET . . . . . . WORD MEMBER(OPERANDS)
43 0263H 36 OPERANDS . . . . . STRUCTURE ARRAY(4) PUBLIC
3 OPERANDSTRUC . . . LITERALLY 43
4 0000H OUTTEXT. . . . . . PROCEDURE EXTERNAL(0) STACK=0000H
41 0067H 1 PAGESIZE . . . . . BYTE PUBLIC 46
42 000EH 1 PASS . . . . . . . BYTE PUBLIC AT
40 0000H 1 PASS . . . . . . . BYTE MEMBER(GLOB) 42
41 00BAH 240 PREFIX . . . . . . BYTE ARRAY(240) PUBLIC
41 01AAH 1 PREFIXPTR. . . . . BYTE PUBLIC
41 0046H 1 PRINTDEVICE. . . . BYTE PUBLIC
42 0029H 1 PRINTON. . . . . . BYTE PUBLIC AT
40 001BH 1 PRINTON. . . . . . BYTE MEMBER(GLOB) 42
42 002AH 1 PRINTSWITCHOFF . . BYTE PUBLIC AT
40 001CH 1 PRINTSWITCHOFF . . BYTE MEMBER(GLOB) 42
2 PROC . . . . . . . LITERALLY 19 22 31 34 37
10 0000H 2 PT . . . . . . . . WORD PARAMETER 11
2 REENT. . . . . . . LITERALLY
28 0000H 2 S. . . . . . . . . WORD PARAMETER 29
41 003AH 12 SAVESOURCE . . . . BYTE ARRAY(12) PUBLIC
3 SEGMBIT. . . . . . LITERALLY
3 SEGMCOUNT. . . . . LITERALLY
43 0004H 2 SEGMENT. . . . . . WORD MEMBER(OPERANDS)
43 0004H 2 SEGMENT. . . . . . WORD MEMBER(CURRENTSYMBOL)
3 SEGTYPEBIT . . . . LITERALLY
3 SEGTYPECOUNT . . . LITERALLY
43 0003H 1 SFLAG. . . . . . . BYTE MEMBER(OPERANDS)
43 0003H 1 SFLAG. . . . . . . BYTE MEMBER(CURRENTSYMBOL)
41 0068H 1 SIMFORM. . . . . . BYTE PUBLIC
SIZE . . . . . . . BUILTIN 48
41 0069H 80 SOURCEBUF. . . . . BYTE ARRAY(80) PUBLIC
41 002DH 12 SOURCENAME . . . . BYTE ARRAY(12) PUBLIC
41 00B9H 1 SOURCEPTR. . . . . BYTE PUBLIC
41 0039H 1 SOURCESTOP . . . . BYTE 45
2 SPACE. . . . . . . LITERALLY
42 0019H 2 SSCIP. . . . . . . WORD PUBLIC AT
40 000BH 2 SSCIP. . . . . . . WORD MEMBER(GLOB) 42
42 0027H 1 SSPEC. . . . . . . BYTE PUBLIC AT
40 0019H 1 SSPEC. . . . . . . BYTE MEMBER(GLOB) 42
41 0066H 1 STOPTITLE. . . . . BYTE 45
PL/M-86 COMPILER GLOBAL VARIABLES 10/5/81 PAGE 8
2 STRUC. . . . . . . LITERALLY 43
43 0002H 1 STYPE. . . . . . . BYTE MEMBER(OPERANDS)
43 0002H 1 STYPE. . . . . . . BYTE MEMBER(CURRENTSYMBOL)
41 0047H 1 SYMBOLDEVICE . . . BYTE PUBLIC
3 SYMBOLHEAD . . . . LITERALLY
3 SYMBOLSTRUC. . . . LITERALLY 43
43 000AH 2 SYMBTABADR . . . . WORD PUBLIC
4 0000H 2 T. . . . . . . . . WORD PARAMETER 5
2 TAB. . . . . . . . LITERALLY
7 0000H 2 TEXTADR. . . . . . WORD PARAMETER 8
2 THENDO . . . . . . LITERALLY
41 0048H 30 TITLE. . . . . . . BYTE ARRAY(30) PUBLIC 48
43 0002H 4 TOKEN. . . . . . . STRUCTURE PUBLIC
2 TRUE . . . . . . . LITERALLY
43 0000H 1 TYPE . . . . . . . BYTE MEMBER(TOKEN)
3 TYPEBIT. . . . . . LITERALLY
3 TYPECOUNT. . . . . LITERALLY
25 0000H UPPER. . . . . . . PROCEDURE BYTE EXTERNAL(7) STACK=0000H
43 0002H 2 VALUE. . . . . . . WORD MEMBER(TOKEN)
MODULE INFORMATION:
CODE AREA SIZE = 002CH 44D
CONSTANT AREA SIZE = 0000H 0D
VARIABLE AREA SIZE = 0291H 657D
MAXIMUM STACK SIZE = 000AH 10D
339 LINES READ
0 PROGRAM ERROR(S)
END OF PL/M-86 COMPILATION