4 ms·
I spent hours trying to help a friend in college "get" enough assembly language to not fail a class. I had already done assembly language development profession
by SomeCallMeTim 15y ago
I spent hours trying to help a friend in college "get" enough assembly language to not fail a class. I had already done assembly language development professionally and had previously gotten an A+ in the class, so I understood the concepts well, and I explained them from a dozen different directions.
I don't care what the OP says. This guy was simply not capable of understanding the concepts. Maybe at some level he was, and he had some kind of psychological blinders on that prevented him from getting what I was saying, but he really, really didn't get even the most basic concepts. And when it comes down to it, it doesn't matter whether he has some innate ability that he can't tap -- if he can't do it, even with lots of help, then he can't do it.
While I was helping him, others from the lab came over repeatedly to ask me for help, assuming I was the lab assistant. I WAS able to help a half dozen other students understand their program.
It was his third attempt at taking the class. He finally gave up and changed his major, IIRC.
- qqspy 15y agoWas it x86? That's a darn shame if so. I'm not sure /I/ could learn that, and I have used several simpler ones.
- SomeCallMeTim 15y agoNo, not x86. I actually can't remember the actual CPU it was. Something I'd never heard of, nor run across since. Maybe an IBM mini CPU? We would log into the computer via terminals and build and test that way. This was in the late 80s. I remember that it was a pretty straightforward architecture, though. Something like 68000, which I knew already, but it was even more orthogonal with respect to addressing modes. I think it had 16 32-bit registers, and you could use any as an address to load data from, complete with offset for easy manipulation of data structures. I do know x86, and while the 8086 was designed by idiots, it's not that hard to get the basics. Segment registers are a PITA, but as long as you're using 32-bit mode and not accessing more than 4Gb at a time, you can mostly ignore them. I've had to deal with something similar in another architecture, and you just end up with abstractions that hide the details as much as possible. Same as coding anything else that's nontrivial, really.