






            Featured Program

            Delete Program Observability


            by Bob Cozzi


            Each month, Featured Program presents a full-function

            command or routine that provides the System/38 user with a

            useful tool.  Keep in mind that the Featured Program may not

            be appropriate for all installations; you must decide

            whether it suits your particular needs.  Source code found

            in the Featured Program can be downloaded via the Q38-IBBS

            by dialing (312) 790-5037.  Q38-IBBS is available 24 hours

            each day, Monday through Friday.  The Q38-IBBS is free of

            charge to Q38 Technical Journal subscribers.


            Most users know the standard solution when they're faced

            with a critical disk space shortage:  "Buy more DASD!"  Well

            for years now, a few System/38 users have been retrieving

            some of that expensive DASD with a unique feature of the

            System/38 MI Assembly Language: DELPGMOBS (Delete Program

            Observability.)


            The technical description of the DELPGMOBS instruction can

            be found in the System/38 Function Concepts Manual:























            The [DELPGMOBS] instruction eliminates the capability to

            materialize the components, other than the control

            information component, of the program template associated

            with the program.  After deleting observability, only the

            control information component of the program template can be

            materialized.


            In general, the instruction causes the amount of storage

            used by the program to be decreased.  The amount of storage

            released is equal to the size of the program template and

            all of its components.


            In more common terms, DELPGMOBS is a single MI instruction

            that removes the a program's debug template.  The numbers

            I've seen indicate a reduction in program size of up to 60%.

            And, contrary to some advertising claims, programs will not

            execute faster.



































            Who uses DELPGMOBS?  Software developers that want to

            protect their software from disassembling.  There are

            software services available that rebuild the high-level

            language code from the object.  If a program has its

            observability deleted, those services cannot be performed.

            In addition, the program cannot be debugged, formatted dumps

            are not produced, and the program cannot be materialized.

            Consequently, if you plan on converting to the System/3x

            follow-on, and observability has been deleted from a

            program, you will not be able to restore that program onto

            the new machine.  That is, System/3x follow-on is

            object-code compatible, but only if observability has not

            been deleted.  (You will still, however, be able to restore

            source code onto System/3x follow-on.)
































