121966Sdist /* 221966Sdist * Copyright (c) 1983 Regents of the University of California. 3*34199Sbostic * All rights reserved. 421966Sdist * 5*34199Sbostic * Redistribution and use in source and binary forms are permitted 6*34199Sbostic * provided that this notice is preserved and that due credit is given 7*34199Sbostic * to the University of California at Berkeley. The name of the University 8*34199Sbostic * may not be used to endorse or promote products derived from this 9*34199Sbostic * software without specific prior written permission. This software 10*34199Sbostic * is provided ``as is'' without express or implied warranty. 11*34199Sbostic * 12*34199Sbostic * @(#)vax.h 5.2 (Berkeley) 05/05/88 1321966Sdist */ 1411714Smckusick 1511714Smckusick /* 1611714Smckusick * opcode of the `calls' instruction 1711714Smckusick */ 1811714Smckusick #define CALLS 0xfb 1911714Smckusick 2011714Smckusick /* 2111714Smckusick * offset (in bytes) of the code from the entry address of a routine. 2211714Smckusick * (see asgnsamples for use and explanation.) 2311714Smckusick */ 2411714Smckusick #define OFFSET_OF_CODE 2 2511806Smckusick #define UNITS_TO_CODE (OFFSET_OF_CODE / sizeof(UNIT)) 2611714Smckusick 2711714Smckusick /* 2811714Smckusick * register for pc relative addressing 2911714Smckusick */ 3011714Smckusick #define PC 0xf 3111714Smckusick 3211714Smckusick enum opermodes { 3311714Smckusick literal, indexed, reg, regdef, autodec, autoinc, autoincdef, 3411714Smckusick bytedisp, bytedispdef, worddisp, worddispdef, longdisp, longdispdef, 3511714Smckusick immediate, absolute, byterel, bytereldef, wordrel, wordreldef, 3611714Smckusick longrel, longreldef 3711714Smckusick }; 3811714Smckusick typedef enum opermodes operandenum; 3911714Smckusick 4011714Smckusick struct modebyte { 4111714Smckusick unsigned int regfield:4; 4211714Smckusick unsigned int modefield:4; 4311714Smckusick }; 4411714Smckusick 45