News for hackers. Stuff that matters.
Re:Emulating the AT&T 3B2 Computer by joezydeco on Wednesday May 23, 2018 @10:14AM (#17134312)
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.

Re:Emulating the AT&T 3B2 Computer by monocasa on Wednesday May 23, 2018 @11:36AM (#17134980)
FWIW, 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.
Re:Emulating the AT&T 3B2 Computer by flyinghamster on Wednesday May 23, 2018 @10:51AM (#17134602)
Yup, 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.

Re:Emulating the AT&T 3B2 Computer by joezydeco on Wednesday May 23, 2018 @11:18AM (#17134825)
Mad 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."

Re:Emulating the AT&T 3B2 Computer by felixgallo on Wednesday May 23, 2018 @11:26AM (#17134894)
The 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.
Re:Emulating the AT&T 3B2 Computer by joezydeco on Wednesday May 23, 2018 @11:43AM (#17135057)
I 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. =)

Re:Emulating the AT&T 3B2 Computer by felixgallo on Thursday May 24, 2018 @11:49AM (#17145162)
I managed to sneak onto uxb and uxc. My modem was for PLATO avatar and empire. :)
Re:Emulating the AT&T 3B2 Computer by flyinghamster on Wednesday May 23, 2018 @01:59PM (#17136391)
Oh, God yes. That poor old 90x just couldn't keep up. The Sequent Balance 8000 (6-way SMP circa 1985!) was vastly better.
Re:Emulating the AT&T 3B2 Computer by cryptonector on Wednesday May 23, 2018 @11:46AM (#17135084)
The 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).
Re:Emulating the AT&T 3B2 Computer by msla on Wednesday May 23, 2018 @12:02PM (#17135220)
The VAX had a POLY opcode, which evaluated polynomials of arbitrary degree:

http://uranium.vaxpower.org/~isildur/vax/week.html

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.