Annotation of 43BSDTahoe/ucb/pascal/px/machdep.h, revision 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.