Annotation of 43BSDTahoe/ucb/pascal/px/machdep.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1980 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  *
                      6:  *     @(#)machdep.h   5.2 (Berkeley) 11/12/86
                      7:  */
                      8: 
                      9: #ifdef ADDR32
                     10: #define pushaddr push4
                     11: #define popaddr (char *)pop4
                     12: #endif ADDR32
                     13: #ifdef ADDR16
                     14: #define pushaddr push2
                     15: #define popaddr (char *)pop2
                     16: #endif ADDR16
                     17: 
                     18: /*
                     19:  * Machine specific macros for reading quantities from the
                     20:  * interpreter instruction stream. Operands in the instruction
                     21:  * stream are aligned to short, but not long boundries. Blockmarks
                     22:  * are always long aligned. Stack alignment indicates whether the
                     23:  * stack is short or long aligned. Stack alignment is assumed to
                     24:  * be no more than long aligned for ADDR32 machines, short aligned
                     25:  * for ADDR16 machines.
                     26:  */
                     27: #if defined(vax) || defined(mc68000) || defined(pdp11)
                     28: #define PCLONGVAL(target) target = *pc.lp++
                     29: #define GETLONGVAL(target, srcptr) target = *(long *)(srcptr)
                     30: #define STACKALIGN(target, value) target = ((value) + 1) &~ 1
                     31: #endif vax || mc68000 || pdp11
                     32: 
                     33: #ifdef tahoe
                     34: #define PCLONGVAL(target) target = *pc.sp++ << 16, target += *pc.usp++
                     35: #define GETLONGVAL(target, srcptr) \
                     36:        tsp = (short *)(srcptr), \
                     37:        target = *tsp++ << 16, target += *(unsigned short *)tsp
                     38: #define STACKALIGN(target, value) target = ((value) + 3) &~ 3
                     39: #endif tahoe

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.