Annotation of coherent/d/bin/cc/c/common/i8086/geno.c, revision 1.1

1.1     ! root        1: /*
        !             2:  * Output one and two operand opcodes
        !             3:  * with their address fields.
        !             4:  * Used in cc1 and cc2.
        !             5:  */
        !             6: #ifdef   vax
        !             7: #include "INC$LIB:mch.h"
        !             8: #include "INC$LIB:host.h"
        !             9: #include "INC$LIB:ops.h"
        !            10: #include "INC$LIB:var.h"
        !            11: #include "INC$LIB:varmch.h"
        !            12: #include "INC$LIB:opcode.h"
        !            13: #include "INC$LIB:stream.h"
        !            14: #else
        !            15: #include "mch.h"
        !            16: #include "host.h"
        !            17: #include "ops.h"
        !            18: #include "var.h"
        !            19: #include "varmch.h"
        !            20: #include "opcode.h"
        !            21: #include "stream.h"
        !            22: #endif
        !            23: extern int *genaf();
        !            24: 
        !            25: genone(op)
        !            26: {
        !            27:        bput(CODE);
        !            28:        bput(op);
        !            29:        genaf(&op + 1);
        !            30: }
        !            31: 
        !            32: gentwo(op)
        !            33: {
        !            34:        bput(CODE);
        !            35:        bput(op);
        !            36:        genaf(genaf(&op + 1));
        !            37: }
        !            38: 
        !            39: int *
        !            40: genaf(mp)
        !            41: register int *mp;
        !            42: {
        !            43:        register int mode;
        !            44: 
        !            45:        iput(mode = *mp++);
        !            46:        if ((mode & A_OFFS) != 0)
        !            47:                iput(*mp++);
        !            48:        if ((mode & A_LID) != 0)
        !            49:                iput(*mp++);
        !            50:        else if ((mode & A_GID) != 0)
        !            51:                sput(*((char **)mp)++);
        !            52:        return (mp);
        !            53: }

unix.superglobalmegacorp.com

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