Talk:32-bit application

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Ahem...[edit]

> "A 32-bit application is software that runs in a 32-bit flat address space (a flat memory model)."

a) That is only true for someone coming from the land of Microsoft (specifically). Not so for the rest of the world, even the x86 parts of it.
b) There is no such thing as a "flat memory model". That is a compiler pragma.
c) 32-bit applications can run in a 16-, 22-, or 64-bit address space just fine.

A 32-bit application is an application that natively uses 32-bit-wide registers. End of story. -- Fullstop (talk) 09:01, 26 February 2008 (UTC)[reply]

I agree with your conclusion.
As you probably already know, when I want to read memory location number 4, with some machines I load the number "4" into an address register and do a register indirect load.
With other machines, it's not so simple -- I must, in addition, diddle with bank switching or segment registers, or otherwise I risk fetching memory location 0x14 or 0xF0004 or some such nonsense.
If there is no such thing as a flat memory model, then what do I call the kind of hardware that makes it simple for me, because it doesn't have bank switching or segment registers? --68.0.124.33 (talk) 00:00, 14 September 2008 (UTC)[reply]
Erm... software for Linux and BSD uses the flat memory model too, you know. And although I agree that there is a possible difference between register use and addressing, and that segmentation is possible in 32 bit mode on IA32, your remarks otherwise sound a bit off. As it stands, the article appears to be more or less correct at least for IA32, but I'll check the manual for some rarely used details to make sure. Shinobu (talk) 10:58, 19 October 2008 (UTC)[reply]

32-Bit Number[edit]

The number equivalent to 232 is 4294967296. —Preceding unsigned comment added by KroboRUs (talkcontribs) 18:50, 8 April 2009 (UTC)[reply]

64 kiB or kib?[edit]

"These are 16-bit microprocessors with a segmented address space. Programs with more than 64 kibibytes of code and/or data therefore had to switch between segments quite frequently"

16 bit = 2^16 bits = 65536 bits = 64 * 2^10 bits = 64 kibiBITs. 64 kibiBYTEs = 64 * 2^10 * 8 bits.

Or do I not correctly understand what's going on?

Meviin (talk) 06:25, 27 August 2009 (UTC)[reply]

Try this formulation instead:
16-bit address space = 2^16 addresses = 65536 addresses = 65536 addressable bytes
Bits don't have addresses, by the usual definition. Bytes do. 69.245.227.37 (talk) 06:28, 27 August 2009 (UTC)[reply]