为什么不对寄存器进行操作,里面的内容就不会改变?
寄存器,不是多个程序共用的不?为什么在debug里不对寄存器进行操作,在debug里面的查看寄存器的内容就不会改变?很多程序在用寄存器,寄存器应该时时刻刻在改变啊??? 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.
对头,寄存器的内容是在变,但你要想一想windows是一个多任务的系统,他在你要执行的程序中只会显示属于你那个程序的内容,不然就乱套了 这才体现出 堆栈的作用压栈 出栈 寄存器的值始终被压栈和出栈 学到了呵呵
页:
[1]