"The second operand is two bytes in length and is treated as a 16-bit signed binary integer."
So, I think it's just a bug. I haven't had occasion to use -1 with CHSI, etc., but I have with MVHI, etc. and no such warning is emitted. sas On Wed, Dec 7, 2022 at 11:20 AM Seymour J Metz <sme...@gmu.edu> wrote: > When you code an immediate operand, it has semantics beyond the generated > code. An operand of -1 is signed and not equivalent to X'FFFF', even though > they have the same value. The instruction is compare logical half half > storage immediate, thus the assembler expects the immediate operand to be > unsigned. I'd consider the message to be appropriate. > > Maybe define a symbol with an appropriate and use it in the CLHHSI, e.g., > > HWMINUS1ASUNSIGNED EQU X'FFFF' > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > ________________________________________ > From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on > behalf of Ed Jaffe [edja...@phoenixsoftware.com] > Sent: Wednesday, December 7, 2022 10:46 AM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: CLHHSI TYPECHECK(MAGNITUDE) Annoyance > > We decided to replace many SS instructions with their SIL counterparts. > One common case is frustrating. > > D501 C01E C020 CLC HWord,=H'-1' Is it negative one? > A784 000C JE NegOne Branch if yes > > replaced with: > > E555 C01E FFFF CLHHSI HWord,-1 Is it negative one? > A784 000C JE NegOne Branch if yes > ** ASMA320W Immediate field operand may have incorrect sign or magnitude > - -1 > > I totally understand the warning in this case: > > E555 C01E FFFF CLHHSI HWord,131071 Is it negative one? > A784 000C JE NegOne Branch if yes > ** ASMA320W Immediate field operand may have incorrect sign or magnitude > - 131071 > > but I can't understand why -1 generates this warning. The provided value > is validly within the range -32768 through 32767. > > We like TYPECHECK(MAGNITUDE) and quite literally assemble tens of > millions of lines of code daily with it enabled and no such warnings are > produced. So we're forced to use ACONTROL like this around this bizarre > case: > > PUSH ACONTROL > ACONTROL TYPECHECK(NOMAGNITUDE) > E555 C01E FFFF CLHHSI HWord,-1 Is it negative one? > A784 000C JE NegOne Branch if yes > POP ACONTROL > > It seems a ridiculous misunderstanding on the part of the assembler... > > -- > Phoenix Software International > Edward E. Jaffe > 831 Parkview Drive North > El Segundo, CA 90245 > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.phoenixsoftware.com%2F&data=05%7C01%7Csmetz3%40gmu.edu%7Cb8e9bc93878545f5d50608dad86a6896%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638060248795037186%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=nSiNwQLluMEbqXVV7FtvNW%2BoB3oVZmxt%2BQcNN%2Fmlc7k%3D&reserved=0 > > > > -------------------------------------------------------------------------------- > This e-mail message, including any attachments, appended messages and the > information contained therein, is for the sole use of the intended > recipient(s). If you are not an intended recipient or have otherwise > received this email message in error, any use, dissemination, distribution, > review, storage or copying of this e-mail message and the information > contained therein is strictly prohibited. If you are not an intended > recipient, please contact the sender by reply e-mail and destroy all copies > of this email message and do not otherwise utilize or retain this email > message or any or all of the information contained therein. Although this > email message and any attachments or appended messages are believed to be > free of any virus or other defect that might affect any computer system > into > which it is received and opened, it is the responsibility of the recipient > to ensure that it is virus free and no responsibility is accepted by the > sender for any loss or damage arising in any way from its opening or use. >