14
Word data input as decimal values is stored in binary-coded decimal (BCD)
code; word data input as hexadecimal is stored in binary form. Because each
word contains 16 bits, each four bits of a word represents one digit: either a
hexadecimal digit equivalent numerically to the binary bits or decimal. One
word of data thus contains four digits, which are numbered from right to left.
These digit numbers and the corresponding
bit numbers for one word are shown below.
Bit number
Contents 0000000000000000
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Digit number 3210
When referring to the entire word, the digit numbered 0 is called the right-
most digit; the one numbered 3, the leftmost digit.
A piece of data in memory does not necessarily require exactly one word. If a
piece of data is in 3-digit BCD, for example, only 12 bits will be required to
express it (see decimal point example below). These would most likely be in
the same word and occupy either the rightmost or leftmost three digits. Data
requiring more than four digits must be split between words: sometimes be-
tween two whole words and sometimes between one word and part of an-
other word.
When inputting data into data areas, it must be input in the proper form for
the intended purpose. This is no problem when designating individual bits,
which are merely turned ON (equivalent to a binary value of 1) or OFF (a bi-
nary value of 0). When inputting word data, however, it is important to input it
either as decimal or as hexadecimal, depending on what is called for by the
instruction it is to be used for.
Section 5 Instruction Set
specifies when a par-
ticular form of data is required for an instruction.
Binary and hexadecimal can be easily converted back and forth because
each four bits of a binary number is numerically equivalent to one digit of a
hexadecimal number. The binary number 0101111101011111 is converted to
hexadecimal by considering each set of four bits in order from the right. Bi-
nary 1111 is hexadecimal F; binary 0101 is hexadecimal 5. The hexadecimal
equivalent would thus be 5F5F, or 24,415 in decimal (16
3
x 5 + 16
2
x 15 + 16
x 5 + 15).
Decimal and BCD can also be easily converted back and forth. In this case,
each BCD digit (i.e., each four BCD bits) is numerically equivalent of the cor-
responding decimal digit. The BCD bits 0101011101010111 are converted to
decimal by considering each four bits from the right. Binary 0101 is decimal
5; binary 0111 is decimal 7. The decimal equivalent would thus be 5,757.
Note that this is not the same numeric value as the hexadecimal equivalent
of 0101011101010111, which would be 5,757 hexadecimal, or 22,359 in deci-
mal (16
3
x 5 + 16
2
x 7 + 16 x 5 + 7).
Because the numeric equivalent of each four BCD binary bits must be
equivalent to a decimal value, any four bit combination numerically greater
then 9 cannot be used, e.g., 1011 is not allowed because it is numerically
equivalent to 11, which cannot be expressed as a single digit in decimal nota-
tion. The binary bits 1011 are of course allowed in hexadecimal and they are
equivalent to the hexadecimal digit C.
Data Structure
Converting Different Forms
of Data
Data Area Structure Section 3–2