|
Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment. |
|
Thread Tools |
11th Feb 2017, 8:52 am | #41 |
Dekatron
Join Date: Feb 2005
Location: West Cumbria (CA13), UK
Posts: 6,127
|
Re: They don't come much more Vintage than this
I've not come across those. Fortunately, for my first experience of programming (also using 80-column punched cards) while I was at school, I had access to a manual card punch. This consisted of a plate that held a single blank card and had a set of twelve keys - one for each row of the card, stepping to the next column each time a combination of keys was pressed. At the time I got fairly fast at converting the characters on a coding sheet into the correct combination of keystrokes, though not quite up to the speed of typing on a QWERTY keyboard.
__________________
Mending is better than Ending (cf Brave New World by Aldous Huxley) |
11th Feb 2017, 5:23 pm | #42 |
Retired Dormant Member
Join Date: Dec 2007
Location: Shropshire, UK.
Posts: 3,051
|
Re: They don't come much more Vintage than this
Now why wasn't the sense / punch machine set up as a direct input device?
|
11th Feb 2017, 7:20 pm | #43 |
Dekatron
Join Date: Feb 2005
Location: West Cumbria (CA13), UK
Posts: 6,127
|
Re: They don't come much more Vintage than this
Yes, if they had done that, it would have been possible to correct cards by simply rubbing out the incorrect pencil markings and pencilling in the correct ones. Once a hole has been punched, it can't easily be erased.
Someone clearly missed a trick there.
__________________
Mending is better than Ending (cf Brave New World by Aldous Huxley) |
11th Feb 2017, 9:15 pm | #44 |
Hexode
Join Date: May 2015
Location: Northampton, Northants, UK.
Posts: 380
|
Re: They don't come much more Vintage than this
Regarding machine code vs assemblers, I think it depends what you mean by an assembler. The most basic "pure" assembler just translates mnemonics into hex codes, and maybe works out your relative jumps for you as a kindness. That to me is the same as "machine code" programming, unless machine code literally means memorising all the hex codes.
However assemblers usually offer many highly advanced features these days, such that they are more like a high level language that separates you from the hardware. Macros, variables, etc. I agree that this form of coding also separates one from the manual optimisations at the instruction and "raw memory" level. My memories of machine code programming on my ZX81 and Spectrum consisted of writing it all out in pencil on sheets of A4, manually translating it to Hex and counting back and forth for the JR, DJNZ etc instructions. And fun tricks like shifting the machine stack into the Display File to write to the screen, heh. |
16th Feb 2017, 3:17 pm | #45 |
Octode
Join Date: Mar 2006
Location: Lund, Sweden
Posts: 1,632
|
Re: They don't come much more Vintage than this
I agree with Ian, especially the assemblers for 8 bit CPUs like the Z80 don't do any form of memory allocation or anything else behind the programmer's back, and the only service they provide is the mapping of mnemonics to machine code instructions and relative jump calculations.
Sometimes they needed to be coaxed into doing things that they weren't really capable of though. A well-known trick on the Z80 is to refer to half of the IX or IY registers, by taking opcodes for the HL register and prefixing them with DDh (IX) or FDh (IY). This is kosher for opcodes that refer to the complete 16 bit HL register, but not for the 8 bit constituent halves. In practice though, all Z80 variants supported this, but of course there were no official mnemonics for these registers and resulting opcodes and I think few if any assemblers supported them. On the other hand, in practice, it was not more difficult than preceding an LD A,H with a DEFB 0DDh in order to supply the necessary prefix byte. And it certainly would not have warranted switching to pure machine code for this. |
17th Feb 2017, 12:12 am | #46 |
Hexode
Join Date: May 2015
Location: Northampton, Northants, UK.
Posts: 380
|
Re: They don't come much more Vintage than this
I must admit I never found the "extra" opcodes much use, but then I always avoided ix and iy like the plague, because all the instructions are so sloooowwwwww. But anyway, for me, machine code/assembler is being "close to the metal" in a way higher level languages cannot be.
To be fair though, mostly the kind of pure machine code we're discussing would be basically impossible with the complexity of modern architectures. |
17th Feb 2017, 1:35 pm | #47 |
Heptode
Join Date: Feb 2010
Location: Duffort, Gers, France
Posts: 714
|
Re: They don't come much more Vintage than this
I remember many years ago programming a SEL 32/77. SEL had their own version of Fortran which included many weird features including an "inline" command. You could start off in Fortran, include an "inline" command and carry on in assembler. It was useful at times and fun even when it wasn't useful. Completely incompatible with every assembler and every other version of Fortran. I often wondered what they did with my code when they had to convert it to another machine a few years later.
__________________
Stuart The golden age is always yesterday - Asa Briggs |
17th Feb 2017, 2:00 pm | #48 |
Nonode
Join Date: Aug 2010
Location: Resolven, Wales; and Bristol, England
Posts: 2,608
|
Re: They don't come much more Vintage than this
Very true. Coupled with the way my brain has slowed over the last 40 years.
__________________
Richard Index: recursive loop: see recursive loop |
25th Mar 2017, 2:48 am | #49 | |
Hexode
Join Date: Dec 2014
Location: West Midlands, UK.
Posts: 315
|
Re: They don't come much more Vintage than this
Quote:
Charles |
|
29th Mar 2017, 1:06 pm | #50 |
Nonode
Join Date: Jun 2009
Location: Herefordshire, UK.
Posts: 2,495
|
Re: They don't come much more Vintage than this
Bluepilot,
What you describe reminds me of the way Assembler could be included in Acorn/BBC Basic programmes in the early 1980s. |
29th Mar 2017, 2:39 pm | #51 |
Dekatron
Join Date: Feb 2005
Location: West Cumbria (CA13), UK
Posts: 6,127
|
Re: They don't come much more Vintage than this
Indeed, this sounds like a description of assembly language code to me - which is what I was contrasting with programming directly in numeric machine code, where addresses are given as:
1) an absolute address 2) an offset relative to the instruction or 3) an offset relative to a value in a register. In each case, anything that moves the item referenced (be it data or a jump destination) will potentially change the value of the address. I would, however, agree that all but the earliest computers provided a means (usually through some form of assembly language) to write code with symbolic addresses whose values are then resolved into actual addresses at the time of assembly into object code.
__________________
Mending is better than Ending (cf Brave New World by Aldous Huxley) |