梦境 发表于 2012-1-28 00:11:44

为什么不对寄存器进行操作,里面的内容就不会改变?

寄存器,不是多个程序共用的不?为什么在debug里不对寄存器进行操作,在debug里面的查看寄存器的内容就不会改变?很多程序在用寄存器,寄存器应该时时刻刻在改变啊???

Seely 发表于 2012-1-28 00:11:45

16位汇编是在单任务下的,所以就不存在很多程序同时用寄存器。
在多任务操作系统中,当时钟周期循环到下一个任务的时候,处理器会将他们保存起来。
A multitasking OS runs on a processor (such as the x86) that supports task switching.
The processor saves the state of each task before switching to a new one.
A task’s state consists of the contents of the processor registers, program counter, and status flags,
along with references to the task’s memory segments.

for 发表于 2012-1-28 08:25:58

对头,寄存器的内容是在变,但你要想一想windows是一个多任务的系统,他在你要执行的程序中只会显示属于你那个程序的内容,不然就乱套了

小马过河 发表于 2012-1-28 10:15:30

这才体现出 堆栈的作用压栈 出栈      寄存器的值始终被压栈和出栈

yuyuhongss 发表于 2012-1-28 11:28:11

学到了呵呵
页: [1]
查看完整版本: 为什么不对寄存器进行操作,里面的内容就不会改变?