. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  真的是想不明白,请高人给解答一下  [待解决] 回复[ 1次 ]   点击[ 237次 ]  
wulfalone
[帖 主]   [ 发表时间:2009-09-05 20:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-03-05 13:03
CPU应该同时只能执行一个命令吧,为什么还能用debug调试程序?那当时cpu执行的是debug的命令还是调试的程序的? 
真的搞不懂,书上说cpu是从cs和ip寄存器里读取下一条命令的,而哪个命令长度是不同的,它是如何知道将要读取的命令该是多长的?像用debug调试程序的时候就更复杂了,cpu到底是怎么工作的?既能执行debug的还能执行被调试程序的? 
请达人给点详细的资料,越详细越好,在网上实在没有找到,先谢谢了

还有用debug查看寄存器内容的时候,按书上说的cpu应该执行cs:ip指向的下一条命令,可cpu并没有自动执行下一条命令啊,而且我们还在用debug执行别的命令啊?cpu并没有执行cs:ip指向的命令啊
tiger.t
[第1楼]   [ 回复时间:2009-09-07 02:57 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-09-05 18:47
cup在执行debug前有在执行另外一个程序(command),当你输入debug时它将控制权交给debug,这时开始执行debug,执行完debug再将控制权还给command,
我们写的代码是以数据的形式被加入内存的,cpu在加入内存后当然能知道数据长度,
debug是调试程序,你不输入执行命令它怎么会执行下一条代码呢。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved