Most Popular

1500 questions
23
votes
1 answer

How is FSTSW AX implemented on the 80286/80287?

The x87 instruction set does not support direct transfers between general purpose registers and floating point registers. This is mainly a consequence of the 8087/80287/80387 being a separate chip attached to the same memory bus of which the CPU is…
fuz
  • 1,574
  • 10
  • 35
23
votes
2 answers

What is a "sympathetic bit"?

I am reading about BIOS in Phil Storrs PC Hardware book: What happens when we turn on a PC ? Next comes the incremental check of all the RAM memory. The RAM memory is written to, and read from, with all ones, all zeroes, and alternating…
Flux
  • 541
  • 4
  • 7
23
votes
3 answers

How does the BIOS distinguish Interrupt(08h-12h) from INT instructions, vs. actual exceptions inside the CPU?

This is purely academic, out of date, out of curiosity. Let's go back to the 1990s, before Windows, when real-mode DOS programs were common. The BIOS assigned INT 08H+ for their own interrupt handlers, for instance int 10H for VGA MODE switch, or…
THS
  • 333
  • 2
  • 7
23
votes
5 answers

How should I clean old chemically-deteriorating (especially rubberized) sticky plastics?

I have a few IBM ThinkPads from the 1990s, and they had a rubberized sort of finish to them that feels sticky to the touch now. How should I realistically go about cleaning them such that they won't be destroyed or look uneven in their finish?
Brian Reading
  • 1,032
  • 5
  • 15
23
votes
3 answers

What were the actual memory model definitions in MS-DOS?

I've heard the phrase "memory model" used in relation to MS-DOS programming (and early Windows), with terms such as "small" and "compact". But what were the actual definitions of these memory models? Please note: I have been made aware of the fact…
paxdiablo
  • 4,742
  • 20
  • 47
23
votes
4 answers

What conventions and language extensions did people use to program the 8086 and 80286?

The 8086 is a 16 bit processor with a 20 bit segmented address space, famous for being used in the IBM PC. It is also infamous for being tricky to program for. I am currently writing what is eventually going to be an operating system written in C…
fuz
  • 1,574
  • 10
  • 35
23
votes
3 answers

How do I connect a command prompt to a serial line in MS-DOS 6.22?

I am currently experimenting with DOS and am trying to run the command prompt on the serial terminal through QEMU. This is the command I have been using. command >COM1 2>COM1
Lennon McLean
  • 333
  • 2
  • 5
23
votes
1 answer

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 Specific Registers). I tried searching the web…
DarkAtom
  • 2,337
  • 8
  • 31
23
votes
1 answer

What happened to MODULA-2?

I studied at the Federal Institute of Technology Zurich or ETHZ in Switzerland, where Professor Dr. Niklaus Wirth developed MODULA-2. What happened to his project?
CEO tech4lifeapps
  • 771
  • 1
  • 5
  • 10
23
votes
2 answers

How does Laplink achieve "high speeds" on standard/legacy serial ports?

I have been using Laplink Pro 4.0a to transfer files between a modern Windows 10 desktop PC (via DOSBox) and several vintage DOS computers. Using a standard null-modem serial cable, in my testing it seems to achieve a very reliable 80-90Kb/s (for…
640KB
  • 1,297
  • 6
  • 16
23
votes
5 answers

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, immed8" (0x83/4) and "XOR reg/mem16, immed8" (0x83/6) These opcodes…
kxl61
  • 231
  • 2
  • 3
23
votes
5 answers

How can I power a C64?

I was chatting with our neighbor and after some long talking, I found out that he has a Commodore 64. I'd love to test it, however I'm not sure how to power it. How can I power a C64?
ave
  • 870
  • 8
  • 18
23
votes
8 answers

Why did the VIC-20 and C64 have only 22 and 40 columns when the earlier PET had 80 column text?

When I was a kid, the "real" computers in movies looked so cool with that 80-column monochrome green text. My first computer was a VIC-20 and it always felt very "toy-like" to me because of its 22 columns of fat text. Later my C64 was a better 40…
AvaTaylor
  • 465
  • 4
  • 9
23
votes
1 answer

Why do Amiga Libraries have negative entry points?

As described in these answers, the jump table offsets to functions contained in an AmigaOS library are always negative values. The reason for this is not intuitive to me, but I suspect Carl Sassenrath had some good reason(s) for doing it this way…
Brian H
  • 60,767
  • 20
  • 200
  • 362
23
votes
12 answers

Was memory corruption a common problem in large programs written in assembly language?

Memory corruption bugs have always been a common problem in large C programs and projects. It was a problem in 4.3BSD back then, and it's still a problem today. No matter how carefully the program is written, if it's sufficiently large, it's often…
比尔盖子
  • 3,114
  • 1
  • 14
  • 32