| You mean something like this?
Program Zap
Implicit Integer (a-z) ! tut, tut !
External ZapR,ZapW
Integer ParmList(3)
Write (6,'(''$Address : '')')
Read (5,'(z)') Address
ParmList(1)=2
ParmList(2)=%Loc(Val)
ParmList(3)=Address
Status=Sys$CmEXEC(ZapR,ParmList)
If (.not.Status) Call Lib$Stop(%Val(Status))
Write (6,'('' Value was '',z8.8)') Val
Write (6,'(''$Value : '')')
Read (5,'(z)') Val
ParmList(1)=2
ParmList(2)=%Loc(Val)
ParmList(3)=Address
Status=Sys$CmKRNL(ZapW,ParmList)
If (.not.Status) Call Lib$Stop(%Val(Status))
End
Integer Function ZapR(X,Y)
C****** Caveat: This routine runs in exec mode
Integer X,Y
X=Y ! zap in
ZapR=1 ! Indicate success
Return
End
Integer Function ZapW(X,Y)
C****** Caveat: This routine runs in kernel mode
Integer X,Y
Y=X ! zap in
ZapW=1 ! Indicate success
Return
End
|