Prev: Request for parallel computing books in comp.parallel
Next: Press Release - Reliable Software Technologies, Ada-Europe 2010
From: Robert AH Prins on 7 Jun 2010 08:50 On 2010-06-07 10:40, Peter Flass wrote: > robin wrote: >> "Martin Krischik" <krischik(a)users.sourceforge.net> wrote in message >> news:op.vdv17504z25lew(a)macpro-eth1.krischik.com... >> | Am 06.06.2010, 17:19 Uhr, schrieb J. Clarke <jclarke.usenet(a)cox.net>: >> | >> | > On 6/6/2010 12:25 AM, Shmuel (Seymour J.) Metz wrote: >> | >> | > What do you believe to be the difference between machine code and >> | > assembler? >> | >> | 6502 Assembler: >> | >> | LDA #10 >> | >> | 6502 Machine code: >> | >> | A9 10 >> | >> | Any more silly questions? >> >> That assembler was of a much later period than the one under discussion, >> namely, the 1940s-1950s. >> > > If you want to talk *really* old assemblers, look at SOAP. The hardware > had no core, only drum memory, and each H/W instruction contained the > drum address of the next instruction to be executed. A big function of > the assembler was figuring out where to store the instructions on the > drum so that the next instruction was under the R/W head just as the > previous finished executing -- based on the instruction timings. Try > doing that by hand for a large program! http://www.csd.uwo.ca/staff/magi/personal/humour/Computer_Audience/Real%20Programmers%20Write%20Fortran.html FWIW, this thread is getting far too long and has f*ck all to do with Fortran or PL/I and everything with ego's and one ego in particular... Robert -- Robert -- Robert AH Prins spamtrap(a)prino(d)org
From: Yannick Duchêne (Hibou57) on 7 Jun 2010 08:35 Le Mon, 07 Jun 2010 12:40:07 +0200, Peter Flass <Peter_Flass(a)yahoo.com> a écrit: > If you want to talk *really* old assemblers, look at SOAP. The hardware > had no core, only drum memory, What is a âdrum memoryâ ? -- There is even better than a pragma Assert: a SPARK --# check. --# check C and WhoKnowWhat and YouKnowWho; --# assert Ada; -- i.e. forget about previous premises which leads to conclusion -- and start with new conclusion as premise.
From: J. Clarke on 7 Jun 2010 09:23 On 6/7/2010 5:29 AM, Shmuel (Seymour J.) Metz wrote: > In<hugevn02qfa(a)news5.newsguy.com>, on 06/06/2010 > at 11:15 AM, "J. Clarke"<jclarke.usenet(a)cox.net> said: > >> I never understood this business of making a distinction between >> machine language and assembler > > The language level. In the case of my first assembler, the > optimization. If it "optimizes" then it's not an assembler, no matter what it might be called. >> maybe they changed things after I stopped >> working with assembler but in my day it was a 1:1 correspondence > > Not by 1960. Even before the macro era you had pseudo-ops that emitted > no code and pseudo-ops that generated multiple words. So? Shortcuts to keep from having to repeatedly type a bunch of code. Don't do anything you couldn't do by hand and you are not compelled to use them. >> and the only practical difference was that someone who didn't have >> an idiot-savant ability to remember numerical codes could learn to >> work in assembler in a reasonable time. > > Maintaining your own symbol table would be labor intensive unless > you're JvN; I vaguely recall that he refused to use assemblers. He came down with cancer around the time that assemblers started to become common, too, and died shortly after, so one has to question the relevance of such an observation. > >> Perhaps he's looking for programs in microcode or something. > > ? > > FWIW, IBM used assemblers for the ROS on the S/360 and S/370; I don't > know about other vendors.
From: J. Clarke on 7 Jun 2010 09:29 On 6/7/2010 8:35 AM, Yannick Duchêne (Hibou57) wrote: > Le Mon, 07 Jun 2010 12:40:07 +0200, Peter Flass <Peter_Flass(a)yahoo.com> > a écrit: >> If you want to talk *really* old assemblers, look at SOAP. The >> hardware had no core, only drum memory, > What is a “drum memory” ? Are you serious? You remember those old Edison phonographs that used a wax cylinder? Well imagine that concept only with the cylinder coated with magnetic material instead of wax, and with a row (or several rows) of heads along its length. Has most of the properties of a fixed-head disk except the unequal track lengths.
From: Arthur Evans Jr on 7 Jun 2010 10:22
In article <huiia5$2k1$1(a)news.eternal-september.org>, Peter Flass <Peter_Flass(a)Yahoo.com> wrote: > If you want to talk *really* old assemblers, look at SOAP. The hardware > had no core, only drum memory, and each H/W instruction contained the > drum address of the next instruction to be executed. A big function of > the assembler was figuring out where to store the instructions on the > drum so that the next instruction was under the R/W head just as the > previous finished executing -- based on the instruction timings. Try > doing that by hand for a large program! SOAP was an assembler for the IBM 650, a drum machine that had 200 (NOT 2048) words on a rotating drum in 40 tracks of 50 words each. It was a one-plus-one address machine, each instruction including the address of its successor. As Mt Flass has said, SOAP (Symbolic Optimal Assembler Program) did its best to place each instruction so that it was coming under the read heads when the previous instruction finished executing. But, it did that when first the instruction was encountered in the input. If the instruction was the successor of another instruction, it wasn't likely to be optimized for this one. Thus it was in fact sometimes (rarely) worth doing that optimization by hand for frequently used pieces of code. The 650 initially had no floating point instructions, so the run time support library for IT included code to simulate floating point arithmetic. Since this package had heavy use, my colleague Joe Smith optimized it by hand, resulting in a noticeable performance increase. Yes, I know, this discussion really belongs on alt.folklore.computers, but I couldn't resist. BTW -- Don Knuth, who like me cut his programming teeth on the 650, once designed an integer-programming application to truly optimize instruction placement. I don't know if he ever actually programmed it, as he was sure it would take vastly more time to execute than it could ever save. I may misremember some of the details. Art Evans Old Codger |