Page 1 of 1

Re: Learning ED instruction - need some help

PostPosted: Mon Aug 27, 2012 1:42 am
by fast_learner
It seems I am discovering very simple mistakes in my questions every time I visit it. I have corrected the mistake, pls refer the below question for the correct version ::
The 2 typo'd posts have been removed.

Question::

Given X DC PL3'1234' and MASK DC XL6'402020202020', show the value of WK6 or WK4 after each of the following, pls note that each step is an individual step and and there is no co-relation between them :

1. MVC WK6,MASK
ED WK6,X
2. MVC WK4,MASK
ED WK4,X+1

WK6 DS CL6
WK4 DS CL4

I have reached to the below solution for each step, can you pls confirm if that is correct ::

1. MVC WK6,MASK
ED WK6,X

WK6 = x'402020202020' - after MVC instruction
WK6 = x'4040F1F2F3F4' - after ED instruction

2. MVC WK4,MASK
ED WK4,X+1
WK4 = x'40202020' - after MVC instruction
WK4 = x'40F2F3F4' - after ED instruction

Can you pls confirm if my outputs of WK6 and WK4 are correct. I am especially concerned for WK4 output.

Re: Learning ED instruction - need some help

PostPosted: Mon Aug 27, 2012 5:27 am
by steve-myers
This is not an appropriate place for a tutorial, but I'll try.
  • There are three classes of characters in an ED instruction “mask:”
    • A fill character, always the first character in the “mask.” The fill character replaces digit select and text characters.
    • Two types of digit select characters.
      • A regular digit select character, X'20'.
      • A significance start digit select character, X'21'.
      The ED instruction replaces digit select characters with an EBCDIC numeric character or the fill character. An EBCDIC numeric character is used if the corresponding packed decimal digit is non-zero, or a preceding digit select character inserted a number. The fill character is used if the corresponding packed decimal digit is 0. The significance start digit select character sets a switch that implied a non-zero packed decimal digit has been encountered
    • A text character. Text characters are replaced with the fill character if significance has not been established.
I do not use ED very often in my own work, so I've never memorized the hexadecimal codes for many common text characters like comma (,). I construct my edit mask using compound DC statements like

EDMASK DC 0C'bNN,NNN',C'b',X'2020',C',',X'202120'

The lower case b is really a blank, because blanks do not display well here.

The 0C'bNN,NNN' part is a simplified mask that describes the real mask.

C'b' is the fill character.

X'2020',C',',X'202120' is the digit select characters and an imbedded text character.

An important detail is most real world edit "masks" contain an odd number of digit select characters because all real packed decimal characters contain an odd number of digits.

So

ED EDMASK,=PL3'99999'' generates C'b99,999'
ED EDMASK,=PL3'1024' generates C'bb1,024'
ED EDMASK,=PL3'0' generates C'bbbbbb0'

Text characters that follow the last digit select character are replaced with the fill character if the packed decimal sign is a preferred or alternate +.

Historically there have been two simplified mainframe simulators for PCs.
  • PC370 - PC370 is a 16-bit MS-DOS application. It should run in Windows XP, but not Vista or Win 7.
  • z390.org - z390 is a Java application. Its principal author appears to be the primary author of PC370.
I can't vouch for either product.

Re: Re: Learning ED instruction - need some help

PostPosted: Mon Aug 27, 2012 7:45 am
by dick scherrer
Hello,

There is also
http://www.hercules-390.org/
While this is an excellent product, you should have a very deep understanding of how mvs works before attempting to install/run this at home. Also, you have to install an Operating System because Herculs emulates the hardware. Available to Hercules is an older release of MVS - 3.8 IIRC. With this you can do Many things.

Re: Learning ED instruction - need some help

PostPosted: Mon Aug 27, 2012 1:57 pm
by fast_learner
Thanks for your reply Steve and Dick.

Can I request you to confirm just one more aspect of my understanding?

Given X DC PL3'1234' and MASK DC XL6'402020202020'

MVC WK4,MASK
ED WK4,X+1

where WK4 is defined as below,

WK4 DS CL4

I wanted to confirm my understanding of explicit displacement of X+1 with the second operand of ED instruction.

After ED WK4,X+1 in above command, will WK4 hold x'40F2F3F4'.

Can you pls suggest?

I am trying to get an emulator for assembler in the meanwhile and I am also referring to the links/emulators names as mentioned above.

Requesting other registered users as well to comment.

Re: Learning ED instruction - need some help

PostPosted: Mon Aug 27, 2012 2:03 pm
by enrico-sorichetti
I am trying to get an emulator for assembler in the meanwhile

why waste time reinventing the wheel ???
http://www.z390.org/