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.
...
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 ...
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 ...
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 ...
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 ...
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 ...
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.
...
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 ‘‘@’...
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 ...
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-...
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 ...
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 ...
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 ...
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-...
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.
(...
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 ...
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 ...
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 ...
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 ...
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 ...
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/...
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 ...
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, ...
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 (...
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.
...
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
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
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 ...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
pdp-11 × 73history × 9
assembly × 8
unix × 7
instruction-set × 6
hardware × 5
c × 5
simh × 5
operating-system × 4
dec × 4
electronika-bk × 4
terminal × 3
ussr × 3
focal × 3
software-development × 2
compilers × 2
design-choices × 2
identify-this-software × 2
pdp-8 × 2
registers × 2
vax × 2
programming × 1
z80 × 1
memory × 1
zx-spectrum × 1