奇怪的 int 21h(02h号功能)

bird_learner 2006-08-26 08:25:27
①如果 没有对dl赋值,直接调用02h号功能
mov ah,02h
int 21h
输出" ^ " (不含引号和空格)

②如果 对dl赋值(00h),再调用02h号功能
mov dl,00h
mov ah,02h
int 21h
什么也没输出.(这个正常)

对第一种情况,用debug进行跟踪,发现dl中的内容至始至终都是00h,为什么它的运行结果和第②种不同呢?
调试环境:win2k sp4,masm 5.00

...全文
449 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sswweett 2006-08-26
  • 打赏
  • 举报
回复
你可以写一小段代码,把dl的值放入一个变量,再打印出来看看。
sswweett 2006-08-26
  • 打赏
  • 举报
回复
用debug加载和直接运行时,dl的值不一样。这也是以前DOS加密系统检测自己是否被调试的一种方法。

21,458

社区成员

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

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