为什么分配给寄存器不会导致其他所有问题?

How come assigning to a register is not causing problems with everything else?

在汇编中,我们通常使用movld等指令将值加载到寄存器中。但是,为什么它会起作用?例如,如果一个程序正在向 eax 寄存器写入一个值,而另一个程序从中读取,为什么它不读取另一个程序写入的值? CPU 或 OS 或类似的东西是否为每个 运行 程序提供一组寄存器?

Does the CPU or OS or something like that provide a set of registers for each running program maybe?

是的。每个进程,或每个线程,或每个任务,都有自己的寄存器集。当 OS 抢占任务时,它会将所有寄存器保存在任务特定的内存区域中。然后要恢复同一任务或另一任务,目标任务的寄存器值将从该任务的内存区域恢复。