MVC PREFIX+(1),0(R12)
Posted:
Thu Jun 14, 2012 7:15 am
by bobguo
000D68 D200 5260 C000 00260 00000 3067 MVC PREFIX(1),0(R12) 08150000
000D6E D201 5261 C000 00261 00000 3068 MVC PREFIX+(1),0(R12) 08160000
i think 'MVC PREFIX+(1),0(R12) ' can be rewirted to 'MVC PREFIX+1(1),0(R12)'.
but i have one question, why it was assembled to
instead of
Re: MVC PREFIX+(1),0(R12)
Posted:
Thu Jun 14, 2012 11:10 am
by enrico-sorichetti
because somewhere PREFIX was defined as a 2 bytes field !
Re: MVC PREFIX+(1),0(R12)
Posted:
Thu Jun 14, 2012 11:55 am
by bobguo
enrico-sorichetti wrote:because somewhere PREFIX was defined as a 2 bytes field !
you are right! it was defined as a 2 bytes field.
but i don't know how you can ensure its length is 2. could you explain 'MVC PREFIX+(1),0(R12)' in detail. Thx!
Re: MVC PREFIX+(1),0(R12)
Posted:
Thu Jun 14, 2012 12:19 pm
by enrico-sorichetti
thats because of the format of the SS instruction
8 bits OP CODE
8 bits LENGTH - 1
...
...
since no length was specified the implied length from the DS/DC was used
Re: MVC PREFIX+(1),0(R12)
Posted:
Thu Jun 14, 2012 2:36 pm
by bobguo
ooo. i see.
Thank you very much
i mistaked '+(1)' as the length of move.
but as Enrico said, it should be offset.
Re: MVC PREFIX+(1),0(R12)
Posted:
Mon Jun 18, 2012 11:57 am
by steve-myers
There are two types of SS instructions: instructions with one length, from 1 to 256, and instructions with two lengths like PACK, UNPK and the packed decimal arithmetic instructions.
As others have said, it can be very easy to screw up the specification. One would certainly think that after 40+ years writing S/360 style Assembler I'd never mess this up. WRONG! Every few months I blow it, though somewhat differently, like this:
MVC offset(reg),SOURCE
rather than
MVC offset(length,reg),SOURCE
After the S0C4 I smack my forehead (again), throw out useful comments like Stupid, along with other words not to be repeated in mixed company.