Questions tagged [x86]

The Intel x86 family of architectures in general. Contemporary systems are OFF-TOPIC! Use the specific architecture’s tag if applicable.

Filter by
Sorted by
Tagged with
3 votes
1 answer
183 views

What was the first motherboard with UEFI?

UEFI is a publicly available (and a bit controversial) specification that replaces the legacy BIOS which has been in x86 computers since the original IBM PC (12 August 1981) At first, I know that this ...
user avatar
  • 131
17 votes
7 answers
5k 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 ...
user avatar
6 votes
2 answers
2k views

x86 memory alignment

For the 8086, unaligned word loads (first byte at an odd address) require two memory accesses, but an aligned word (first byte at an even address) can be loaded in one. This is excellently explained ...
user avatar
  • 1,583
16 votes
3 answers
2k views

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 know that Virtual 8086 mode was added on the 80386 to make it possible to run old applications in a Protected Mode environment. The 80286 had a lot of shortcomings, such as not being able to switch ...
user avatar
  • 1,417
15 votes
1 answer
417 views

Why did the 8080's PUSH PSW write one reserved bit as 1 and the other two as 0?

The x86 "flags" register, which holds condition codes and other processor status bits, has several reserved bits with fixed values, but these fixed values are not all the same. In ...
user avatar
  • 359
29 votes
4 answers
5k views

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

When reading techy articles about older Windows versions I often come across the term "Virtual machine". Apparently even Windows 3.11 had some sort of virtual-machine-thing going on in it, ...
user avatar
  • 943
5 votes
3 answers
512 views

Did Intel syntax for x86 assembly come from an Intel assembler?

I'm wondering where the so-called Intel syntax for x86 assembly came from. Did Intel release their own assembler for chips like the 8086 or do we just mean the syntax they used in the manuals?
user avatar
  • 435
8 votes
0 answers
279 views

How is the ‘Coprocessor segment overrun’ exception supposed to be handled?

The Intel 80386 CPU didn't have an on-board x87 FPU (maybe with the exception of some non-Intel clones). It was, however, able to use either a 80287 or 80387 as an external FPU. When the x87 FPU ...
user avatar
  • 1,417
17 votes
3 answers
3k views

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

I know that BIOS is obsolete, hence why I'm asking here :-) BIOS needed to do things like start loading the OS, for which it (usually?) would have needed things like a hard disk driver. However, BIOS ...
user avatar
13 votes
2 answers
2k views

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?

I'm writing a hobby OS and the first thing I want to do is access PS/2 devices (it's a somewhat legacy, 32 bit OS, so I figured it's relevant to ask here?). I can see my PS/2 devices and I want to ...
user avatar
20 votes
1 answer
2k views

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

The Intel 386 and 486 CPUs (and some clones too) had some test registers (TR3–TR7) which were used to test features like the TLB and caches. Starting with Pentium, these were replaced with MSRs (Model ...
user avatar
  • 1,417
15 votes
2 answers
1k views

How to use "AND," "OR," and "XOR" modes for VGA Drawing

I've been trying to implement a blitter in MS-DOS, but before I do that I wanted to test the various graphics modes of the VGA graphics card. (I'm emulating using DOSBox.) According to this paper on ...
user avatar
  • 1,478
44 votes
1 answer
6k views

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

According to the Oracle VirtualBox 6.0 manual, "Certain rare guest operating systems like OS/2 make use of very esoteric processor instructions that are not supported with our software ...
user avatar
  • 656
16 votes
3 answers
2k views

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

I have two snippets of 8086 assembly code, both of which are supposed to do the same thing: make the mouse appear on the screen. Show_Mouse: push ax mov ax,0 ;Reset Mouse int 33h ...
user avatar
  • 1,478
6 votes
1 answer
372 views

How does an 8086 CPU remember the memory address where it should write back the operation’s result? [closed]

I have an instruction: ADD [BX][SI] + 5FFDH, EABFH and I want to know how it operates exactly on 8086 microprocessors. I've realized that this instruction ADD [BX][SI] + 5FFDH, EABFH, works in this ...
user avatar
21 votes
5 answers
2k views

Undocumented instructions in x86 CPU prior to 80386?

I have questions regarding some x86 instructions that were documented for the 80386 and later x86 CPUs, but not for earlier chips. "OR reg/mem16, immed8" (0x83/1) "AND reg/mem16, ...
user avatar
  • 211
11 votes
1 answer
1k views

32-bit PCI riser cards: different types?

[copied from superuser.com] I'm duplicating an existing compact PC; I'd love to replace it with modern components, but for various reasons I can't. I'm having a tough time finding the correct 32-bit ...
user avatar
10 votes
3 answers
981 views

The NexGen's x86 internal RISC architecture

NexGen was best known for the unique implementation of the x86 architecture in its processors. NexGen's CPUs were designed very differently from other processors based on the x86 instruction set at ...
user avatar
  • 1,583
1 vote
1 answer
348 views

What to do with stone age x86 computers? [closed]

Not sure if retro is proper place... I have two old notebooks with x86 processors in the 100s range of MHz. While nostalgics might appreciate them, I'm wondering if there is any proper point in ...
user avatar
12 votes
1 answer
1k views

Difference between INT 0x20 and INT 0x21 (0x4C)?

Checking the MS-DOS interrupt list we see INT 0x20 "Terminate the program" (see https://en.wikipedia.org/wiki/DOS_API) but if we check the same page we see INT 0x21 with function 0x4C will &...
user avatar
  • 223
10 votes
1 answer
482 views

Did the Harris 80C286 differ from Intel's 80286 in its behaviour?

The Harris company, well known for being an early second source making x86 chips under license, eventually produced a fully static CMOS 80C286 of their own design (later known as the Intersil 80C286 ...
user avatar
  • 1,329
-6 votes
1 answer
439 views

Is the Raspberry Pi Model B (2014) technically inferior to an original Xbox (2001) in compute power/specifically for emulators? [closed]

(I first asked this in the Raspberry Pi section, but it received no responses. I think this, Retrocomputing, might be a better fit.) I the year 2003, I had my Xbox chipped in order to be able to run ...
user avatar
  • 1
4 votes
2 answers
262 views

Detecting the number of disk drives installed

When the BIOS gives control to the MBR (or the bootloader, for non-partitioned media), it passes the drive number from which the bootloader was loaded in the DL register. This number is most of the ...
user avatar
  • 1,417
18 votes
1 answer
1k views

Detecting the external x87 FPU

On modern processors the x87 FPU is integrated in the CPU chip, but it used to be a separate chip before the 80486. So is there any way to detect its presence, and maybe even its generation (8087, ...
user avatar
  • 1,417
30 votes
4 answers
10k views

Intel CPU bug in the '90s

My teacher who teaches "Logic" at the university told us a story about Intel processors, which goes: In the '90s Intel had a bug in the calculation of mathematical functions like sin/cos ...
user avatar
  • 403
12 votes
2 answers
2k views

BIOS interrupts vs Hardware interrupts

On an x86 chip running in Real Mode, interrupts are resolved with the help of the IVT (Interrupt Vector Table), which is an array located at address 0000h:0000h that consists of 256 entries, 32-bit ...
user avatar
  • 1,417
-3 votes
2 answers
550 views

Should I install Gentoo i586 packages on my PC? [closed]

I've recently commenced revitalizing an HP Pavilion Slim. She's running an Intel Pentium, x86_64. I thought I'd give Gentoo a go because I've found it very appealing and as a Bedrock user I wanted to ...
user avatar
  • 95
11 votes
3 answers
2k views

Swapping endian-ness on the 68000

In the 80s, the two great 16/32-bit desktop CPU architectures were the x86, used in the IBM PC and compatibles, and the 68000, used in the Amiga, Atari ST, Macintosh, early UNIX workstations and ...
user avatar
  • 49.3k
6 votes
1 answer
337 views

Which x87 first acquired the ability to flush denormal to zero?

On modern Intel FPUs, you can set a flag to cause all denormals to be automatically flushed to zero. On some workloads, this improves performance. I cannot find any mention of that flag in the data ...
user avatar
  • 49.3k
5 votes
1 answer
286 views

Do all Intel Celeron processors support "FCOMIP"? [closed]

I am interested, did all Celeron processors support the FCOMIP instruction? I've made a compiler for my programming language and it uses FCOMIP for every floating-point comparison. I've noticed that ...
user avatar
19 votes
1 answer
2k views

Identifying late 1990s embedded 486 UNIX-like system

I'm trying to identify the operating system on a Thermo-CRS C500 robot arm controller. From the specifications I know it runs on a 100 MHz 486 processor, and has 4 MB RAM and 2MB of flash/NVRAM ...
user avatar
  • 908
3 votes
2 answers
636 views

What’s the last x86 CPU that didn’t place a limit on the size of a single instruction?

Although useless, it’s widely known the first Intel and derivative CPUs like the Z80 didn’t set a limit on the instruction size. This means that it was possible to fill the whole RAM/ROM with a single ...
user avatar
8 votes
2 answers
1k views

Are .COM executable binaries real mode or protected mode?

Windows and DOS binary executable files with the .EXE extension have an MZ header in them and nowadays also a PE header. But before these there used to also be .COM binary executable files and they ...
user avatar
  • 4,350
9 votes
2 answers
2k views

First x86 Software Development Manual

These manuals are now called “Intel® 64 and IA-32 Architectures Software Developer Manuals”, and the current version is 71. What was the original name of this manual and when was it released?
user avatar
  • 1,583
14 votes
1 answer
2k views

What manages Upper Memory Blocks (UMBs) in MS-DOS?

I had always assumed that EMM386.EXE was responsible for managing the Upper Memory Blocks - UMBs - the memory space between 640KiB and 1MiB in real mode x86. For example, on MS-DOS 6.22, help emm386....
user avatar
8 votes
5 answers
3k views

How does the ‘real mode flat model’ work?

I am interested in old Intel processors. I'll try to be as concise as possible. I have been studying both Jeff Duntemann's Assembly Language Step-by-Step - Chapter 4 and Modes of Memory Addressing on ...
user avatar
  • 129
16 votes
5 answers
5k views

What was the first multiprocessor x86 motherboard?

I know dual socket motherboards were around in the 90's before Intel released the Core series. And SMP hardware and operating systems have been around earlier than the PC platform of course. ...
user avatar
  • 1,039
0 votes
2 answers
804 views

What 486 motherboard is this, with American Megatrends BIOS identifying is DPAQ-6156-043090-KF?

I've got an early 486 motherboard that doesn't seem to have a manufacturer name or FCC number on it and I'm having trouble identifying it. I've placed some photos of the motherboard in this Imgur ...
user avatar
11 votes
1 answer
3k views

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

So far I've figured out that means something about the ram bit I haven't been able to figure out what the problem is Edit: video link
user avatar
9 votes
2 answers
1k views

What was the first x86 CPU to use a cache of any kind?

I believe the 80286 had a prefetch instruction queue, but did it have any other forms of cache? Was the 80386 the first x86 CPU to have a cache?
user avatar
5 votes
1 answer
839 views

What was the first Intel x86 processor with "Base + Index * Scale + Displacement" addressing mode?

As the title says, what's the first x86 processor from Intel that supports the following addressing mode? mov %reg, 8(base, index, 4) ^^^^^^^^^^^^^^^^^ where the content of %reg will be ...
user avatar
  • 179
26 votes
6 answers
7k views

Why weren't discrete x86 CPUs ever used in game hardware?

Please don't point out APUs with x86_64 cores used in current generation game consoles, these are not part of the question I cannot recall a single arcade system or game console that ever used x86 ...
user avatar
  • 56.8k
20 votes
7 answers
17k views

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

I have read the following in the x86 Wikipedia page: The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 ...
user avatar
  • 217
22 votes
2 answers
6k views

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

This Wikipedia page says the following: Most x86 processors since the Intel 80486 have had these x87 instructions implemented in the main CPU So the above quote implies that some CPUs that were ...
user avatar
  • 273
33 votes
2 answers
5k views

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

When an x86 CPU is running in real mode, can it be considered to be basically an 8086 CPU (or maybe 8088)? Or are there differences between the two?
user avatar
  • 331
8 votes
1 answer
669 views

What's the fastest way to ignore keypresses?

I'm writing a game for the IBM PC (running MS-DOS), complete with fancy cutscenes. Unfortunately, though, the keys pressed during those fancy cutscenes are carried out once the fancy cutscene has ...
user avatar
  • 17k
18 votes
2 answers
2k views

Examples of operating systems using hardware task switching of x86 CPUs

Intel IA-32 architecture a.k.a. x86 offers hardware task switching capabilities since 80386. It includes TR (task register), memory segmentation features such as Task State Segment, task gates, call ...
user avatar
2 votes
2 answers
1k views

Does anyone have an x86 EGA draw pixel routine?

So far, I have gotten by with using the BIOS draw-pixel routine here: http://stanislavs.org/helppc/int_10-c.html This works of course, but I can't imagine that commercial games used this BIOS call as ...
user avatar
14 votes
2 answers
1k views

How to use the "darker" CGA palette using x86 Assembly?

For those of you retro developers out there, I am having a hard time figuring out how exactly to select the "darker" color palette in 320x200 CGA mode. Here's what I have so far: setup_cga_graphics: ...
user avatar
5 votes
1 answer
412 views

What was the first publication documenting AT&T syntax assembly language?

What was the first publication to document what is (now) known as AT&T syntax assembly language?
user avatar