6 ms·
I, too, fondly remember reading Compute! and Compute's Gazette from cover to cover each month when I was a kid, along with long sessions of typing in programs f
by IbJacked 14y ago
I, too, fondly remember reading Compute! and Compute's Gazette from cover to cover each month when I was a kid, along with long sessions of typing in programs from the magazine into my C=64.
I remember talking to some adults about Assembly programming, and they were dumping on my beloved 6510, seemingly surprised anyone could get anything done with only three registers (A, X, & Y). They were 8086 guys, of course. All I ever knew at the time was three registers, it never occurred to me other chips had more. You make do with what you have :)
- csense 14y agoI'm under 30, and I'm probably one of the last programmers who learned assembly language with DOS Debug's 16-bit assembly. Each register has its own personality: BX is the base, CX is the count, AX is the accumulator, SI and DI are source/destination indices, BP is the stack pointer. If you have a pointer, you want to put it in SI, DI, or BX so you can use a memory load instruction like MOV AX,[BX]. If you have a pointer and an offset, you want one of them to be in BX, and the other in either SI or DI -- because there are instructions MOV AX,[BX+SI] and MOV AX,[BX+DI], but not MOV AX,[SI+DI]. The x86 16-bit instruction set is full of places where your operands have to be in certain registers. The REP MOVSB instruction requires five registers to be initialized; you don't have any choice of which five. Kids these days and their RISC machines where there are a hundred registers and they're all the same -- they don't even have names, just numbers. Get off my lawn! (Yes, I'm aware that your software can be much more efficient with more registers, it's a good investment of increased silicon capacity Moore's law has given us since then, there are fewer compiler writers wandering around who have been driven insane, etc...but the point is, the constraint satisfaction process that's part of writing a 16-bit program is rather fun for the programmer, like Sudoku.)
- melling 14y ago56 opcodes, plus a few undocumented ones; I think there was a TXY and a TYX on the 6510, for example, which I probably found in one of those Compute magazines. Assembler was a lot of fun on the C64. Let's not forget all that self-modifying assembler. That's how EA, and others, use to copy protect their games. :-) Is anyone still doing any assembler for any kind of work these days?