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

Zippster zippster278 at gmail.com
Mon Jul 10 09:03:49 EDT 2017


I guess I’d agree that ASM and ML are *mostly* the same.  At least as far
as most lines of your ASM code will be an instruction mnemonic, followed by a
value (operand or address) which directly translate into the binary code used
by the CPU.  

I agree if you pay attention while learning and using ASM, you will naturally be picking
up a knowledge of the object code generated (ML) as you go.  It is definitely useful to 
understand the true nature of exactly what bits and bytes you’re generating, and how 
they are interpreted by the hardware.

I learned assembly after knowing the hardware, so that all just fell into place for me
fairly easily.  If the purpose of learning about ML is an introduction to assembly, I’d
start with (or include) a detailed look at the hardware (CPU) and how these bytes
in memory are actually used by the system.  Understanding the hardware first gives
you a much better idea of what you’re actually doing when you throw all these bytes
it.  After all, if there’s one thing ASM/ML doesn’t have much to do with, it’s abstraction.

At any rate, it’s a lot of fun getting to know the machines down at this intimate level,
and it’s a good thing to be introducing people to it, so that’s awesome.  :)

- Ed


> On Jul 10, 2017, at 6:11 AM, Mark McDougall <msmcdoug at iinet.net.au> wrote:

> <snip>

> I do suspect, however, that one doesn't get too far programming ASM without encountering ML along the way, either debugging, examining their own listings, or even patching code.  Perhaps infrequent dabbling can be done without much exposure, but undertaking a major ASM project would likely result in a decent understanding of the resultant ML during the process.
> 
> Regards,
> 
> -- 
> Mark McDougall
> <http://retroports.blogspot.com.au>



More information about the Coco mailing list