Skip to main content

Questions tagged [16-bit]

The tag has no usage guidance.

8 votes
2 answers
4k views

What does an ADC (add with carry) instruction following ADD do?

I have found this line in an old 16-bit DOS application (likely to have been generated by Borland Turbo C compiler) and I want to understand the purpose of it: mov dx, [bp+var_192] mov ax, [bp+...
tigrou's user avatar
  • 689
23 votes
6 answers
4k views

How can I reverse-engineer the game Wizardry (1981) for PC, based on UCSD Pascal?

I am looking at the files included with the 1981 game Wizardry. The particular version I have is from a 1998 re-release, but I do not know if the binary is still the original 1981 release. My ...
typedeaf's user avatar
  • 333
4 votes
0 answers
398 views

How did Z8000 implement mul/div in few transistors with no microcode?

The Z8000 was Zilog's entry in the 16-bit microprocessor market; it was unsuccessful in large part, as I understand it, because it took too long to debug. According to https://thechipletter.substack....
rwallace's user avatar
  • 63.1k
31 votes
4 answers
6k views

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

I'm looking for the most recent versions of modern C compilers which were/are targeting DOS 8086, also running on DOS 8086 (16-bit). I'm mostly interested in production-ready C compilers, rather than ...
pts's user avatar
  • 2,023
11 votes
3 answers
2k views

Are there architectures with alignment greater than the size of machine word in the pre-32-bit era?

I'm writing a hobbyist cryptography project, and I want to ensure the data structures I define don't have padding bytes. The only assumption I've made about the environment, is that bytes are exactly ...
DannyNiu's user avatar
  • 365
13 votes
2 answers
922 views

Was `wchar_t` ever widely adopted by the Unix culture in actual practice?

My very rough understanding of character encoding history as it relates to the Unix family of platforms/languages is that: They started using single-byte (7/8/9-ish bit) character sets like ASCII/...
natevw's user avatar
  • 2,947
2 votes
1 answer
413 views

Microsoft C 6, far pointer, cast to int, warning C4047

Trying to access one byte in memory using segment/offset, like this union REGS in, out; struct SEGS segs; int v; char _far* p; ... int86x(...,&in,&out,&segs); p = (segs.es << 16) + ...
Tomas By's user avatar
  • 2,102
-3 votes
2 answers
508 views

How can 8bits = 1byte but also = 255 bytes at the same time? [closed]

I don't understand why 8bits is defined as being equal to 1byte or 1octet but at the same time the maximum capacity of an 8bit bus or 8bit databus would be 255 bytes because 128 64 32 16 8 4 2 1 1 1 ...
6502Assembly4NESgames's user avatar
6 votes
3 answers
2k views

Allocate 64 KiB in Watcom C 16-bit DOS

I'm trying to allocate a 64 KiB buffer in Watcom C 16-bit DOS. I'm using the "compact" memory model which defines the code segment to be limited to 64 KiB and addressed by near pointers (...
Luke's user avatar
  • 271