windowsXP下可以运行DOS下的汇编程序吗

caiwei1129 2003-12-12 04:04:28
一个很简单的程序test.asm
CSEG SEGMENT
ASSUME CS:CSEG
START:
MOV DL,07H
MOV AH,2
INT 21H
CSEG ENDS
END START
我在WinXP的DOS窗口中用masm5编译成exe文件成功,可是执行的时候出错
是不是DOS版的汇编程序不能在windows下运行?windows下只能运行Win32汇编?
小弟是新手,盼解答
...全文
175 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
caiwei1129 2003-12-15
  • 打赏
  • 举报
回复
谢谢各位的帮助,程序已经可以运行了:)
紫郢剑侠 2003-12-14
  • 打赏
  • 举报
回复
>>我在WinXP的DOS窗口中用masm5编译成exe文件成功,可是执行的时候出错

masm5的汇编程序和连接程序也是DOS程序, 你能把你的汇编源程序汇编和连接成功, 就说明DOS程序是可以在WIN XP上正常执行的.

问题出在你编写的汇编程源程序上, 它没有返回操作系统.

要用

mov ax, 4c00h ;结束程序返回DOS
int 21h
zyOOOOOO 2003-12-14
  • 打赏
  • 举报
回复
可以,但你得把masm5安装在winXP的目录中
liangkove 2003-12-13
  • 打赏
  • 举报
回复
可以的。我自己亲身做过。
kuangjingbo 2003-12-12
  • 打赏
  • 举报
回复
应该可以的
紫郢剑侠 2003-12-12
  • 打赏
  • 举报
回复
windowsXP下可以运行DOS下的汇编程序.


为了保险起见, 还是用COM格式:

CSEG SEGMENT
ASSUME CS:CSEG, DS: CSEG
ORG 100H
START:
MOV DL,07H
MOV AH,2
INT 21H

mov ax, 4c00h ;结束程序返回DOS
int 21h

CSEG ENDS
END START
sxzzsf 2003-12-12
  • 打赏
  • 举报
回复
这个程序有问题
没有定义 过程调用方式
主程序也是过程,如同C语言,必须有main()函数一样

CSEG SEGMENT
cproc proc far ;;
ASSUME CS:CSEG
START:
MOV DL,07H
MOV AH,2
INT 21H
CSEG ENDS
cproc endp ;;
END START

只要没有直接读写硬件,就不会有问题

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧