Hot answers tagged

50 votes

Why did the PDP-11 include a JMP instruction?

MOV changes the N, Z and V flags according to the copied data. JMP doesn't do that. It means you can run e.g. arithmetic operations somewhere, then jump to another location for the compare routine. ...
  • 2,544
48 votes
Accepted

Why did the PDP-11 include a JMP instruction?

Besides the flags, and differences in cycle count, the more important difference is that JMP x uses the effective address of x, while MOV x,R7 uses the value at x. In other words, there's one level ...
  • 24k
45 votes

What motivated the weird boolean instruction repertoire of the PDP-11?

What am I missing? You are missing that in really the majority of real-world cases, and, or and not are used for bitmasks. And you need bitmasks all the time, in particular if you don't have that ...
  • 24k
41 votes
Accepted

How were Western computer chips reverse-engineered in USSR?

Little is known about how these computers and chips were made, because their development was top secret in the Soviet Union. As far as I know, Soviet Western-compatible ICs were made by copying ...
  • 1,344
37 votes

How were Western computer chips reverse-engineered in USSR?

It seems to be pretty much accepted wisdom that the Soviets completely cloned the Western chips and did not simply develop reimplementations of the same instruction sets. Since at the time it was ...
26 votes
Accepted

What motivated the weird boolean instruction repertoire of the PDP-11?

I'm not sure what motivated this instruction selection, beyond that it is sufficient, but you may be overestimating the pessimization caused by not having the full repertoire of Boolean instructions. ...
  • 5,468
25 votes

Why does AT&T syntax use * and $?

The Unix Assembly Reference Manual by Dennis M. Ritchie, at §8.1 notes that: The syntax of the address forms is identical to that in DEC assemblers, except that ‘‘*’’ has been substituted for ‘‘@’...
  • 745
24 votes

How were Western computer chips reverse-engineered in USSR?

This answer is written from memory, corrections may be made later if I remember/research more details. It starts with historical background to put things into perspective. This answer is specifically ...
  • 341
23 votes

PDP-11 stack may grow in either direction?

It seems that JSR and RTS expected a down growing stack. Stack addressing modes R6, also written SP, is used as a hardware stack for traps and interrupts. A convention enforced by the set of ...
  • 1,717
20 votes
Accepted

Can PDP-11 general registers be referenced by memory addresses?

Most PDP-11 models can use the addresses listed to examine the registers from the console (subject, of course, to the capabilities of the hardware: not all PDP-11s have two register sets, not all PDP-...
  • 31.3k
19 votes

How were Western computer chips reverse-engineered in USSR?

You could reverse-engineer those early CPUs by grinding or etching away the top (plastic) layer of the chips down to the silicon die and examine the chip structures on an (optical) microscope. (...
  • 30.1k
19 votes

Why were the /\ (min) and the \/ (max) operators abandoned in the C language?

(speculation, but I'm pretty confident in it) Assuming \/ and /\ were actually used in early C to be max and min, someone probably quickly realized how totally stupid that symbology is. They look ...
  • 8,259
19 votes

Why was Logo created?

LOGO was intimately tied up with research into educational methods, and in teaching children how to use computers. The project proposal by Seymour Papert mentions "research on children's thinking ...
  • 31.3k
18 votes
Accepted

Were there any LSI-11 like home computers outside of Russia?

The Heathkit H11 was available either as a kit or pre-assembled. It never became really popular in the West, but it was one of the most powerful PCs available in 1978. It used the LSI-11 small format ...
  • 8,259
16 votes

Was the MC6800 a PDP-11 or PDP-8?

In spirit it's both, thus eventually neither. Features of the 6800 can be put in line with many CPUs of that time - from PDP-8 and -11 all the way to TI's 990 or even IBM's /360 - but none will put ...
  • 195k
15 votes
Accepted

PDP-11 instruction set inconsistencies

Here is an example: mov r5,-(r5) That moves the contents of R5 to the address location specified in R5 after first decrementing R5. The question is what gets put in the memory location? Is it the ...
  • 10.9k
14 votes
Accepted

Was the MC6800 a PDP-11 or PDP-8?

Most sources say it was based on PDP-11. Here are citations from the book "Early Home Computers", summarizing the similarities and the differences: Unlike the PDP-11, 6502 and 8080, the ...
  • 5,327
13 votes

What was the clock speed and ips for the original PDP-11?

There was no clock. The way it worked was the Unibus and KA11 were intimate. To read a word from the bus, maybe core, maybe something else, the cpu put out address, control bits and data if write, ...
13 votes
Accepted

What causes the monitor to reduce to four lines on BK 0010 Focal?

After pressing "AP2+CБP" key combination computer switches to extended memory mode, in which screen is reduced to 1/4 of original size giving about 12Kb memory of screen RAM to user (extending user ...
13 votes
Accepted

Trying to understand some assembly syntax in the Unix v7 write system call

Note: this is mostly guesswork I don't know this assembler but the f suffix seems to denote a label. Example bec 1f jmp cerror 1: Those instructions write the parameters in the parameter zone ...
12 votes

Was the PDP-11 coroutine instruction actually used?

Well, I used it. Back in the late 1980s, I led a small team who produced a signalling message distributor for British Rail (as it was then). This was on the PDP-11 in a mixture of C and Assembler. ...
  • 7,904
12 votes
Accepted

What was the clock speed and ips for the original PDP-11?

This link describes the PDP-11/20 as having a speed of 800 nanoseconds. That works out as 1.25 MHz. Because that speed is the speed of the memory, (which is tightly connected to the speed of the CPU),...
11 votes

Is there anything special about /dev/console?

There is a very minor difference between the "/dev/console" terminal port and any other "/dev/ttyxx" terminal ports: whether the port is optional. For the console port, the port is on a card that ...
  • 11.3k
11 votes
Accepted

Is there anything special about /dev/console?

The system administrator console is the “terminal” used for system boot: init starts there, with a single-user shell, and only when that finishes does the system continue to multi-user boot (enabling ...
11 votes
Accepted

PDP-11 stack may grow in either direction?

Apart from the R6 mechanisms in the hardware that expect the R6 stack to grow downwards (including the stack limit register), there's an implied bias for downward stack growth due to the predecrement/...
  • 31.3k
11 votes

What motivated the weird boolean instruction repertoire of the PDP-11?

The functions AND and BIC together provide a means of partitioning the bits of a byte into two sets: those that match a mask and those that don't. Some instruction sets usefully include both (and ...
  • 32.3k
10 votes

How were Western computer chips reverse-engineered in USSR?

Computer development wasn't necessarily "top secret" as is commonly said about anything that has to do with the Soviet Union. The engineers there used the same methods as other companies in Taiwan. ...
10 votes
Accepted

How many bits are stored in a memory location in a PDP-11?

The PDP-11 could address 64kb of memory. It handled data as words, each word being addressed at an even memory location. So it depends on what your "data read instruction" is. If you issue a MOV ...
  • 7,904
10 votes

Could we change the baud rate for the two serial ports on a terminal and on a computer?

The short answer is yes. You can change the baud rate of a VT100 talking to a PDP-11. On the VT100, this is simply done using the Set Up facility. This is entered using the Set Up key on the top ...
  • 7,904
10 votes
Accepted

simh skipping parts of the v5 unix boot process?

The key is that you need to set a non-zero value on the console switches. Otherwise putchar does nothing. if(KL->csw == 0) return; The anonymous struct in prf.c is used to overlay the four ...
  • 31.3k

Only top scored, non community-wiki answers of a minimum length are eligible