注册 登录
编程论坛 汇编论坛

LOVE的版主进来,关于程序安全退出的问题

赵疯子 发布于 2013-08-20 21:11, 1039 次点击
MOV AH,4CH
INT 21H

在DOS下调试必须要输入这个吗?

[ 本帖最后由 赵疯子 于 2013-8-21 14:20 编辑 ]
16 回复
#2
zklhp2013-08-20 21:12
对 这是正常的退出方法
#3
赵疯子2013-08-20 21:15
回复 2楼 zklhp
不是对不对的问题,是我现在还不明白为什么要改变AX的值来退出,
还有
退出程序时如果CS的值与调试程序时的值不同时,会出现什么后果呀?
#4
zklhp2013-08-20 21:36
改ax 确切的说是ah 是DOS中断的调用规范 其实之后的操作系统也是用差不多的方式 只不过你不知道 被封装了
#5
zklhp2013-08-20 21:37
int 21h

这是调用DOS的中断

mov ah, 4ch

这是告诉DOS 我要执行的是什么功能

至于你后面说的那个我还是不大明白 也可以说不知道。。
#6
赵疯子2013-08-20 23:16
回复 5楼 zklhp
哦,我有点明白了,只不过究竟是什么意思我还搞不懂,我看的是王爽的那本汇编书,最后问的意思是百度出来的答案,您看看为什么比如CS和调用程序之前一致,否则死机
http://zhidao.baidu.com/link?url=VeIZRm0n_cd6UY9Y7QxoCWKltUPEXby7MdKX5tJqzKXJrYEL0WS7sYfbotH-O1RqFc4tb2SRApNXBhkiAtJ_Oa
#7
zklhp2013-08-20 23:51
以下是引用赵疯子在2013-8-20 23:16:47的发言:

哦,我有点明白了,只不过究竟是什么意思我还搞不懂,我看的是王爽的那本汇编书,最后问的意思是百度出来的答案,您看看为什么比如CS和调用程序之前一致,否则死机
http://zhidao.baidu.com/link?url=VeIZRm0n_cd6UY9Y7QxoCWKltUPEXby7MdKX5tJqzKXJrYEL0WS7sYfbotH-O1RqFc4tb2SRApNXBhkiAtJ_Oa


这个不是很懂 不知道
#8
赵疯子2013-08-21 00:00
哦,谢谢 谢谢
#9
zklhp2013-08-21 09:21
不知道楼主学汇编的目的是什么 DOS里面的很多东西不必深究 就好像Tony版主说的一样 学了一个永远用不上的平台就哭了 DOS平台可以说是淘汰了罢
#10
赵疯子2013-08-21 11:28
回复 9楼 zklhp
哦 我的目的就是能看懂OD里面的汇编代码,想把功底打好,还有就是在写C程序时心里能有个汇编思路
#11
zklhp2013-08-21 12:28
以下是引用赵疯子在2013-8-21 11:28:39的发言:

哦 我的目的就是能看懂OD里面的汇编代码,想把功底打好,还有就是在写C程序时心里能有个汇编思路
32位代码 不牵扯底层的话其实相对容易 没有段的概念 当然也不是没有而是你无法控制 flat mode 平坦模式 就是一个大段。。。

如果要看懂OD里面的代码 重点是学指令 这点我以前的帖子里就说过 当然学什么是你自己的事了

祝好运


[ 本帖最后由 zklhp 于 2013-8-21 12:30 编辑 ]
#12
赵疯子2013-08-21 13:32
回复 11楼 zklhp
谢谢你
#13
wp2319572013-08-21 13:36
原来疯子说的L版 是。。。。。。
#14
zklhp2013-08-21 14:09
以下是引用wp231957在2013-8-21 13:36:21的发言:

原来疯子说的L版 是。。。。。。

对啊 L版是谁?
#15
wp2319572013-08-21 14:27
以下是引用zklhp在2013-8-21 14:09:26的发言:


对啊 L版是谁?
貌似你的代号 正中央 是一个小写l
#16
zklhp2013-08-21 14:58
以下是引用wp231957在2013-8-21 14:27:26的发言:

貌似你的代号 正中央 是一个小写l

。。。
#17
hu9jj2013-08-22 07:44
这个4CH是中断调用的功能编号,因为DOS的21H中断可以执行很多功能,所以就通过编号来区分调用者需要执行哪个功能。处理21H中断时,首先根据AH寄存器的数值跳转到相应的指令段去执行。
1