Question: We will now set some values in memory dynamically before each run. On each run the values will change. This means you will need to
We will now set some values in memory dynamically before each run. On each run
the values will change. This means you will need to do some type of formulaic
operation with registers. We will tell you which registers are set beforehand
and where you should put the result. In most cases, its rax.
It turns out that using the div operator to compute the modulo operation is slow!
We can use a math trick to optimize the modulo operator Compilers use this trick a lot.
If we have x y and y is a power of such as n the result will be the lower n bits of x
Therefore, we can use the lower register byte access to efficiently implement modulo!
Using only the following instructions:
mov
Please compute the following:
rax rdi
rbx rsi
We will now set the following in preparation for your code:
rdi xe
rsi xeaea
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
