2 a641283841 a641283841 于 2016.01.25 02:50 提问

为什么debug里东西不怎么变?

电脑时刻在运行,cpu里的东西不应该是一直在变得吗?我在学汇编,为什么debug时多次r命令,寄存器里的东西不变呐?

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.25 04:49

虽然你的电脑是多任务的,但是具体到一个程序,它的执行是确定的。每个程序的执行有个特定的上下文,有自己的虚拟内存地址。所以执行特定的指令,你看到的寄存器和特定的内存都是一样的。
在你的汇编程序看来,你的计算机是一个8086/8088,你的程序是独占它的,在操作系统看来,你的程序运行在一个v86虚拟机内。

a510835147
a510835147   2016.01.25 08:45

每个进程都有一个4GB的虚拟内存空间,每个线程都有一个特定的上下文(用于存储各寄存器等信息。。)

WinsenJiansbomber
WinsenJiansbomber   2016.03.05 14:08

这不奇怪的事啊,比如说多次执行 NOP 指令,即什么也不做的指令,基本上寄存器就不会变了,除了 EIP。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!