I noticed this too a while back (wow! 2017), and didn't want to hand code them 
so I wrote a MVFI macro that generates the two MVHHI's. It is a 300+ line macro 
mainly to try and make the two generated immediate operand values human 
readable when that are numeric, character or hex values. Expressions ended up 
as a complicated mess because there is no assembly time shift operator.

Robert

-----Original Message-----
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On Behalf 
Of Schmitt, Michael
Sent: Wednesday, August 20, 2025 14:16
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: Execute-Type Instructions

[part 3]

1.      The two MVHHI (move halfword immediate to halfword storage) 
instructions are setting up the edit mask. This would be the same as the MVC in 
COBOL 4, but it is using immediate instructions. The immediate values can't be 
larger than a halfword, so it takes 2 instructions.

Note: In my code if I had to move > 2 bytes, I just define a constant. This 
code is more efficient at the expense of understandability for humans reading 
it.

[snipped]

Reply via email to