Registers are fast, but small memory locations that are inside of a CPU. They are used for the CPU's internal computations. A modern 32-bit CPU only contains 8 registers that we are capable of manipulating: EAX, EBX, ECX, EDX, EBP, ESP, ESI, and EDI. Each of these is a 32-bit register (meaning they each hold 32 digit binary numbers). There are many situations where we would want to use smaller portions of data than 32 bits. For example, when working with characters we are primarily using byte data, since each character is stored in just a single byte (which you should know is 8 bits). For this purpose, portions of the 32-bit registers can be referenced directly as if they were smaller registers. The register EAX holds 32-bits. The register AX is the bottom half of EAX, holding just 16 bits. The register AL is the bottom half of AX, holding just 8 bits. There is also AH, which is the top half of AX and also holds 8 bits. EBX, ECX, and EDX can also be split up in the same manner using the same naming scheme but with B, C, and D respectively. ESI, EDI, EBP, and ESP also have a 16-bit references, but do not have 8-bit references. These different sized registers are the same locations as the larger registers! For example, when you are using BX you are actually using the bottom half of EBX. They are one and the same, just different names for different portions of the same location. If you change the value in DL, you are also changing a portion of DX and EDX.  Register Size Relationship 32-bit: EAX EBX ECX EDX EBP ESP ESI EDI 16-bit:   AX   BX   CX   DX   BP   SP   SI   DI 8-bit: AH AL BH BL CH CL DH DL           Let's say that the EAX register currently holds the value 11111000 00001111 10101100 00110011 (The spaces between each byte have been added for clarity, they would not be present in the register).  What is the value currently stored inside of AX? Give the answer in binary. What is the value currently stored inside of AH? Give the answer in binary. What is the value currently stored inside of AL? Give the answer in binary.

Systems Architecture
7th Edition
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Stephen D. Burd
Chapter4: Processor Technology And Architecture
Section: Chapter Questions
Problem 2PE: If a microprocessor has a cycle time of 0.5 nanoseconds, what’s the processor clock rate? If the...
icon
Related questions
Topic Video
Question

Registers are fast, but small memory locations that are inside of a CPU. They are used for the CPU's internal computations. A modern 32-bit CPU only contains 8 registers that we are capable of manipulating: EAX, EBX, ECX, EDX, EBP, ESP, ESI, and EDI. Each of these is a 32-bit register (meaning they each hold 32 digit binary numbers).

There are many situations where we would want to use smaller portions of data than 32 bits. For example, when working with characters we are primarily using byte data, since each character is stored in just a single byte (which you should know is 8 bits). For this purpose, portions of the 32-bit registers can be referenced directly as if they were smaller registers.

The register EAX holds 32-bits. The register AX is the bottom half of EAX, holding just 16 bits. The register AL is the bottom half of AX, holding just 8 bits. There is also AH, which is the top half of AX and also holds 8 bits.

EBX, ECX, and EDX can also be split up in the same manner using the same naming scheme but with B, C, and D respectively. ESI, EDI, EBP, and ESP also have a 16-bit references, but do not have 8-bit references.

These different sized registers are the same locations as the larger registers! For example, when you are using BX you are actually using the bottom half of EBX. They are one and the same, just different names for different portions of the same location. If you change the value in DL, you are also changing a portion of DX and EDX. 

Register Size Relationship

32-bit: EAX EBX ECX EDX EBP ESP ESI EDI
16-bit:   AX   BX   CX   DX   BP   SP   SI   DI
8-bit: AH AL BH BL CH CL DH DL        

 

Let's say that the EAX register currently holds the value 11111000 00001111 10101100 00110011 (The spaces between each byte have been added for clarity, they would not be present in the register). 

  1. What is the value currently stored inside of AX? Give the answer in binary.
  2. What is the value currently stored inside of AH? Give the answer in binary.
  3. What is the value currently stored inside of AL? Give the answer in binary. 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Instruction Format
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Systems Architecture
Systems Architecture
Computer Science
ISBN:
9781305080195
Author:
Stephen D. Burd
Publisher:
Cengage Learning