4 ms·
The CS program at UIUC in the 1980s had a pile of 3B2s in the programming labs. The "intro to assembly language" weedout course was taught on the WE32100 proce
by joezydeco 8y ago
The CS program at UIUC in the 1980s had a pile of 3B2s in the programming labs. The "intro to assembly language" weedout course was taught on the WE32100 processor. I think the architecture class also did some primitive gate simulation on the Blit terminals.
It wasn't a bad chip. The C language integration was really understated here. It's the only chip I've ever seen with a strcpy() opcode. Totally dangerous now, pretty wild back then.
- flyinghamster 8y agoYup, I remember those very well. The course, IIRC, covered both assembler and C. Teaching myself 6502 assembler back in my high school/junior college days helped me a great deal, even though the 6502 was vastly more limited. I later did some 8086 assembler in my first job as well, mainly some routines for testing a QIC tape drive.
- joezydeco 8y agoMad props if you spent weekends in the Woodshop trying to make your MPs compile. Nice to see a fellow Illini around. And yeah, there was C in that class too. Mostly enough to make sure you understood pointers so that you could get into the homework and shoot yourself in the foot repeatedly. It was one of my favorite classes during my time there. I also had some 6502 experience which helped. But I think CS225 solidified the idea of "either you're going to understand this for the rest of your life, or you're not. Choose now."
- felixgallo 8y agoThe best part was when they gave an entire class of 250 CS students one ancient Pyramid to compile their C code on. Compile times of 30 minutes and more for hello world were not unheard of. Thanks UIUC.
- joezydeco 8y agoI was on that Pyramid too. uxa.cso.uiuc.edu for life, yo. The key was having some kind of terminal and modem back at the dorm so you could log into the system after the labs were closed. You literally had the entire machine to yourself all night long. =)
- felixgallo 8y agoI managed to sneak onto uxb and uxc. My modem was for PLATO avatar and empire. :)
- flyinghamster 8y agoOh, God yes. That poor old 90x just couldn't keep up. The Sequent Balance 8000 (6-way SMP circa 1985!) was vastly better.
- monocasa 8y agoFWIW, those crazy single instruction copies you see on pretty much every classic CISC machine did make a lot of sense on systems without instruction caches. You could easily get a third of the throughput if you had to share the data bus with instruction fetches.
- cryptonector 8y agoThe CPUs were microprogrammable. It's no surprise that they had a strcpy() opcode. VAXes too had crazy complicated instructions, including list traversal instructions and arbitrary precision BCD instructions (IIRC anyways).
- msla 8y agoThe VAX had a POLY opcode, which evaluated polynomials of arbitrary degree: http://uranium.vaxpower.org/~isildur/vax/week.html http://uranium.vaxpower.org/~isildur/vax/week.html https://news.ycombinator.com/item?id=9841892 https://news.ycombinator.com/item?id=9841892 > The table address operand points to a table of polynomial coefficients. The coefficient of the highest-order term of the polynomial is pointed to by the table address operand. The table is specified with lower-order coefficients stored at increasing addresses. The data type of the coefficients is the same as the data type of the argument operand. The evaluation is carried out by Horner's method, and the contents of R0 (R1'R0 for POLYD and POLYG, R3'R2'R1'R0 for POLYH) are replaced by the result.