Skip to main content
53 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. ...
wizofwor's user avatar
  • 2,998
50 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 ...
dirkt's user avatar
  • 30.5k
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 ...
dirkt's user avatar
  • 30.5k
42 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 ...
Algimantas's user avatar
  • 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 ...
Igor Skochinsky's user avatar
27 votes

May the PDP-11's stack 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 ...
UncleBod's user avatar
  • 1,775
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. ...
davidbak's user avatar
  • 6,504
25 votes
Accepted

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 ‘‘@’...
ninjalj's user avatar
  • 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 ...
noop's user avatar
  • 341
24 votes

How did the `long` and `short` integer types originate in C?

long wasn’t added for portability to a new 32-bit machine; it was added to make it easier to write code manipulating 32-bit quantities. According to the C99 rationale, the driver for this was a new 32-...
Stephen Kitt's user avatar
23 votes
Accepted

PDP-11 Program to Execute Only in the Registers

In the PDP-11/05,11/10 computer manual (DEC-11-H05AA-B-D, section 10.5, page 10-3) DEC describes how the PDP-11/05 can execute short programs out of scratch pad memory (SPM or simply SP). Scratch pad ...
Jay Logue's user avatar
  • 345
20 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 ...
RichF's user avatar
  • 9,406
20 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 ...
dave's user avatar
  • 38.2k
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-...
dave's user avatar
  • 38.2k
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. (...
tofro's user avatar
  • 37k
19 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 ...
RichF's user avatar
  • 9,406
18 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 ...
Алексей Киров's user avatar
18 votes

Was the MC6800 based on the 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 ...
Raffzahn's user avatar
  • 236k
17 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 ...
JeremyP's user avatar
  • 11.8k
16 votes
Accepted

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

In MIT syntax, the f suffix appended to a local (numeric) label means "next label with this number, forward. Example: bec 1f jmp cerror 1: 1f means: jump to the next 1 label on the way ...
Jean-François Fabre's user avatar
15 votes
Accepted

May the PDP-11's stack 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/...
dave's user avatar
  • 38.2k
15 votes
Accepted

Was the MC6800 based on the 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 ...
Martin Maly's user avatar
  • 5,605
14 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, ...
Trebor English's user avatar
13 votes
Accepted

What is the difference (if any) between these two expressions in FOCAL?

Not really an answer, but posting as an answer since I need the space to work in. Working through both cases... FITR(10 x FABS(FRAN())) FRAN gives (-0.9999, 0.9999) FABS gives (0, 0.9999) x 10 gives (...
dave's user avatar
  • 38.2k
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. ...
Chenmunka's user avatar
  • 8,221
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),...
Omar and Lorraine's user avatar
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 ...
Ken Gober's user avatar
  • 11.5k
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 ...
Stephen Kitt's user avatar
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 ...
supercat's user avatar
  • 39.2k
11 votes
Accepted

In the RL02 disk system, why does the “read” command take CHS coordinates, when there is also a separate “seek” command?

The "normal" read and write commands will wait until it sees the header for the appropriate sector and then read or write the following data record. If the head isn't already in the right ...
supercat's user avatar
  • 39.2k

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