In QEMU, an operating system can run above software emulated CPU. How can be a CPU emulated by software? I want to know about detail.
If CPU is emulated by software does registers are emulated with host system memory?
Let say there is ARM assembly code
LDRB r0, [r1], #1
How can this be emulated in x86 environment?
My guess is that emulating software keeps memory mapping space for r0
(4 bytes), r1
(4 bytes) and then updates the register value for corresponding memory location... Am I wrong?