.
.         The purpose of this procedure is to issue keypoints within the trap handlers.
.         A keypoint is not issued if the keypoint flag is set in the UCR.
.
.         Procedure calling sequence:
.           keypt  k_class,k_code,k_data,xr_ucr,xs_1
.                    K_CLASS - This parameter specifies the keypoint class.
.                    K_CODE - This parameter specifies the keypoint code.
.                    K_DATA - This parameter specifies the keypoint data, must
.                        be an X register.
.                    XR_UCR - This parameter is an X register containing the UCR.
.                    XS_1 - This parameter specifies a scratch X register to be used in
.                         this procedure, can not be X0.
.
.         NOTE:
.           If 'K_DATA' is register X0, the data is assumed to be zeros.
.           XS_1 is the only register that is destroyed.
.
          PROC
keypt     pname
.         list     3,2,1
          local    k_class,k_code,k_data,xr_ucr,xs_1
          local    kpl10
k_class   set      f:(2,0)
k_code    set      f:(2,1)
k_data    set      f:(2,2)
k_data    atrib    #regtyp,#xreg
xr_ucr    set      f:(2,3)
xr_ucr    atrib    #regtyp,#xreg
xs_1      set      f:(2,4)
xs_1      atrib    #regtyp,#xreg
          isob     xs_1,xr_ucr,x0,6600(8)   .Keypoint flag from UCR
          brrne    xs_1,x0,kpl10       .If entered to record keypoint
          shfx     xs_1,k_data,x0,13
          keypoint k_class,xs_1,k_code
          brcr     6,4,kpl10           .Clear UCR keypoint bit
kpl10     bss      0
.         list     1,2,1
          pend
