¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Hex dump.


 

Yes, EX is used to put varying lengths into instructions.
And if you are doing 4 or 8 groups of 8 nibbles and a blank into a
print line of 80 or 132,
do the unpacks then translate the bytes then move the blanks.

On Tue, Jul 28, 2020 at 4:00 AM Giuseppe Vitillaro
<giuseppe@...> wrote:

On Mon, 27 Jul 2020, Mike Schwab wrote:

Well, do it as two passes.
Use the maximum length of the UNPK instruction then the left over part.
Then do the translate which has a 256 byte limit.
Yep, I had some thought about this way, which actually seems
the faster way to go for "long streams" (which it is actually my case
as I'm coding a PL/I-F small program to hex dump datasets, please
I know IDCAMS may do the job under MVS3.8j, but it is a PL/I exercise
from one side and I like to get UNIX like HEX/EBCDIC dump, identical
to the output of "xxd -E" under UNIX).

But in this case the remainder should have a variable size between
1 and 125 (maximum should be 126 bytes, 252 hex digits, executing
a single UNPK/TR couple).

So, it can't be coded using one routine for each value of the remainder,
too long and a nightmare to modify, but it requires, I guess, to write
the UNPK/TR instructions LL fields, at runtime, executing them only
after their LL fields are correctly defined for current value
of the remainder.

Which directly lead to the "EX" instruction, if I got the correct
picture, an "EX" for UNPK and an "EX" for TR.

Am I on the right side of the "force"? ;-) Or there are better ways?

Peppe.



--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

Join [email protected] to automatically receive all group messages.