Hot answers tagged

82 votes
Accepted

Intel CPU bug in the 90s

I suspect your teacher was referring to the FDIV Pentium bug, which led to a large outcry in the media at the time and for which Intel issued a recall. This bug caused floating-point division to ...
67 votes

Which "very esoteric processor instructions" are used by OS/2?

As far as I’m aware the difficulty in virtualising OS/2 isn’t due to esoteric processor instructions, but rather esoteric processor features. Specifically, OS/2 uses all the protected mode features ...
59 votes

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?

An x86 CPU running in real mode is intended to be backwards-compatible with an 8086 or 8088, but there do end up being a number of differences, for example: newer CPUs run faster (in general); newer ...
56 votes

What was the last x86 CPU that did not have the x87 floating-point unit built in?

As far as I’m aware, the last FPU-less x86-compatible CPU which could still be considered general-purpose is the Vortex86SX, released in 2007 and still available now. This is a Pentium-class CPU, ...
54 votes
Accepted

The start of x86: Intel 8080 vs Intel 8086?

8086 was designed to make asm source porting from 8080 easy (not the other direction). It is not binary compatible with 8080, and not source-compatible either. 8080 is not an x86 CPU. 8080 is a ...
  • 2,340
50 votes
Accepted

Can x86 processors run 8-bit applications?

There are several aspects to consider to answer your question. The x86 architecture is backwards-compatible with the first CPU of the line, the 8086 (and its sibling, the 8088). What this means is ...
49 votes

What does the "x" in "x86" represent?

The term x86 is shorthand for 80x86, which was used to refer to any member of the family 8086 (and also, incidently, 8088), 80186, 80286, etc. Things have since gotten a bit muddled by the fact that ...
  • 32.3k
46 votes
Accepted

What are the "virtual machines" that were running on 80386 and later x86 CPUs before full hardware virtualization?

I would think the articles you've read were most likely about the Virtual 8086 Mode introduced with the 386. Here a host OS (running at privilege 0) would create a standard protected process, but mark ...
  • 195k
45 votes

Why can't I invoke the next interrupt service by incrementing the AX register after calling the same interrupt?

When calling the mouse driver interrupt with AX = 0, it returns 0xFFFF in AX if a mouse driver is installed. So if it is installed, the code with INC AX will increment AX back to 0 and then it will ...
  • 24.2k
44 votes

What was the last x86 processor that didn't have a microcode layer?

The original 8086 was microcoded; x86 has never been hard-wired. The P6 microarchitecture, first seen in the Pentium Pro, was the first Intel design to buffer a RISC-esque translation of the x86 ...
  • 33.8k
39 votes

What does the "x" in "x86" represent?

x is meant as wildcard, so this represents all CPUs able to run 8086 compatible code.
  • 195k
39 votes

What are the "virtual machines" that were running on 80386 and later x86 CPUs before full hardware virtualization?

"Virtual machine" has a long and varied history, not always meaning exactly what it means today. Early designers of timesharing systems viewed what they were providing to their users was a ...
  • 31.3k
36 votes

How does the ‘real mode flat model’ work?

I’m assuming you’re asking about x86 processors, not the older 8-bit CPUs. Real mode is always segmented, and everything (CPU, operating system, programs, even peripherals on the CPU bus) has access ...
35 votes

Why did x86 support self-modifying code in the 80s and 90s?

Raffzahn has the main idea: once self-modifying code had been supported in the past, it had to continue to be supported in perpetuity. But just to go back a little further, https://stackoverflow.com/...
32 votes
Accepted

Detecting the external x87 FPU

The documented way to detect an x87 FPU is to attempt to initialise it, and then read its control word (FPU_STATUS must be set to some non-zero value first): FNINIT FNSTSW WORD PTR [FPU_STATUS] This ...
32 votes
Accepted

Why was there a need for separate I/O address space in addition to a memory address space already?

do not mention why or why not a single memory address space could be used from the beginning. Simply because a dedicated I/O space simplifies system design. It may be assumed that you're asking ...
  • 195k
30 votes

Can x86 processors run 8-bit applications?

The 8086 is source-code compatible with the 8080 (the other way around is not true). This means that most assembly code written for the 8080 can be assembled so that 8086 instructions are emitted. The ...
30 votes

Intel CPU bug in the 90s

Stephen Kitt has already provided a good answer regarding the FDIV bug. I'll fill in some details about Intel employing logicians: Because of this bug, Intel had to replace a lot of processors, which ...
  • 401
30 votes

Why can't I invoke the next interrupt service by incrementing the AX register after calling the same interrupt?

Calling an interrupt service is more like invoking a system call than it is like writing to a memory-mapped register. That is, when you invoke a software interrupt, there is no guarantee that the ...
  • 20.3k
29 votes

What was the last x86 processor that didn't have a microcode layer?

All x86 CPUs have always used microcode. Since the i486, the simplest and most used instructions are directly decoded without passing through the microcode ROM, which would have incurred additional ...
  • 2,099
28 votes
Accepted

Detecting the version of i486 CPU

The most comprehensive pre-CPUID x86 CPU detection code I’m aware of is in TMi0SDGL (Too Much in One So Don’t Get Lost). It includes source code. It will use model-specific MSRs, BIOS services etc. to ...
27 votes

In x86 real mode, how does BIOS know what hardware is present?

The IBM PC design makes a provision for option ROMs, which allow expansion cards to patch extensions into the BIOS. That's how you get things like the IBM EGA card retrofitting new int 10h services ...
  • 5,651
26 votes
Accepted

3 beeps on a 486 computer with an American Megatrends bios?

Here is a reference to BIOS beep codes. For American Megatrends, look under AMI. 3 beeps means the low 64K failed - a very basic test - which probably means the RAM isn't working at all. You ...
  • 16.4k
26 votes
Accepted

Did any software attempt to perform 8086 emulation on the 80286 using LOADALL, in the vein of the later virtual 8086 mode of the 80386?

I believe what you are describing was in fact done. Concurrent DOS for the 286 could multitask DOS programs in protected mode. See the Wikipedia article on Multiuser DOS as well as DOS VMs. The ...
  • 12.8k
25 votes

The start of x86: Intel 8080 vs Intel 8086?

To supplement @PeterCordes's excellent answer, I thought it would be worth going into the details of exactly how close to source code compatible the two processors are -- for example, how easy would ...
  • 12.6k
25 votes
Accepted

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

As Thorbjørn Ravn Andersen already put it nicely: What would you need it for? There is almost no practical (*1) need to obtain the PC address at runtime (*2) - it's a value to be obtained during ...
  • 195k
24 votes

What was the last x86 processor that didn't have a microcode layer?

In the earlier days of microprocessors instructions were hard-wired Yes, but ... Even early microprocessors, like the Z80, 6800 and 6500, live in a gray area between pure random logic and a school ...
  • 195k
23 votes

Can x86 processors run 8-bit applications?

A few 16-bit processors can run 8-bit code: the NEC V20 series. The V20 and V30 are the ones you might encounter in a PC. The V20 is a pin-compatible substitute for the 8088, and the V30 for the 8086. ...
  • 6,460
23 votes
Accepted

What was the first multiprocessor x86 motherboard?

Preface The question is a bit unclear(*1) about the margins set regarding: Must it be a single motherboard or do separate assemblies qualify? Must it be PC-compatible or does any x86 system qualify? ...
  • 195k

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