Move some more code out of the blank segment to make space for static data.

This commit is contained in:
Stephen Heumann 2017-07-14 19:45:40 -05:00
parent ad31ecfcae
commit ccd653ddb9
13 changed files with 30 additions and 24 deletions

View File

@ -8,7 +8,7 @@
*
****************************************************************
*
CnvSX start
CnvSX start cg
rec equ 4 record containing values
rec_real equ 0 disp to real value
rec_ext equ 8 disp to extended (SANE) value
@ -42,7 +42,7 @@ rec_ext equ 8 disp to extended (SANE) value
*
****************************************************************
*
CnvSC start
CnvSC start cg
rec equ 4 record containing values
rec_real equ 0 disp to real value
rec_ext equ 8 disp to extended (SANE) value
@ -85,6 +85,7 @@ rec_cmp equ 18 disp to comp (SANE) value
rtl
end
datachk off
****************************************************************
*
* InitLabels - initialize the labels array
@ -95,7 +96,7 @@ rec_cmp equ 18 disp to comp (SANE) value
*
****************************************************************
*
InitLabels start
InitLabels start cg
maxLabel equ 3200
! with labelTab[0] do begin

View File

@ -26,7 +26,7 @@ interface
uses CCommon, CGI;
{$segment 'cg'}
{$segment 'CG'}
type
{pcode code generation}

View File

@ -18,7 +18,7 @@ unit CodeGeneratorInterface;
interface
{$segment 'cg'}
{$segment 'CG'}
{$LibPrefix '0/obj/'}

View File

@ -11,7 +11,7 @@ unit DAG;
interface
{$segment 'cg'}
{$segment 'CG'}
{$LibPrefix '0/obj/'}

View File

@ -15,7 +15,7 @@ interface
uses CCommon, MM, Scanner, Symbol, CGI;
{$segment 'scanner'}
{$segment 'SCANNER'}
var
inhibitHeader: boolean; {should .sym includes be blocked?}

8
MM.asm
View File

@ -13,7 +13,7 @@
*
****************************************************************
*
Calloc start
Calloc start cc
ptr equ 0 pointer to reserved memory
@ -59,7 +59,7 @@ lb4 return 4:ptr return the pointer
*
****************************************************************
*
GCalloc start
GCalloc start cc
ptr equ 0 pointer to reserved memory
@ -107,9 +107,9 @@ lb4 return 4:ptr return the pointer
*
****************************************************************
*
Malloc start
Malloc start cc
lda useGlobalPool
lda |useGlobalPool
jne GMalloc
jmp LMalloc
end

2
MM.pas
View File

@ -39,6 +39,8 @@ interface
uses CCommon;
{$segment 'CC'}
var
localID,globalID: integer; {user ID's for the local & global pools}

View File

@ -1,4 +1,5 @@
mcopy native.macros
datachk off
****************************************************************
*
* Remove - remove an instruction from the peephole array
@ -8,7 +9,7 @@
*
****************************************************************
*
Remove start
Remove start CodeGen
elSize equ 12 size of an element
nPeepSize equ 128 size of array
ns equ 4 array element

View File

@ -30,7 +30,7 @@ interface
uses CCommon, CGI, CGC, ObjOut;
{$segment 'CodeGen'}
{$segment 'CODEGEN'}
type
labelptr = ^labelentry; {pointer to a forward ref node}

View File

@ -1,4 +1,5 @@
mcopy objout.macros
datachk off
****************************************************************
*
* CnOut - write a byte to the constant buffer
@ -8,7 +9,7 @@
*
****************************************************************
*
CnOut start
CnOut start CodeGen
maxCBuffLen equ 191 max index into the constant buffer
lda cBuffLen if cBuffLen = maxCBuffLen then
@ -39,7 +40,7 @@ lb1 phb cBuff[cBuffLen] := i;
*
****************************************************************
*
CnOut2 start
CnOut2 start CodeGen
maxCBuffLen equ 191 max index into the constant buffer
lda cBuffLen if cBuffLen+1 >= maxCBuffLen then
@ -71,7 +72,7 @@ lb1 phb cBuff[cBuffLen] := i;
*
****************************************************************
*
COut start
COut start CodeGen
phb OutByte(b);
pla
@ -95,7 +96,7 @@ COut start
*
****************************************************************
*
Out2 start
Out2 start CodeGen
phb OutWord(w);
pla
@ -118,7 +119,7 @@ Out2 start
*
****************************************************************
*
Out start
Out start CodeGen
phb OutByte(b);
pla
@ -141,7 +142,7 @@ Out start
*
****************************************************************
*
OutByte private
OutByte private CodeGen
lda objLen if objLen+segDisp = buffSize then
clc
@ -200,7 +201,7 @@ lb2a lda #$8000 handle a segment overflow
*
****************************************************************
*
OutWord private
OutWord private CodeGen
lda objLen if objLen+segDisp+1 = buffSize then
sec

View File

@ -34,7 +34,7 @@ interface
uses CCommon, CGI, CGC;
{$segment 'CodeGen'}
{$segment 'CODEGEN'}
procedure CloseObj;

View File

@ -1,4 +1,5 @@
mcopy scanner.macros
datachk off
****************************************************************
*
* Convertsl - Convert a string to a long integer
@ -14,7 +15,7 @@
*
****************************************************************
*
Convertsl start
Convertsl start scanner
val equ 0 return value
@ -100,7 +101,7 @@ rkModifiers ds 2
*
****************************************************************
*
NextCh start
NextCh start scanner
eofChar equ 0 end of file character
eolChar equ 13 end of line character

View File

@ -31,7 +31,7 @@ interface
uses CCommon, Table, CGI, MM;
{$segment 'scanner'}
{$segment 'SCANNER'}
type
pragmas = {kinds of pragmas}