[Coco] Linville's ramblings on assembly vs machine code

RETRO Innovations go4retro at go4retro.com
Tue Jul 11 13:30:57 EDT 2017


To clarify, I am not suggesting that self modifying code is relevant or 
should be condoned in today's pipelined and multi-threaded CPUs. It also 
may not have relevance in older systems like OS/9.  But, for maximum 
performance on smaller CPUs, it is a useful tool that should not be 
dismissed out of hand.

Predictably, people tend to take today's best practices and 
automatically retroactively apply them:

"Jim, do you recommend self modifying code in this Linux driver?"
"Absolutely not.  Self Modifying Code is fraught with support concerns, 
won't work in the Linux driver model anyway, and is considered bad 
programming form"
"Aha! How do you then explain using self modifying code in your latest 
Coco application?  Two faced liar!"
"Uh, can I smack you now?"

For the given CPU architecture, there are a set of tricks and tips 
useful to wrong best performance out of the CPU.  Competent developers 
know and consider all of them when developing for that platform.

That said, today's concerns around security of IoT devices may force 
vendors to eliminate Von Neumann architectures from embedded CPUs used 
in IoT devices, and with it, any self modifying code capability.

--------------------------------------------------------------------------------

On the main topic:

Dave et al, it looks like CocoNut John Linnville has a distinct (and 
perhaps dismissive) perspective on our ramblings on list:

    For those not subscribed to the CoCo mailing list, there is a raging
    discussion there that was inspired by my tech segment in Episode 25.
    It seems that not everyone accepts my premise that "machine
    language" and "assembly language" are really just two forms of the
    same base language!

    I'll probably wait until Episode 26 to respond, but in the meantime
    it is kinda fun watching people contort themselves to 'prove' that
    knowing that there is more than one form of a given instruction or
    that being able to distinguish code sections from data sections is
    simultaneously both vital to "machine language" and somehow
    completely foreign to "assembly language"...


https://www.facebook.com/groups/1606095809633762/?hc_ref=NEWSFEED

We are evidently the Coco Contortionists!

Be careful, there is some trolling afoot, methinks...

Jim


More information about the Coco mailing list