为什么debug到程序结尾时的int 21h要用p命令执行?

erekkk 2011-09-04 11:16:28
为什么不能用t或者g命令?

p命令还可以用来跳出循环? p命令到底都有哪些作用?
...全文
612 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
canmeng 2011-09-05
  • 打赏
  • 举报
回复 1
t命令是单步执行命令,g可以执行到哪一行。p命令可以跳出循环,在遇到loop指令时可以使用p命令进行表示。我就知道这么多了。楼主可以在网上搜debug的使用教程。里面有对debug的命令的详细描述。
aiyaya730 2011-09-05
  • 打赏
  • 举报
回复
t跟到int中进去
p直接走到int结束

大家都回答了,我也答以下,看看有没有分~
WJN92 2011-09-05
  • 打赏
  • 举报
回复
如果你使用T的话,你就会跟进int里面去了
用P就直接条过
zara 2011-09-05
  • 打赏
  • 举报
回复 2
t 命令会进入 call 的子程、int 的中断例程里面去,而不是执行完了 call 或 int 指令到其下一指令停下来;另外还有 rep 和 loop 指令。
所以,如果不是想深究 int21h 是如何实现你指定的功能的话,无疑是不需要进入 int21h 里面去的。所以就不能用 t 命令了。最简单的就是用 p 命令,一下子就执行完了 int21h 然后在其后的指令上暂停。
g 命令也是可以用的,但需要加上其后那个指令的地址,就如 #2楼 朋友所说的那样;不能简单地一个 g 命令,否则会一直运行到程序结束(或是遇到异常、中断,甚至是死机)。
所以,还是 p 命令方便。
canmeng 2011-09-05
  • 打赏
  • 举报
回复
也可以使用g命令的。加入int 21h后面还有一条指令 mov ah,9,开始地址是0x0020,你可以使用-g 0200直接执行完int 21h到mov ah,9停住的。

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧