|
![]() | 作者: 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号