How many bits is a WORD and is that constant over different architectures?

有些话、适合烂在心里 提交于 2019-12-02 20:54:37

The machine word size depends on the architecture, but also how the operating system is running the application.

In Windows x64 for example an application can be run either as a 64 bit application (having a 64 bit mahine word), or as a 32 bit application (having a 32 bit machine word). So the size of a machine word can differ even on the same machine.

The term WORD has different meaning depending on how it's used. It can either mean a machine word, or a type with a specific size. In x86 assembly language WORD, DOUBLEWORD (DWORD) and QUADWORD (QWORD) are used for 2, 4 and 8 byte sizes, regardless of the machine word size.

A word is typically the "native" data size of the CPU. That is, on a 16-bit CPU, a word is 16 bits, on a 32-bit CPU, it's 32 and so on.

And the exception, of course, is x86, where a word is 16 bit wide (because x86 was originally a 16-bit CPU), a DWORD is 32-bit (because it became a 32-bit CPU), and a QWORD is 64-bit (because it now has 64-bit extensions bolted on)

It depends upon the machine architecture. This document explains some basics about this.

Yes.

Ok, let me be a bit clearer. Assuming we are talking about words of memory, there are two broad definitions.

First, a word is often the natural size of a single item that can be accessed atomically in the hardware. That is very much a platform dependent size, but is usually 16, 32, or 64 bits, but other sizes have been found in the wild.

Second, it is often used to specifically mean a 16-bit value. In that context, you will see DWORD used to mean a 32-bit value. This usage is common on x86 platforms, especially Windows, but was used on DEC PDP-11 and VAX, and Motorola 68000 descendants as well.

Telling which is the intended usage depends on context...

WORD is a Windows specific 16-bit integer type, and is hardware independent.

If you mean a machine word, then there's no need to shout.

16 bits (2 bytes) to a word is universal for x86.

All you youngsters yappin' on about 32 bit thiss and 64 bit that: you know, there were and are other machine architectures than the x86 family. A PDP-11 had 40-bit words, f'rinstance.

But the simplest answer is just to search Wikipedia.

A "word" in small letters depends on the architecture.

A "WORD" in capital letters, as defined in Windows SDK, is 16 bits.

Similarly: "DWORD" - (double word) 32 bits. "QWORD" ... 64 bits.

Peter Miehle

My understanding is that a WORD is the amount of bits that can be shoved into the CPU with one action (on a particular machine), so in a 8bit-architecture it is 8 bits and on a modern 64-bit architecture it is 64 bits.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!