一小段汇编代码,用masm6.11编译有错误,为什么?
时间:2011-04-20
来源:互联网
在dos虚拟机当中:
C:\>TYPE MY.asm
Assembly code
编译输出: C:\>ML my.asm
...
...
CPU error: incorrect opcode. Killing process.
C:\>TYPE MY.asm
Assembly code
stack segment stack x db 1 stack ends data segment y db 2 data ends code segment assume cs:code,ds:data,es:stack q: mov al,x mov bl,y code ends end q
编译输出: C:\>ML my.asm
...
...
CPU error: incorrect opcode. Killing process.
作者: hjklasdfgl 发布时间: 2011-04-20
虽然你这程序有些问题,但不是在编译链接阶段表现出来的。用 Masm5/6/32v8 编译都顺利通过。
可以先试试 ml /c 只编译看看是否正常;正常,可能是缺省的编译参数有误?也不正常,换个版本的试试?
可以先试试 ml /c 只编译看看是否正常;正常,可能是缺省的编译参数有误?也不正常,换个版本的试试?
作者: zara 发布时间: 2011-04-20
是,我用masm5.1也能正常编译
作者: leetow2003 发布时间: 2011-04-20
这个程序唯一的问题就是没有正常终止,汇编通过是没有问题的。
“CPU error: incorrect opcode. Killing process.”这应该是dos虚拟机本身产生的错误,你用的masm 6.11可能有问题。
“CPU error: incorrect opcode. Killing process.”这应该是dos虚拟机本身产生的错误,你用的masm 6.11可能有问题。
作者: DelphiGuy 发布时间: 2011-04-20
引用 3 楼 delphiguy 的回复:
这个程序唯一的问题就是没有正常终止,汇编通过是没有问题的。
“CPU error: incorrect opcode. Killing process.”这应该是dos虚拟机本身产生的错误,你用的masm 6.11可能有问题。
这个程序唯一的问题就是没有正常终止,汇编通过是没有问题的。
“CPU error: incorrect opcode. Killing process.”这应该是dos虚拟机本身产生的错误,你用的masm 6.11可能有问题。
你说的是,要在程序最后加上Int 20H?
还是别的什么意义?
谢谢!
作者: hjklasdfgl 发布时间: 2011-04-20
是的,用INT 20h或者用INT 21h ah=4Ch终止都可以,不过用INT 20h终止程序CS要设置为PSP。
作者: DelphiGuy 发布时间: 2011-04-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28