Some questions before answering (the best might be that you post your asm routine, so there won't be any confusion) :
- "1. load an address" -> what you you mean *precisely*. It could be D3000000 XXXXXXXX (the data you will load in 2. is stored at [0xXXXXXXXX], or D3000000 XXXXXXXX B0000000 00000000 (at [0xXXXXXXXX] you have another address, 0xYYYYYYYY, and the data you will load in 2. is stored at [0xYYYYYYYY])...
- in 2., what size is the value ? (8b, 16b, 32bits ?).
- 3., 4., 5, : the other "values" you're talking about, are they fixed values (like 0x00001000) ? Or you don't know them (they are stored in another place in the ram) ?
If you "don't know" the value for 3., 4. or 5., you can't do it with normal codes, ASM hacks are the only way. Normal ARDS codes can not be used to compare, or to do math operations, on 2 "unknown" values.
|