1.下载一个dosbox和win7 32位debug.exe,安装dosbox,打开后页面如下
2.将debug.exe放入磁盘根目录,这里以D盘为例。在dosbox中输入mount c d:\按回车,出现下图
3.输入c:回车
4.输入debug回车
5.输入p回车
6.输入a回车
7.最后就可以自己敲代码了
我也遇到了这个问题,说下我的思路。在64位 *** 作系统下,使用debug32,运行mov ax,[0]会报错。
32位 *** 作系统下是正常的。
有一个变通的办法,就是
mov bx,0H
mov ax,[bx]
这样是可以的,但治标不治本。
我怀疑问题出在dosbox上,可我把dosbox配置文件中各种cpu模式都试过后,还是不行。
使用兼容模式运行dosbox,仍然不行。
我在32位系统上安装dosbox,mov ax,[0]正常。
看来,问题不在dosbox上面。
于是我把32位xp下自带的debug.exe拷贝到64位win7下,运行dosbox,运行mov ax,[0],正确执行!
那么问题出在debug32.exe上。
我把debug32.exe放到32位xp下,运行mov ax,[0],结果如何呢?
报错! 09E7 Invalid register combination
问题找到了,debug32.exe不支持mov ax,[0]。使用微软的debug.exe就OK了。
补充:
debug32,开发公司不是微软而是一家叫做Larson Computing公司的产品。
微软的是MASM32套装,可以在Windows下使用。NASM也是一个使用较多的汇编器,搜索“NASM"即可找到。但在Windows下使用一般要求搭配适当的连接器(连接程序Link),可以使用ALink等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)