	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
