电脑时刻在运行,cpu里的东西不应该是一直在变得吗?我在学汇编,为什么debug时多次r命令,寄存器里的东西不变呐?
虽然你的电脑是多任务的,但是具体到一个程序,它的执行是确定的。每个程序的执行有个特定的上下文,有自己的虚拟内存地址。所以执行特定的指令,你看到的寄存器和特定的内存都是一样的。
在你的汇编程序看来,你的计算机是一个8086/8088,你的程序是独占它的,在操作系统看来,你的程序运行在一个v86虚拟机内。
每个进程都有一个4GB的虚拟内存空间,每个线程都有一个特定的上下文(用于存储各寄存器等信息。。)
这不奇怪的事啊,比如说多次执行 NOP 指令,即什么也不做的指令,基本上寄存器就不会变了,除了 EIP。