Interesting. So the code actually works.
On Wed, 17 Aug 2022 11:24:31 +0100 Colin Paice <[email protected]> wrote: :> :>> SLR r0,r0 clear :>register 2 :>:>> IC r0,str2(,r13,157) load the one :>character into it :>:>> O r0,=F'10995440' OR this with :>0x00A7C6F0' (=F'10995440') which is a7=x c6=F f0=0 = X F 0 :>:>> N r0,=F'255' clear the :>top 3 bytes .. keep the lower byte :>:>> STC r0,str2(,r13,157) store the :>character :> :>So basically the code is oring the character with 0xf0 - which by luck is :>what you wanted. :> :> :>On Wed, 17 Aug 2022 at 10:05, Binyamin Dissen <[email protected]> :>wrote: :> :>> Quite possible. :>> :>> To confirm, it is '\xf0' with surrounding quotes of \xF0 without quotes. Or :>> both? :>> :>> :>> On Wed, 17 Aug 2022 09:31:18 +0200 Bernd Oppolzer < :>> [email protected]> :>> wrote: :>> :>> :>Could it be that the source has been transferred in any way? :>> :> :>> :>It would be valid, if there was a backslash before the hex constant, :>> :>like below; :>> :>backslash, followed by x, followed by two hex digits is a single char in :>> C. :>> :> :>> :>str2 = str2 ¦ '\xF0'; :>> :> :>> :>HTH, kind regards :>> :> :>> :>Bernd :>> :> :>> :> :>> :> :>> :>Am 17.08.2022 um 09:16 schrieb Binyamin Dissen: :>> :>> I have inherited some C code. :>> :>> :>> :>> str2 = str2 ¦ 'xF0'; :>> :>> str1 = str1 >> 4; :>> :>> str1 = str1 ¦ 'xF0'; :>> :>> :>> :>> These receive :>> :>> :>> :>> CCN4118 Character constant 'xF0' has more than 1 character. :>> :>> :>> :>> Examining the source4 it appears the intent is for 0xF0 :>> :>> :>> :>> 1. Why would this be a mere informational message? Seems like it :>> should be a :>> :>> warning. that the sizes do not match. :>> :>> :>> :>> The code generated is :>> :>> :>> :>> :>> :>> * str2 = str2 ¦ 'xF0'; :>> :>> SLR r0,r0 :>> :>> IC r0,str2(,r13,157) :>> :>> O r0,=F'10995440' :>> :>> N r0,=F'255' :>> :>> STC r0,str2(,r13,157) :>> :>> * str1 = str1 >> 4; :>> :>> SLR r0,r0 :>> :>> IC r0,str1(,r13,156) :>> :>> SRA r0,4 :>> :>> N r0,=F'255' :>> :>> STC r0,str1(,r13,156) :>> :>> * str1 = str1 ¦ 'xF0'; :>> :>> SLR r0,r0 :>> :>> IC r0,str1(,r13,156) :>> :>> O r0,=F'10995440' :>> :>> N r0,=F'255' :>> :>> STC r0,str1(,r13,156) :>> :>> :>> :>> 10995440 = x'A7C6F0' = 'xF0' :>> :>> :>> :>> 2. This is very old cold, not compiled for years (decades?). Was there :>> a point :>> :>> in C compiler history where 'this was ever a valid hex constant? :>> :>> :>> :>> -- :>> :>> Binyamin Dissen <[email protected]> :>> :>> http://www.dissensoftware.com :>> :>> :>> :>> Director, Dissen Software, Bar & Grill - Israel :>> :>> :>> :>> ---------------------------------------------------------------------- :>> :>> For IBM-MAIN subscribe / signoff / archive access instructions, :>> :>> send email to [email protected] with the message: INFO IBM-MAIN :>> :> :>> :>---------------------------------------------------------------------- :>> :>For IBM-MAIN subscribe / signoff / archive access instructions, :>> :>send email to [email protected] with the message: INFO IBM-MAIN :>> :>> -- :>> Binyamin Dissen <[email protected]> :>> http://www.dissensoftware.com :>> :>> Director, Dissen Software, Bar & Grill - Israel :>> :>> ---------------------------------------------------------------------- :>> For IBM-MAIN subscribe / signoff / archive access instructions, :>> send email to [email protected] with the message: INFO IBM-MAIN :>> :> :>---------------------------------------------------------------------- :>For IBM-MAIN subscribe / signoff / archive access instructions, :>send email to [email protected] with the message: INFO IBM-MAIN -- Binyamin Dissen <[email protected]> http://www.dissensoftware.com Director, Dissen Software, Bar & Grill - Israel ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
