To restate what I'm asking for...
   Now that we have 2 and 4-byte immediate values it would make sense
   to allow both duplication factor and explicit length for these
   Currently the instructions below would fail
      AHI 1,2X'FF'
      CFI 1,XL4'FF'

   Rather more contentious, I agree, is to imply an explicit length
   of 1, 2, or 4 bytes to any immediate if there were no dup/explicit
   already present

   So, CFI 1,C'9' generates X'000000F9' (yuk)
   But if it were forced to have an explicit length it would be
   interpreted as CL4'9'=X'F9404040' which is what you might expect ???
   Ok, I'll be shot down on that one, but I'll still submit it

Steve Thomas---What does "immediate" mean to you ?
   It means a DC-type constant of any form that is only constrained by
   the length of the immediate according to the instruction

Paul Gilmartin---How do you feel about AHI 1,X'00FFFF'
   It exceeds the 2 byte limit and therefore invalid
   If the explicit length were to be implemented, then it would
   operate as XL2'00FFFF'=X'FFFF'
   Yes, AHI 1,65535 is valid
   In z390, AHI 1,X'00FFFF' is valid
   In DeZhi, it generates but gives a warning

   Yes, it's an HLASM problem, some immediates are logical, some are
   algebraic, it doesn't really matter how the immediate is generated
   provided you get the result you intended

John Ehrman---Immediates are not absolute
   Sorry to disagree, 2X'FF' is just as absolute as X'FFFF'
   I've always considered the result as definitive, not how we got there

   >>>consider AHI 0,(N)X'F'
   By that stage in the Assembly, it would be known (I hope) that
   AHI takes a 2-byte immediate, if the parsing of the DC-type
   immediate exceeded that, it's an error...no acrobatics needed

Chris Smith---Limits ot 16-bit signed...why examples of unsigned
   Immediates can be logical or algebraic, compare CFI with CLFI
   CLFI 1,-1 is a contradiction, but works !

John Dravnieks---
   Read above stuff, AHI 1,X'FFFF' does assemble with a warning

Charles Mills---
   Sorry, but an immediate operand is a unit of storage, the fact that
   it's embedded into an instruction is irrelevant

I'm sure they'll be more flak flying, but I'll wait a few days for the smoke to 
clear before I annoy Sharuff :-)

Mel.


Reply via email to