PPL$JUMP_CODE 26-OCT-1998 13:05:28 MACRO-64 V1.0-213-248T Page 1 20-JUL-1992 11:05:38 SYS$COMMON:[SYSLIB]ARCH_DEFS.MAR;1 1 ; 2 ; This is the ALPHA (previously called "EVAX") version of ARCH_DEFS.MAR, 3 ; which contains architectural definitions for compiling VMS sources 4 ; for VAX and ALPHA systems. 5 ; 6 EVAX = 1 7 ALPHA = 1 8 BIGPAGE = 1 9 ADDRESSBITS = 32 10 .INCLUDE "SYS$LIBRARY:STARLET.PREFIX" 3953 .INCLUDE "SYS$LIBRARY:LIB.PREFIX" 12221 12222 12223 .TITLE PPL$JUMP_CODE ; Code to jump to VM routines 12224 12225 ;**************************************************************************** 12226 ;* * 12227 ;* COPYRIGHT (c) 1991 BY * 12228 ;* DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS. * 12229 ;* ALL RIGHTS RESERVED. * 12230 ;* * 12231 ;* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED * 12232 ;* ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE * 12233 ;* INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER * 12234 ;* COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY * 12235 ;* OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY * 12236 ;* TRANSFERRED. * 12237 ;* * 12238 ;* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE * 12239 ;* AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT * 12240 ;* CORPORATION. * 12241 ;* * 12242 ;* DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS * 12243 ;* SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. * 12244 ;* * 12245 ;* * 12246 ;**************************************************************************** 12247 12248 ;++ 12249 ; FACILITY: PPLRTL (Bounded descriptor jump code) 12250 ; 12251 ; ABSTRACT: Jump code to be used in association with a bounded descriptor. 12252 ; 12253 ; When creating a bounded descriptor, point its pdsc.entry field 12254 ; at this code so that the real procedure descriptor may be setup 12255 ; correctly and jumped to. 12256 ; 12257 ; AUTHOR: Paul J. Curtin, Jr 12-Nov-1991 12258 ; 12259 ; MODIFIED BY: 12260 ; 001 Paul J. Curtin, Jr. 18-Mar-1992 12261 ; Replaced DRAINT instruction with TRAPB 12262 12263 12264 .psect $code,rd,nowrt,shr,rel,con,exe,pic 12265 12266 PPL$$JUMP_CODE:: PPL$JUMP_CODE 26-OCT-1998 13:05:28 MACRO-64 V1.0-213-248T Page 2 13-OCT-1998 21:18:08 $7$DKA300:[PPLRTL.SRC]PPLJMPCODE.M64;1 12267 TRAPB 12268 LDQ R22, 24(R27) ; Environment value to R22 12269 LDQ R27, 16(R27) ; Procedure descriptor address to R27 12270 LDQ R28, 8(R27) ; Get new code address 12271 JMP R31, (R28) ; jump to the new code address 12272 12273 12274 .END Command: MACRO/ALPHA/MACHINE/LIS=LIS$:PPLJMPCODE/OBJ=OBJ$:PPLJMPCODE SYS$LIBRARY:ARCH_DEFS.MAR+SYS$LIBRARY:STARLET.INCLUDE+SY S$LIBRARY:LIB.INCLUDE+SRC$:PPLJMPCODE.M64 PPL$JUMP_CODE Machine Code Listing 26-OCT-1998 13:05:28 MACRO-64 V1.0-213-248T Page 3 $CODE 13-OCT-1998 21:18:08 $7$DKA300:[PPLRTL.SRC]PPLJMPCODE.M64;1 .PSECT $CODE, QUAD, PIC, CON, REL, LCL, SHR,- EXE, RD, NOWRT 0000 PPL$$JUMP_CODE:: 60000000 0000 TRAPB ; ; 012267 A6DB0018 0004 LDQ R22, 24(R27) ; R22, 24(R27) ; 012268 A77B0010 0008 LDQ R27, 16(R27) ; R27, 16(R27) ; 012269 A79B0008 000C LDQ R28, 8(R27) ; R28, 8(R27) ; 012270 6BFC0000 0010 JMP R31, R28 ; R31, R28 ; 012271 Routine Size: 20 bytes, Routine Base: $CODE + 0000