( 4 months ago )
Consider a program that uses absolute physical memory references
movl ($0x100), %eax
movl ($0x104), %ebx
movl %eax, ($0x104)
movl %ebx, ($0x100)
This program works fine when it is loaded at address 0x0, but not when it is loaded at address 0x1000. Why not?
Rewrite the above code so the program works when it is loaded at memory address 0x1000.