|
|
1.1 ! root 1: /* Tahoe Registers */ ! 2: ! 3: /* scratch registers */ ! 4: # define R0 0 ! 5: # define R1 1 ! 6: # define R2 2 ! 7: # define R3 3 ! 8: # define R4 4 ! 9: # define R5 5 ! 10: ! 11: /* register variables */ ! 12: # define R6 6 ! 13: # define R7 7 ! 14: # define R8 8 ! 15: # define R9 9 ! 16: # define R10 10 ! 17: # define R11 11 ! 18: # define R12 12 ! 19: ! 20: /* special purpose */ ! 21: # define FP 13 /* frame pointer */ ! 22: # define SP 14 /* stack pointer */ ! 23: # define PC 15 /* program counter */ ! 24: ! 25: /* floating registers */ ! 26: # define ACC 16 /* accumulator */ ! 27: ! 28: extern int fregs; ! 29: extern int maxargs; ! 30: ! 31: # define BYTEOFF(x) ((x)&03) ! 32: # define wdal(k) (BYTEOFF(k)==0) ! 33: # define BITOOR(x) ((x)>>3) /* bit offset to oreg offset */ ! 34: ! 35: # define REGSZ 16 ! 36: ! 37: # define TMPREG FP ! 38: ! 39: # define R2REGS /* permit double indexing */ ! 40: ! 41: # define STOARG(p) /* just evaluate the arguments, and be done with it... */ ! 42: # define STOFARG(p) ! 43: # define STOSTARG(p) ! 44: ! 45: # define NESTCALLS ! 46: ! 47: # define MYREADER(p) myreader(p) ! 48: int optim2(); ! 49: # define SIREG (SPECIAL|6) /* indexed OREG */ ! 50: int special(); ! 51: #define callchk(p) if(p->in.op!=FORTCALL)allchk()
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.