A byte in memory is identified by a unique number called its address. The same thing happens with any other storage device like flash drives, hard disk etc.

 All these devices use the same binary system to identify the bytes that they contain. This article will guide you through what are addresses in computers and how to find its address in case you need it for any reason (such as debugging).

An address has eight digits, but not all of them are necessary to identify a byte in computer memory or on any storage device. 

The first 3 digits of an address are used to identify the location of the byte on the storage device while the last 5 digits are used to identify the byte itself.

Every byte in memory is identified by a unique number that consists of 32 bits (a collection of bytes).

 The first three bits represent the location on a disk drive and the second five bits represent that specific byte.

1. Address Space:

Each bit in an address is represented by either 0 or 1, so an 8 digit number can have 28=256 possible values (0-255). 

But not all 256 values are valid. All your hard drives or flash drives have a one byte space for each bit of an address. 

If you write to this byte, it might overwrite something on your storage device.

Example:

You can assign the value 1 (1) to all the bits that are in a certain position, which leaves you with only 255 values left. 

To put it another way, if you would use all 256 possible values, you would need 32 bytes in memory to store one single byte! So most of the time only a small part of those 255 possible values is used: usually just 3 bits.

2.The Three Layers of Memory or Stacks

A computer has 3 layers of memory or stacks: (1) the BIOS or Basic Input-Output System; (2) a system area, also known as A segment; and (3) a program area, also known as B segment. The BIOS represents all possible startup configuration commands and data. 

This is located in the first memory part called “EGR” Extended Graphics Adapter on your computers.

 The system area is the one used by your operating system to manage the computer and it is located in the second memory part “EPROM” Electronic Programmable Read-Only Memory.

 The third memory part called “ROM” Read-Only Memory (or also known as System ROM) contains the programs that are required to start up, be functional and run a program that happens to be located in the first memory part or on a hard disk.

3. The Most Common System Addresses

The most common 2(the first two bytes) bits of an address are not used to identify a byte on any storage device (hard disk, flash drive, etc).

 Instead, they are used to identify the memory part (the first memory part) that holds this byte. These two bits are called the base address, and is represented by the following formula:

For example: The value 65H represents a hexadecimal number of 10H which is decimal 26 in decimal, or hexadecimal 0x52. 

The value FFFFH represents a hexadecimal number of 11H which is decimal 43 in decimal, or hexadecimal 0xD9.

 These numbers can be represented using the calculator below. To do this, you need to divide the number that you have by 256.

4. The Most Common Text Addresses

The first 3 bits of an address are used to identify the memory part that holds this byte. They are called EP (Extended Page).

 This number is usually written as 0:1Fh instead of the hexadecimal value for FFFFH above. The next 4 bits are always 13h (decimal 33 in decimal) so the total amount of digits is 41h.

 This is the most common text address on a hard disk (or flash drive, etc.) and it can be easily seen if you inspect your hard drive by opening it with “HEX” file-viewing software. 

You may also use a calculator to calculate its value:

5. The Most Common Binary Addresses

The most common 4(the second two bytes) bits of an address are not used to identify a byte on any storage device (hard disk, flash drive, etc.) instead they are used to identify the memory part that holds this byte.

 These 4 bits are called the LSB (Least Significant Byte). They can be calculated using the calculator below. To do this, you need to divide the number that you have by 256.

Usually, a byte is identified by its binary address where 1 stands for a bit being off and 0 stands for a bit being on.

 That way, each bit of an address can have 28 values (0-27) while they are sometimes represented as 29 values because of “one” that is between zero and one.

LEAVE A REPLY

Please enter your comment!
Please enter your name here