"New-Yorke" ?
|
06-29-2020, 06:17 AM
Post: #23
|
|||
|
|||
RE: "New-Yorke" ?
Hello,
Quote: Raymond Del Tondo Wrote: HEY NOW, I TAKE OFFENCE TO THAT! MASD syntax was pure genius, with functionality that are still missing from languages like C++! Look at what it can produce for example: Such a snipet of code (which actually comes from MASD itself!) would have taken 5 pages in the other syntax, making understanding the actual code an absolute pain. Code: % write debug info MASD syntax added a slew of great features, including some that are still missing from most common languages even C++. But let us look at the MASD syntax in details to understand the what and whys... The first BIG change with other ASM languages is the multi instruction per line and the drop of the "first column=label" concept (which where inherited from punch cards!). 2 Things there. First, MASD nearly got rid of all labels. A good MASD code will have little to no labels in it (see later). Second, labels are prefixed by a "*" avoiding the first column=label. This frees room on the screen. Now, the 48 had 4 lines of 22 characters. That is all! so allowing more instructions per lines allowed you to actually SEE your program (What can you do with minimal instructions if you only see 4 of them at a time!!!). With masd syntax, you could see around 16 instructions at a time! SO MUCH BETTER for a programmer! This was allowed by the multi instructions per line and the unneded redudancy on repeated registers. A=A+B A can be replaced by A+B A (since the A= is kind of redudant)... Please note that, FOR clarity, the devil that is the MASD syntax allowed the use of a '.' as a field separator so as to clearly link the field with the instruction a in A+B.A C+D.A where you can clearly see 2 distinct instructions (I did toy, at some point, with the idea that the 'A' field would be by default, thus making it optional. I also toyed with the idea of 'last field use is default', but discarded this as it would be, in my opinion, error prone, making subsequent instruction dependent on previous ones)... MASD allowed for great use of constants, subsequently defined constants and the like which made programming much easier than what we had before. simillary, you could do D1+34 instead of having to do D1=D1+ 16 D1=D1+ 16 D1=D1+2 But, the BEST thing about masd is of course the blocks {} which can be used in the same way that they be in C or java. Add to this the up/exit "n" syntax, which allowed you to exit, or return to the top of a block at this or any other level and this really transformed ASM programming from the crud it was to something that was 1/2 way up the chain to a "real langauge"... So, here you go, MASD was a great syntax, 100 times better than the SASM one. And I would continue saying it, even if I did not, as it goes, have a "slight" bias :-) Cyrille Although I work for the HP calculator group, the views and opinions I post here are my own. I do not speak for HP. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)