Skip to main content
Share Your Experience: Take the 2024 Developer Survey
19 votes
Accepted

How does the 8086 jump instruction work when the target address overflows?

Most of the time on x86, you have to consider segments and offsets separately. Opcode 0xE9 is a near jump, it only touches IP. The addition wraps around, so the target is the relative offset (as a ...
Stephen Kitt's user avatar
16 votes
Accepted

What did it cost the 8086 to support unaligned access?

The Missing Angle It feels a bit like the question misses the most important point about the whole 8086 project over discussing implementation details: 8080/85 compatibility The 8086 was intended as a ...
Raffzahn's user avatar
  • 224k
10 votes
Accepted

Undocumented ModR/M byte combinations

As part of his series about the 8086 micro code Ken Shirriff has just added a blog post where he analyses some of the mentioned cases: Undocumented 8086 instructions, explained by the microcode It ...
Raffzahn's user avatar
  • 224k
6 votes

Why are first four x86 General Purpose Registers named in such unintuitive order?

Agreeing with existing answers but being too long to shove into a comment, per a recent post on Ken Shirriff’s blog that traced the instruction set from the Datapoint 2200 through the 8008, 8080 and ...
Tommy's user avatar
  • 37.3k
4 votes

What is the difference between the different versions of the SID or SID86 debugger for the x86 PC that was shipped with the different DR-DOS versions?

Ok, I did a little in-depth research in the last couple of weeks. And I found this: SID 1.0 (Concurrent DOS 3.1, Release Date 1983) assembles and disassembles 8086 and 8087 opcodes. supports symbolic ...
Coder's user avatar
  • 1,068
3 votes

How does the 8086 jump instruction work when the target address overflows?

I am absolutely not an expert on x86 bare-metal stuff (I play in the 8-bit era) but I've read enough over the years for this to set my A20 spidey-sense tingling. Is this the wrap-around behavior of ...
Eight-Bit Guru's user avatar
2 votes

8251A UART outputs unexpected data

Sorry for wasting your time. As Justme said, it seems it was running in 64x mode, and I got some data without frame errors with 900 baud but it was still not the ASCII letters I was sending. So while ...
x95's user avatar
  • 151
2 votes

Most modern C compilers targeting DOS 8086, running on DOS 8086 (16-bit)

(As I'm not allowed to comment, I have to "answer".) Turbo C/C++ or Turbo Pascal for DOS can still be downloaded from Embarcadero. I have working links at https://www.bttr-software.de/links/#...
bttr's user avatar
  • 21

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