www.godevtool.com Open in urlscan Pro
185.151.30.205  Public Scan

URL: https://www.godevtool.com/GoasmHelp/usbyte.htm
Submission: On May 16 via manual from US — Scanned from US

Form analysis 0 forms found in the DOM

Text Content

The "Go" tools
     The GoAsm manual

understand ....


bits and binary

by Jeremy Gordon -

This file is intended for those interested in 32 bit assembler programming, in
particular for Windows.

A bit is an electrical element within the computer which can be either "on" or
"off". In physical terms, it is a semi-conductor which is able to conduct a tiny
amount of electricity when it is "on" but cannot do so when it is "off". When it
is "on" it can be regarded as having the value one. In computer language the bit
is then said to be "set". When it is "off" it can be regarded as having the
value zero. In computer language the bit is "clear". Bits can only be set or
clear and cannot have any other state. Therefore a bit can only have a binary
value of 0 or 1.
Two or more bits can be joined together to create larger numbers. When bits are
joined together, the bit on the right is the least significant and if it is
"set" it represents the value one. The next bit to the left is more significant
by a factor of two. When that bit is "set" it represents the value of two. So
suppose you have a number formed with two bits. Then the number (in binary) can
be 00 or 01 or 10 or 11. The equivalent in decimal is 0, 1, 2 and 3
respectively.

Bytes words and dwords

Bytes words and dwords are the basic chunks of data used in programming. The
processor will work with the data size to suit the instruction it is executing.
A byte is 8 bits, a word is 16 bits (2 bytes) and a dword is 32 bits (4 bytes).
A byte can represent the decimal values 0 to 255. The decimal value 255 is the
total of the values of all 8 of bits in the byte, that is decimal 128, 64, 32,
16, 8, 4, 2 and 1 respectively. A word can represent the decimal values 0 to
65,535 (64 Kilobytes). 64KB is the total of the values of all 16 bits. A dword
(literally a "double word") can represent the decimal values 0 to 4,294,967,295
(4 Gigabytes). 4GB is the total of the values of all 32 bits.
There are some even larger chunks of data which the processor can handle - a
qword (literally a "quad word") is 64 bits of data (4 words or 8 bytes), a tword
is 80 bits of data (10 bytes) and some instructions can even use 128 bits (16
bytes). You can see that these numbers are very large indeed.

A nibble is half a byte. It is four bits of data. In a byte there are two
nibbles. Each nibble has a value which can be represented as a single hex
number. Take for example the hex number 148C. This is in two bytes. The first
byte contains the value 14h and the second 8Ch. The nibbles contain the values
1, 4, 8 and 0Ch respectively.



--------------------------------------------------------------------------------

Copyright © Jeremy Gordon 2002-2003
Back to top