Questions tagged [instruction-set]

For questions regarding the instruction sets of microprocessors.

Filter by
Sorted by
Tagged with
56
votes
3answers
6k views

How does the LOADALL instruction on the 80286 work?

This undocumented instruction existed in the 80286 and, I believe, the 80386. I think it was added while debugging the chip, so the engineers could quickly put the processor into any state and test it ...
44
votes
2answers
9k views

How did the Z80 instruction set differ from the 8080?

The Zilog Z80 microprocessor, known for its use in the ZX Spectrum, was designed to be a backwards-compatible extension to the Intel 8080 processor. It introduced several new instructions to the 8080'...
17
votes
1answer
2k views

Which undocumented 8085 instructions is Steven Morse referring to in “In The Beginning”?

In S. P. Morse's 1980 allegory, "In The Beginning", he writes And Intel said, "Let there be an 8085 with an oscillator on the same chip as the processor, and let an on-chip system controller ...
13
votes
1answer
448 views

How were Zuse Z22 Instructions Encoded?

The title says it all: How to En-/Decode Z22/Z23 Instructions? (History and Linkage: The question was raised by Wilson in a comment on my answer to his question "Why are PDP-7-style microprogrammed ...
28
votes
1answer
3k views

What is the relative code density of 8-bit microprocessors?

When RAM is at a premium, as it was in the old days, a greater code density of an instruction set can be a substantial advantage. (Click saver: Code density refers loosely to how many microprocessor ...
36
votes
1answer
4k views

How did the 8086 interface with the 8087 FPU coprocessor?

The 8087 has many instructions - too many, it seems, to be encoded as part of the 8086 instruction set. How did the Intel 8086 interface with an Intel 8087 FPU that a user added? Consider the ...
47
votes
4answers
10k views

What did the 8086 (and 8088) do upon encountering an illegal instruction?

Preface: This question does in part intersect with Use of undocumented opcodes, but targets especially the 8086 instruction handling. I was reading Tanenbaum's "Operating Systems, Design and ...
34
votes
3answers
4k views

Why are first four x86 GPRs named in such unintuitive order?

On x86 the first four general-purpose registers are named AX, CX, DX, BX. It would be quite intuitive if their indices (those used in instruction encoding) were in alphabetical order, but instead of ...
45
votes
2answers
6k views

Why did the PDP-11 include a JMP instruction?

The PDP-11's program counter was addressable in two ways: as a general purpose register or as a memory location. Still, the PDP-11's instruction set included separate instructions for moving a new ...
21
votes
4answers
3k views

Why does the Z80 include the RLD and RRD instructions?

The Z80 has an instruction RLD, which apparently treats the lower 4 bits in the accumulator and the full 8 bits in (HL) as a twelve bit integer which it then rotates left by 4 bits. The carry flag ...
19
votes
1answer
2k views

How did the 6502 ALU perform a decrement?

Assuming that this diagram is correct: Instructions like INC, INX, and INY can easily perform increment using ALU sum with data on B input, 0 on A input and carry_in set. But how do instructions ...
15
votes
4answers
2k views

Why are PDP-7-style microprogrammed instructions out of vogue?

DEC, and at least some of their computers, especially those in the 18-bit family and 12-bit family, had these opr instructions, which contained many bitfields which encoded something like "...
20
votes
3answers
1k views

PDP-11 instruction set inconsistencies

The wiki page PDP-11 architecture has a cryptic paragraph with no references or examples: Inconsistent instructions Over the life of the PDP-11, subtle differences arose in the implementation of ...
8
votes
1answer
109 views

Is scratchpad register 15 directly addressable on the F3850 (except as QL)?

The Fairchild F8 CPU, the F3850, has 64 scratchpad registers. The first 12 of these are directly addressable by several instructions. For example, the opcodes $CX add the contents of scratchpad ...