论坛: 编程破解 标题: 汇编dos调用问题 复制本贴地址    
作者: xdy [xdy]    论坛用户   登录
本人用masm调试dos调用程序,虽然在debug下查看结果对但是有些时候结果却不能显示出来。
请问是什么原因
我用2000系统是不是命令提示符
的dos系统不支持啊?



地主 发表时间: 11/08 22:51

回复: zone [zone]   论坛用户   登录
应该是其他原因而不是因为是命令提示符的原因

B1层 发表时间: 11/09 08:38

回复: hannyu [hannyu]   论坛用户   登录
对,说具体点就知道了

B2层 发表时间: 11/09 16:21

回复: xdy [xdy]   论坛用户   登录
用masm调用dos比如9号中断,输出字符的时候,单步执行都是正确,但是连续执行的时候就是不行。

B3层 发表时间: 11/21 21:22

回复: cyshaoping [cyshaoping]   论坛用户   登录
有没有把要显示内容的地址传到dx?

B4层 发表时间: 11/21 21:34

回复: wangdong11 [wangdong11]   论坛用户   登录
如果说内容掉入了dx,
那就应该是2号功能调用!


B5层 发表时间: 11/22 21:14

回复: realpope [realpope]   论坛用户   登录
2号显示字符,内容输入到dx||dl

9号显示的是以结尾的字符串  缓冲区首地址送dx



B6层 发表时间: 11/23 07:53

回复: xdy [xdy]   论坛用户   登录
谢谢大家了
程序应该没问题
我问过我们老师
但是他也说不清
dx传送的内容是送到dx了。
另问:
还有98系统做的asm程序可以调试成功为什么2000下就不行了啊?


B7层 发表时间: 11/23 22:07

回复: 286 [unique]   版主   登录
TO 项
  无论是98还是2000的DOS都是通过虚拟机实现的。这与是否提示行无关。
  在通过10号中断9号调用显示的时候,西文应该正常,但中文是,98的虚拟机由于不支持unicode,所以显示的时候,两个字符合成一个汉字,所以显示正常。2000支持,怪字符就是怪字符,而不转化,但由半解转成全解。所以无法正常显示。
    所以98正常,2000不正常---》是个正常现象。


B8层 发表时间: 11/24 09:27

回复: xdy [xdy]   论坛用户   登录
谢了 286 :)
我还想问你个问题
我对2000系统里的编码不太懂
我帮我解释ansi,ucicode,utf-8,ucicode big endian的区别吗
我在google搜索不到
很菜
不要踢我啊:)


[此贴被 项怀诚(xdy) 在 11月24日21时59分 编辑过]

B9层 发表时间: 11/24 20:35

回复: 286 [unique]   版主   登录
Kao,老弟何出此言呀。你又没犯错,我又不是个马户,凭什么踢你呢?呵呵。
ansi是个美国组织名,常制定一些标准,比如在字符方面,定义了0~126这127个字符,一般称为ASCII。
计算机编码要国际化,就要求把世界所有文字都包括,所以ISO就定义了unicode。这里包括了几乎所有文字。



B10层 发表时间: 11/25 09:28

回复: yangxius [yangxius]   论坛用户   登录
你需要重新定义一下缓冲区到DX上去,当调用2号指令时只能设缓冲区到DX

B11层 发表时间: 11/25 20:10

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号