"New-Yorke" ?
|
07-15-2020, 07:59 PM
Post: #26
|
|||
|
|||
RE: "New-Yorke" ?
(06-29-2020 06:17 AM)cyrille de brébisson Wrote: Hello, No offense or insult intended -- it was said in jest :) ( Mostly :P ) Quote:MASD syntax was pure genius, with functionality that are still missing from languages like C++! I think C++20 might have MASD syntax covered :P Quote: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. Well, I don't know about the C++ claim, but many experienced Saturn assembly programmers' revulsion to MASD syntax stems from just being so familiar with the HP Tools / Jazz syntax that it's almost instinctual :) Also, when programming in assembly ( for any CPU ), for me at least, I *want* more verbosity as it makes the code more "self documenting" and easier to understand :) Quote:But let us look at the MASD syntax in details to understand the what and whys... Well, that's kind of a straw-man argument :) Although, I might be misunderstanding you if you're talking about the *usable* text space on the 131x64 pixel display with the default "system" font ( ie. for the default HP48 8 line by 22 character font ). The Jazz "small" / "mini" font gets you 10 lines of text with 33 characters per line on an HP48 :) Also, having many instructions crammed onto one line may allow easier on-calc programming, but IMNSHO it greatly reduces readability :) Quote: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)... Well, again, at least for me, I *want* more redundancy, to make the code easier to understand :) Quote: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 I'm a hypocrite if I don't praise MASD's ingenuity at inferring instruction sequences and making use of structured control blocks. MASD definitely wasn't the first implementation of structured high-level programming concepts applied to assembly though -- the first high level assemblers were created circa 1960 ( See eg. here and here ). In the vein of what MASD was meant to accomplish, a fellow HP48 hacker and I had been working on a type of "high level assembler" ( inspired in part by this, although much simpler ) which is now just a pre-processor to SASM :) The ultimate goal is to include "most" of the basic / core syntactic and semantic constructs present in the C99 standard ( sans the standard libraries of course ), but in a form that is really assembly with a lot of instruction sequence inference :) The project hasn't been worked on in a while**. It's built using Flex and Bison ( and some GNU M4 :) ) and I eventually intend to add basic / rudimentary register allocation to it with some type of "no-clobber" constructs :) , possibly augmenting the simple graph coloring algorithm with a genetic / evolutionary one. Some example output for the following Code: do { Would be Code: - D1=D1+ 1 ( ** The reason the project hasn't been worked on in a while is due to the other author having little time because of various things and also because of me having little time due to various things of which the main thing is my move to Colorado this year ) Quote:So, here you go, MASD was a great syntax, 100 times better than the SASM one. It might make on-calc assembly programming easier in terms of less key-presses, but I don't really like on-calc assembly programming :) -- I prefer a text editor running on a Linux distro :) Quote:And I would continue saying it, even if I did not, as it goes, have a "slight" bias :-) "Slight bias" accepted :P Regards, Jonathan Aeternitas modo est. Longa non est, paene nil. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 3 Guest(s)