吧主来下...(-_-)
debug吧
全部回复
仅看楼主
level 6
blueglass2 楼主
-a100mov ah, 0amov dx, 200int 21mov ah, 02mov dl, 0dint 21mov dl, 0aint 21mov ah, 09mov dx, 200int 21int 20-gfjiwejgioejgioejeiojgeiojgeijgiwjg|<-为什么我输到这里就不让再输了啊?每次都是这样...
2008年04月21日 04点04分 1
level 6
blueglass2 楼主
谢谢 这个问题是时有时无的.我在纯DOS下输出都没问韪,可以输到127个字。在XP下就不行了,只能输入1~20个字,我想可能是缓冲区设置问题。
2008年04月23日 11点04分 7
level 6
blueglass2 楼主
3f出现一大堆乱码是因为你没有在字符末尾添加'$'符
2008年04月23日 11点04分 8
level 6
blueglass2 楼主
数据段和堆栈段最好不要和代码段放在同一段,这是我得出经验...(-_-)
2008年04月23日 11点04分 10
level 6
blueglass2 楼主
关于这个问题:mov ah, 0aHmov dx, 200int 21h和:汇编里的:mov ah, 0aHmov dx, Offset bufferint 21h是一样的,要想调用10号功能输入一串字符,就必需先建立一个有预留字的缓冲区:首先:buffer 应该定义成这样: buffer db 40,0,40dup(0)然后才能调用mov dx, offset buffermov ah, 0ahint 21h那么,现在换到debug里面,这一步也是不能省略的。(嘻嘻,不建立缓冲区,debug也不给面子.)我的做法是: -FDS:200 240 ' ' ;用空格填充这40个字节-EDS:240 '$' ;建立一个40个字节的缓冲区.并在末尾加上$符然后:-A100-.... ;就可以放心调用了。debug其实和汇编就是一样的,变量和缓冲区都要事件声明,只不过debug里无法设标签来代替实际地址,一切都要自己输进去。
2008年04月27日 07点04分 15
level 6
blueglass2 楼主
纠正一下我15F的一个错误:-FDS:200 240 ' ' ;用空格填充这40个字节 <————Error-EDS:240 '$' ;建立一个40个字节的缓冲区.并在末尾加上$符 --------------------------------------从200~240是64个字节,因为Debug默认为16进制。
2008年04月28日 07点04分 17
1