Low Level Assembly vs High Level Assembly   ..



For many older programmers, like me, 'true' assembly is Low Level Assembly, this is to say Assembly written in a style that does not make any use of advanced organizations like Procedures, If and friends, While, and so on. You can see bright examples of this style with all Test Department Demos. Not only does he make no use of any HLL style statement, but he does not even make use of any macro facilitated call for Api calls for example, and pushes the Parameters, one by one, in the reverse required order. When you look at his Source, you see more or less what a Disassembler would output from his EXE.


When I stated above 'For many older programmers, like me, ...', I would have better said that this was my position several years ago.


Maintaining long sources written in Low Level assembly is very  painful, if not simply impossible. High level Assembly dramatically increases the Readability. As readability is the most important thing in writing, the choice is easy to make:


A source is not good when it only runs fine. A source is good only when it is highly readable.


High Level Assembly dramatically eases developing, debugging and maintaining.


High Level Statements do not (or very, very few...) decrease the Code Performance, which in any case, is of zero interest on actual modern Processors.


So, this is the only evident practical way to go. With an Assembler like RosAsm, with which all HLL Macros are located at the programmers' level (and not nested, the easy way, inside the Compiler itself, unless you explicitly ask for a PREPARSE Pre-Parser, and so forth, choose to not write true Assembly), there is no hurt and no shame. 


You still control everything at any moment and define by yourself whatever more or less High  a level you want, so that I do not see any possible counter-argument. As long as we are in the Bottom-Up Language construction logic, we are in the better, if not the best possible, programming world.


~~~~~~~