Hot answers tagged

75 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 ...
user avatar
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 ...
user avatar
57 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 ...
user avatar
55 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, ...
user avatar
53 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 ...
user avatar
  • 2,113
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 ...
user avatar
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 ...
user avatar
  • 26.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 ...
user avatar
  • 166k
44 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 ...
user avatar
  • 16.1k
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.
user avatar
  • 166k
35 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 ...
user avatar
32 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 ...
user avatar
  • 27.6k
31 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 ...
user avatar
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 ...
user avatar
28 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 ...
user avatar
  • 381
27 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 ...
user avatar
  • 16.4k
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 ...
user avatar
  • 3,743
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 ...
user avatar
  • 16k
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 ...
user avatar
  • 12.2k
25 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 ...
user avatar
  • 9,396
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. ...
user avatar
  • 5,862
22 votes
Accepted

How were the test registers used on the i386 and the i486?

The 486 test registers are described in the i486 Processor Programmer’s Reference Manual, starting on page 10-8. The 386 test registers are a subset. Registers TR6 and TR7 provide access to the TLB. ...
user avatar
20 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? ...
user avatar
  • 166k
20 votes
Accepted

Are .COM executable binaries real mode or protected mode?

DOS programs always start in real mode (or an emulation thereof), so it’s best to start disassembling them assuming that. When disassembling, you should assume real mode, with 16-bit data and 16-bit ...
user avatar
20 votes

Intel CPU bug in the '90s

Intel had a rather complex bunch of hardware to compute a floating-point quotient in a way that yielded two bits per iteration, which required having a rather large table listing all the combinations ...
user avatar
  • 26.3k
19 votes
Accepted

If a PS/2 device on a 32-bit x86 sends a byte to the IO port 0x60 and you read it, what happens next?

On standard PCs, the main CPU and PS/2 controller use a handshake mechanism in the status register at port 0x64: Main CPU wants to read (probably because it received a keyboard interrupt): Read port ...
user avatar
  • 27.4k
18 votes

Can x86 processors run 8-bit applications?

There is no such thing as an 8-bit application for the x86 architecture, because the x86 architecture has always been at least 16-bit right from the first generation of x86 processors. The x86 does ...
user avatar
18 votes
Accepted

Identifying late 1990s embedded 486 UNIX-like system

Here's a manual for CROS and one for the C500C robot controller. It seems clear that the bytecode files are compiled from the RAPL-3 programming language (no filename extension for binaries, .r3 for ...
user avatar
  • 7,656

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