Skip to main content

Questions tagged [instruction-set]

For questions regarding the instruction sets of microprocessors.

11 votes
1 answer
411 views

What was the 6-bit length instruction(s) in the Intel iAPX 432?

The iAPX 432 was arguably the most complex processor architecture ever and a commercial failure for Intel. It was a stack machine with no visible general-purpose registers. It had hardware support ...
DrSheldon's user avatar
  • 16.5k
40 votes
4 answers
38k views

Did any processor implement an integer square root instruction?

Has any processor ever implemented an integer square root instruction? Obviously, floating-point square root instructions are quite common, but I've never seen one specifically for integers. One close ...
v-rob's user avatar
  • 857
3 votes
0 answers
185 views

What aspects of microprocessor ISAs have been patented?

A key objective of RISC-V was that every aspect of the ISA must be based on an expired patent. It was felt that this is the only truly reliable defense against patent lawsuits. It is surprising that ...
rwallace's user avatar
  • 63.1k
4 votes
1 answer
261 views

Why does the Z22 have a read-only shadow of the return address location?

For some context to this question see Raffzahn's excellent question and answer How were Zuse Z22 Instructions Encoded?. The Z22 treats the first few locations of its address space in a particular way:...
Omar and Lorraine's user avatar
14 votes
0 answers
649 views

Original instruction set for the first ARM processor

I'm studying ISAs and would really like to see the very first ISA that Sophie Wilson chose/put together when designing the very first ARM CPU while at Acorn Computers around 1983 or so. From what I ...
dvanaria's user avatar
  • 351
11 votes
2 answers
645 views

IMPI Instruction set: is there any reference?

I've had an IBM 9404 B-10 for some time and I'm curious about its assembly language. I'm fully aware the AS lines were designed with portability in mind as much IBM didn't seem to provide assembly ...
Borg Drone's user avatar
9 votes
6 answers
913 views

Would compare-and-branch have added an extra cycle on ARM-1?

The ARM-1 was an early RISC CPU, designed in 1986 (and even more typical of early RISC design constraints than the year would suggest, since Acorn didn't have the budget to pay for the latest process ...
rwallace's user avatar
  • 63.1k
9 votes
1 answer
506 views

Why does the LGP-30 leave half its instruction word unused?

I am looking at the machine code for the LGP-30, which is found to have a very strange instruction word layout. 12 ignored bits 4 bits for the opcode 2 more ignored bits 12 bits for the operand, ...
Omar and Lorraine's user avatar
6 votes
5 answers
590 views

Is there a CPU ISA preferring a test for the value of one over testing for zero?

While discussing a question about the origin of Zero as value for the default exit code for success, I reflected if there is any Instruction Set Architecture or implementation thereof where testing a ...
Raffzahn's user avatar
  • 228k
12 votes
1 answer
1k views

Carry handling during address generation on a 6502

I'm trying to learn a bit more about the internal workings of the 6502. The manual says that the branch instructions do not affect the carry flag. However, my understanding is that some carry handling ...
Patrick LeBoutillier's user avatar
15 votes
2 answers
1k views

Null-terminated strings on the PDP-7?

I came across a post that states that Unix uses null-terminated strings, ASCIZ, because it was a feature of the PDP-7. This triggered my reading on the CIS instructions in the PDP-11, but these were ...
Maury Markowitz's user avatar
10 votes
1 answer
1k views

What are the “building bricks” of ARM’s design that this magazine article is referring to?

I came across an early mention of the ARM in New Scientist of June 18, 1987: https://books.google.ca/books?id=LvhAoKR-ixwC&pg=PA41 It has this statement: They realised that many of the ...
Maury Markowitz's user avatar
31 votes
4 answers
4k views

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

The PDP-11 has seven dyadic instructions (I'm not counting the byte/word varieties separately), which take a full six bits for each of its operands. That's twelve bits to specify the operands, and ...
Omar and Lorraine's user avatar
20 votes
8 answers
7k views

Why does the x86 not have an instruction to obtain its instruction pointer?

This has always confused me. Why can you not directly obtain the IP, and instead have to go through some odd assembly hoops such as calling a function whose only purpose is to push its own return ...
Michael Stachowsky's user avatar
4 votes
2 answers
1k views

What was the first CPU/FPU without a hardware square-rooter?

The first programmable, electronic, general-purpose digital computer, ENIAC had a "square rooter": five of the accumulators were controlled by a special divider/square-rooter unit to ...
Leo B.'s user avatar
  • 19.4k
19 votes
7 answers
4k views

Have there been any instruction sets with an odd register width?

Did any early instruction sets have an odd integer register width? The reason I am asking is because all of the instruction sets I have read about (on this site and elsewhere) have had an even general ...
Qaziquza's user avatar
  • 299
25 votes
2 answers
4k views

Was leaving all xxxxxx11 opcodes unused on the 6502 a deliberate design choice?

The 6502, like many 8-bit processors, has a somewhat arcane opcode-mode restrictions. On most such processors, the restriction is a clear result of trying to pack a lot of instructions into a limited ...
supercat's user avatar
  • 37.6k
19 votes
1 answer
2k views

How did the Motorola MC68030 and MC68040 come to have the powerful and expensive CAS2 instruction?

The CAS2 instruction - double compare-and-swap - is an extremely powerful instruction that was coveted for quite awhile (and still is, really) for making lock-free and wait-free data structures - that ...
davidbak's user avatar
  • 6,354
16 votes
3 answers
996 views

Why did instruction sets since the late 1970s seemingly stop including an "execute" instruction?

Many mainframe instruction set architectures (ISAs) in the 1960s included an Execute instruction, which would treat data as an instruction. I haven't found an architecture designed after 1976 which ...
Stavros Macrakis's user avatar
10 votes
2 answers
548 views

Did any core-memory computers have a read-and-erase instruction?

Magnetic core, the primary form of computer memory from the mid-fifties to the early seventies or thereabouts, had the slightly awkward property that reading it erased it, so every time the CPU ...
rwallace's user avatar
  • 63.1k
14 votes
2 answers
2k views

Origin of "arithmetic" and "logical" for signed and unsigned shifts

The assembly language for many processors use the phrase "arithmetic shift" to represent the bitwise shift of a signed value, and "logical shift" for an unsigned value. The two ...
DrSheldon's user avatar
  • 16.5k
22 votes
1 answer
1k views

When did the IBM 650 have a "Table lookup on Equal" instruction?

In 1959, Donald Knuth wrote an assembly program named SuperSoap for the IBM 650. Here is the manual, and here is a listing of the program (in SuperSoap assembly language). Quoting from the abstract: ...
texdr.aft's user avatar
  • 3,627
13 votes
1 answer
593 views

Ratio of code density between 8080 and Z80

The Z80 was (except for a handful of tiny incompatibilities) a superset of the 8080, adding a number of new instructions as well as the alternate register set. It seems therefore that it must have at ...
rwallace's user avatar
  • 63.1k
18 votes
3 answers
3k views

Are the 6809 and 6809E different from a programmer's point of view?

I can see the pinouts of these two chips are utterly different. Apparently the 'E needs an external clock as well. This question isn't so much about any of those hardware related differences. This ...
Omar and Lorraine's user avatar
16 votes
1 answer
1k views

Why does the Z80 not have EX DE, IX?

Reading Decoding Z80 Opcodes, There's a section about the 0xDD prefix. This instruction prefix causes the next instruction to use the IX register instead of the HL register. That makes sense. HL and ...
Omar and Lorraine's user avatar
14 votes
2 answers
612 views

What is the purpose of the "difference of absolute values" instruction?

The IBM NORC computer, among others, had an arithmetic instruction computing the difference of the absolute values of its operands (|x|-|y|, see NORC Programming Manual, page 11, opcode 28), which ...
Leo B.'s user avatar
  • 19.4k
9 votes
2 answers
1k views

Did any 16-bit or 36-bit computer instruction set ever include 4x4 or 6x6 bit-matrix operations?

Donald Knuth's 64-bit MMIX architecture includes several novel instructions that operate matrixwise on an 8x8 square matrix (MOR, MXOR). (MMIX also has instructions like BDIF that operate vectorwise ...
Quuxplusone's user avatar
4 votes
1 answer
170 views

Are there any CHIP-8 games that break if `SAVE` / `RESTORE` *doesn't* change the pointer register?

The CHIP-8 instructions SAVE Vx (Fx55) and RESTORE Vx (Fx65) are originally specified to increment the pointer register I as each register is saved/loaded, so by the end of the instruction, the value ...
Cactus's user avatar
  • 2,760
8 votes
1 answer
223 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 ...
tobiasvl's user avatar
  • 1,539
15 votes
1 answer
1k views

What are the added opcodes for MC6801/MC6803?

What new opcodes were added to Motorola MC6801/MC6803? Background for the question, and what I've figured out so far (correct me if I'm wrong): The Motorola MC6801 (and MC6803) had an "enhanced ...
tobiasvl's user avatar
  • 1,539

15 30 50 per page