⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ees.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
(*#@(#)ees.h	4.1	Ultrix	7/17/90 *)(**************************************************************************** *									    * *  Copyright (c) 1984 by						    * *  DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts.		    * *  All rights reserved.						    * * 									    * *  This software is furnished under a license and may be used and copied   * *  only in  accordance with  the  terms  of  such  license  and with the   * *  inclusion of the above copyright notice. This software or  any  other   * *  copies thereof may not be provided or otherwise made available to any   * *  other person.  No title to and ownership of  the  software is  hereby   * *  transferred.							    * * 									    * *  The information in this software is  subject to change without notice   * *  and  should  not  be  construed as  a commitment by DIGITAL EQUIPMENT   * *  CORPORATION.							    * * 									    * *  DIGITAL assumes no responsibility for the use  or  reliability of its   * *  software on equipment which is not supplied by DIGITAL.		    * * 									    *$Header: ees.h,v 1.4 84/05/19 11:32:37 powell Exp $ ****************************************************************************)const    EESSTACKSIZE = 32;	{ maximum size of the ees }    NUMTEMPS = -100;	{ minus the number of temps }    APOFF = -4;		{ offset of current ap in activation record }    DISPOFF = -8;	{ offset of old display reg in activation record }type    Reg = (NULLREG, SAVEDREG, SAVED2REG,	    r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11,	    ap, fp, sp, pc,	    r20, r21, r22, r23, r24, r25, r26, r27, r28, r29,	    r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40,	    rt0, rt1, rt2, rt3, rt4, rt5, rt6, rt7, rt8, rt9);	    { note: tregs cannot have multi-word values (no longreals!) }const    RETURNREG = r0;          { return values from procedures in this reg }    FIRSTREG = r1;    LASTREG = r11;    FPREG = fp;    FIRSTVREG = r20;    LASTVREG = r40;type    RegState = (REGALLOC, REGFREE, REGRETURN, REGREG, REGTEMP, REGDISP, REGEES);    RegKind = REGRETURN..REGEES;    EESKind = (EESDATA, EESADDR, EESVAR);    EESElement = NUMTEMPS..EESSTACKSIZE;    {    EESDATA:	constInt, dreg    EESADDR:	breg, sreg, addrLevel, addrMemType, addrOffset, addrBlock    EESVAR:	addrLevel, addrMemType, addrOffset, addrBlock, indirect    }    EESRecord = record	ptype : pcodetype;	size : sizerange;	kind : EESKind;	inUse : boolean;	constInt : integer;	dreg : Reg;	breg : Reg;	sreg : Reg;	sunits : sizerange;	addrLevel : Level;	addrMemType : char;	addrOffset : integer;	addrBlock : integer;	indirect : boolean;	smemoffset : sizerange;	smemsize : sizerange;    end;var    ees : array [NUMTEMPS..EESSTACKSIZE] of EESRecord;    top : EESElement;    maxtoffset : integer;    lastreg : Reg;    firsttreg : Reg;{ table for printing registers }    regString : array [Reg] of packed array [1..3] of char;    regStringSize : array [Reg] of integer;procedure Push(kind : EESKind); external;procedure Pop(num:integer); external;procedure InitReg; external;procedure InitEES; external;procedure DumpReg; external;procedure DumpEES; external;procedure ClearEES(e : EESElement); external;procedure ClearReg; external;procedure Registerize(var r : Reg); external;function AllocReg(state : RegState; e : EESElement; ptype : pcodetype) : Reg;	external;procedure FreeReg(var r : Reg); external;procedure NeedDisp(level : integer; mt : char); external;procedure FreeDisp; external;procedure ClearDisp; external;function AllocDisplay(level : integer; mt : char) : Reg; external;function DispReg(level : integer; mt : char) : Reg; external;procedure ClearAddress(e : EESElement); external;procedure SaveRegs(below : EESElement); external;procedure RestoreRegs(below : EESElement); external;procedure SwapEES(a,b : EESElement); external;procedure MoveReg(e : EESElement; r : Reg); external;function MemTReg(offset : integer) : Reg; external;function TRegReg(r : Reg) : Reg; external;function ActiveReg(r : Reg) : boolean; external;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -