Question: In this level you will be working with memory. This will require you to read or write to things stored linearly in memory. If you
In this level you will be working with memory. This will require you to read or write
to things stored linearly in memory. If you are confused, go look at the linear
addressing module in 'ike. You may also be asked to dereference things, possibly multiple
times, to things we dynamically put in memory for your use.
Recall that registers in x are bits wide, meaning they can store bits.
Similarly, each memory location can be treated as a bit value.
We refer to something that is bits bytes as a quad word.
Here is the breakdown of the names of memory sizes:
Quad Word Bytes bits
Double Word bytes bits
Word bytes bits
Byte byte bits
In x you can access each of these sizes when dereferencing an address, just like using
bigger or smaller register accesses:
mov aladdress moves the least significant byte from address to rax
mov axaddress moves the least significant word from address to rax
mov eax, address moves the least significant double word from address to rax
mov rax, address moves the full quad word from address to rax
Remember that moving into al does not fully clear the upper bytes.
Please perform the following:
Set rax to the byte at x
We will now set the following in preparation for your code:
xxf
Please give me your assembly in bytes up to x bytes:
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
