鱼C论坛

 找回密码
 立即注册
查看: 3005|回复: 4

[争议讨论] 为什么不对寄存器进行操作,里面的内容就不会改变?

[复制链接]
发表于 2012-1-28 00:11:44 | 显示全部楼层 |阅读模式
1鱼币
寄存器,不是多个程序共用的不?为什么在debug里不对寄存器进行操作,在debug里面的查看寄存器的内容就不会改变?很多程序在用寄存器,寄存器应该时时刻刻在改变啊???

最佳答案

查看完整内容

16位汇编是在单任务下的,所以就不存在很多程序同时用寄存器。 在多任务操作系统中,当时钟周期循环到下一个任务的时候,处理器会将他们保存起来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 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.

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-28 08:25:58 | 显示全部楼层
对头,寄存器的内容是在变,但你要想一想windows是一个多任务的系统,他在你要执行的程序中只会显示属于你那个程序的内容,不然就乱套了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-28 10:15:30 | 显示全部楼层
这才体现出 堆栈的作用  压栈 出栈      寄存器的值始终被压栈和出栈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-28 11:28:11 | 显示全部楼层
学到了呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 10:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表