When you say trace, I suppose you mean tracing the execution path of the assembler program instructions. Under MVS environment, tracing assembler programs execution path may be a little tricky. Of course, if you are executing an online program under CICS, you can use the CEDF facility. But in batch, there are limitations.
If your program has issued an SVC dump, then you may trace the execution from the register contents. But if you wish to trace the execution path at runtime without using any code-modifying methods, then I guess the MVS SLIP (Serviceability Level Indication Processing) traps are an option. SLIP is a diagnostic aid that traps certain system events and specifies what action to take. Using the SLIP command, the SLIP traps may be set, modified or deleted. IBM would normally recommend that SLIP traps be used only at the direction of a system programmer. That makes it even more difficult for the application programmer.
At our site, we have a macro available for dumping register contents, which can be used at various points in the assembler code to assist with tracing the execution path.
You don't say in your posting what type of subsystem or environment the MVS program executes in.
If you are talking about tracing a program that executes under TSO, ISPF, or in batch, then you can use the TSO 'TEST' command to debug it. There is no TRACE facility within TEST, but you can set breakpoints, examine registers and storage, and display various control blocks.
Under TSO, you must first manually allocate any files the program needs (via the TSO 'ALLOC' command), then invoke TEST. As an example, if you want to test a program named 'XYZ', then you invoke TEST like this:
TEST 'programlibrary name(XYZ)'
TEST then prompts you with the prompt TEST, and you enter whichever TEST subcommands you need to use. TEST is documented in this IBM manual:
The SLIP command is basically an operator command, normally unavailable to application programmers (apologies if I have raised any undue hopes in this matter). It is a subcommand of OPER, which, among other things, will trace activity in a specified program by setting offsets within a job, user or a started task.
I understand this may not be what you are looking for but the sysprogs at your site may provide more help if you wish to avail the services of the SLIP command.