Assembly 寄存器与汇编语言

Assembly 寄存器与汇编语言,assembly,cpu-registers,Assembly,Cpu Registers,如果我们使用汇编语言中的所有寄存器,那么我的CPU将使用什么?我的意思是,寄存器的划分方式是CPU可以独立使用,我们也可以独立使用它寄存器存储用于计算的临时值。所有其他数据都存储在外部存储器中。外部内存可以用不同的方式缓存,但它总是比寄存器慢。什么?寄存器可以独立使用,是的。如果他们共享他们的内存,这将是毫无意义的。您是否在考虑C或其他语言的内联汇编,并想知道编译器还剩下什么可以使用?编译器生成和手工编写的代码都使用寄存器并在CPU上运行,就像手工编写整个函数一样。某些编译器将阻止您声明clob

如果我们使用汇编语言中的所有寄存器,那么我的CPU将使用什么?我的意思是,寄存器的划分方式是CPU可以独立使用,我们也可以独立使用它

寄存器存储用于计算的临时值。所有其他数据都存储在外部存储器中。外部内存可以用不同的方式缓存,但它总是比寄存器慢。

什么?寄存器可以独立使用,是的。如果他们共享他们的内存,这将是毫无意义的。您是否在考虑C或其他语言的内联汇编,并想知道编译器还剩下什么可以使用?编译器生成和手工编写的代码都使用寄存器并在CPU上运行,就像手工编写整个函数一样。某些编译器将阻止您声明clobber或将所有寄存器用作输入/输出操作数。CPU有寄存器,您没有寄存器。若你们在汇编中使用一些寄存器,你们就是在使用CPU的寄存器。如果你全部使用,你就全部使用。它没有任何独立性,CPU中的寄存器就像超级全局寄存器,在特定时间只有一个实例,即使现代操作系统在不同任务之间切换,它必须使用特殊的指令序列来保存旧线程/进程的寄存器的当前状态,并加载它要切换到的线程/进程的寄存器的先前状态,否则将无法进行多任务处理。