What value is now stored in DL? Give the answer in binary. What value is now stored in DX? Give the answer in binary. What value is now stored in EDX? Give the answer in binary.
Part 1: Registers of Different Sizes
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 EDX register is currently holding the value 00000000 00000000 00000000 00000000. Next, the value 11111111 is written into the DH register.
- What value is now stored in DL? Give the answer in binary.
- What value is now stored in DX? Give the answer in binary.
- What value is now stored in EDX? Give the answer in binary.
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 3 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Systems Architecture](https://www.bartleby.com/isbn_cover_images/9781305080195/9781305080195_smallCoverImage.gif)
![Principles of Information Systems (MindTap Course…](https://www.bartleby.com/isbn_cover_images/9781285867168/9781285867168_smallCoverImage.gif)
![Systems Architecture](https://www.bartleby.com/isbn_cover_images/9781305080195/9781305080195_smallCoverImage.gif)
![Principles of Information Systems (MindTap Course…](https://www.bartleby.com/isbn_cover_images/9781285867168/9781285867168_smallCoverImage.gif)