11d8d0108Sdist /* 2*e7d21e74Sbostic * Copyright (c) 1983, 1993 3*e7d21e74Sbostic * The Regents of the University of California. All rights reserved. 41d8d0108Sdist * 51808f06cSbostic * %sccs.include.redist.c% 640159e57Sbostic * 7*e7d21e74Sbostic * @(#)vax.h 8.1 (Berkeley) 06/06/93 81d8d0108Sdist */ 96e0a246cSmckusick 106e0a246cSmckusick /* 116e0a246cSmckusick * opcode of the `calls' instruction 126e0a246cSmckusick */ 136e0a246cSmckusick #define CALLS 0xfb 146e0a246cSmckusick 156e0a246cSmckusick /* 166e0a246cSmckusick * offset (in bytes) of the code from the entry address of a routine. 176e0a246cSmckusick * (see asgnsamples for use and explanation.) 186e0a246cSmckusick */ 196e0a246cSmckusick #define OFFSET_OF_CODE 2 20407b5cabSmckusick #define UNITS_TO_CODE (OFFSET_OF_CODE / sizeof(UNIT)) 216e0a246cSmckusick 226e0a246cSmckusick /* 236e0a246cSmckusick * register for pc relative addressing 246e0a246cSmckusick */ 256e0a246cSmckusick #define PC 0xf 266e0a246cSmckusick 276e0a246cSmckusick enum opermodes { 286e0a246cSmckusick literal, indexed, reg, regdef, autodec, autoinc, autoincdef, 296e0a246cSmckusick bytedisp, bytedispdef, worddisp, worddispdef, longdisp, longdispdef, 306e0a246cSmckusick immediate, absolute, byterel, bytereldef, wordrel, wordreldef, 316e0a246cSmckusick longrel, longreldef 326e0a246cSmckusick }; 336e0a246cSmckusick typedef enum opermodes operandenum; 346e0a246cSmckusick 356e0a246cSmckusick struct modebyte { 366e0a246cSmckusick unsigned int regfield:4; 376e0a246cSmckusick unsigned int modefield:4; 386e0a246cSmckusick }; 396e0a246cSmckusick 40