View Single Post
Old 16th Jan 2017, 1:18 am   #11
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,575
Default Re: They don't come much more Vintage than this

I'm with Dave Moll, slightly mystified in the sense that as far as I know you can perform any explicit machine code manouvre you need to in assembly language, since each single line of pure assembly language generates one absolute machine code instruction.

For example

Quote:
Originally Posted by julie_m View Post
An assembler would also reserve separate space for all variables; when in practice, you might have finished using one before you stored anything in another.
The allocation of memory space to variables is entirely under the control of the programmer in assembly language. Conventionally, loop counters and so on tend to be given meaningful names and so individual addresses are reserved for them, true, but it would be simple to give a variable a name like GeneralPurpose1 and re-use it 'locally' in several different places. The onus then falls on the programmer to make sure that no two independent program entities (such as a main loop and an interrupt routine) try to use it at the same time, but it is perfectly possible to exercise that level of control in assembly language.

Those of us who had very early 'computer' systems (ie, MK14) had little choice other than to enter code in machine language, but when we did, we ourselves were only doing what software assemblers later did for us: translating human-readable assembly language mnemonics into the corresponding machine code.

There is an undeniable degree of pleasure to be had from being able to write in actual machine code (I'm very fond of Z80 in particular and can remember quite a few of the opcodes even now) but I wouldn't want to go back to the bad old days of having to shuffle code around by hand and recalculate all the jump offsets / addresses affected whenever a few bytes have had to be inserted into some code.
SiriusHardware is offline