WTF? How are CLC, MVC, TR and TRT not string instructions? Or do you only consider it to be a string if it conforms to the abominable C use of 0 as a string delimiter?
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List <[email protected]> on behalf of Paul Raulerson <[email protected]> Sent: Monday, February 5, 2018 10:53 PM To: [email protected] Subject: Re: Fair comparison C vs HLASM > On Feb 5, 2018, at 7:29 PM, Robin Vowels <[email protected]> wrote: > > From: "Bernd Oppolzer" <[email protected]> > Sent: Tuesday, February 06, 2018 1:23 AM > > >> Am 05.02.2018 um 14:42 schrieb Gord Tomlin: >> And, BTW, the historic facts are simply wrong: >> IBM had a C compiler for MVS (and VM, I believe) long before there were >> string instructions on z/Arch. > > MVC, CLC, MVCL, CLCL, MVO, MVN, ED, EDMK, TR, TRT > are all string instructions. Most of these were available in 1965 with the > S/360. Long before C. Oh my - but no. These are >character< operators, not string operators. Much more akin to C’s memcpy() than anything else. (Yes, memcpy() was built, in part, to emulate them.) CLST, CUSE, MVST, SRTST, and the later generations of these and other instructions work on strings. Albeit, I think the definition of “string” in this case is a little dodgy. I must say, it is a lot of fun to read some of these postings. I don’t necessarily agree with a lot of them, but they are fun to read. z/OS as the epitome of a portable OS? HLASM more portable that C? Does anyone really buy into that? I assumed it was a just leg pulling… :) -Paul
