求救,谁知道这是怎么才能找到结果!

feng234 2002-11-19 06:36:47
我的这个程序在masm5。0上编译的时候没有问题,可就是看不来结果,
他总是说  “程序执行了非法操作,请关闭”的字样,着到底是怎么回事,谁帮我编译一下吗:谢谢!
DATA SEGMENT
ONE DW 1234H,2345H
MAX DW ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV AX,ONE
CMP AX,ONE+2
JG NEXT
MOV AX,ONE+2
NEXT: MOV MAX,AX
INT 21H
CODE ENDS
END START

...全文
14 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
1982pc 2002-11-23
  • 打赏
  • 举报
回复
我同意 lwbhero(lwbhero)说法,你需要自己设计输出程序显示结果!
NEXT: MOV MAX,AX 后改为下面语句:
MOV DL,MAX
MOV AH,2H
INT 21H
mov ah,4ch
int 21h
CODE ENDS
END START


crystal_heart 2002-11-23
  • 打赏
  • 举报
回复
“程序执行了非法操作,请关闭”
看起来象是在Windows下的DOS窗口吧?
学汇编要到DOS下面才明白的。
lwbhero 2002-11-22
  • 打赏
  • 举报
回复
你的源代码中的int 21h是错的,如楼上所说,得在int 21h前加上mov ah,4ch
但即使是这样,你仍然看不到结果,你需要自己设计输出程序显示结果!
fallhunter 2002-11-21
  • 打赏
  • 举报
回复
Lodger007(沧浪客) 说的没错,你要把
mov ah,4ch
int 21h
放到程序结尾啊,它是用来返回dos的
feng234 2002-11-20
  • 打赏
  • 举报
回复
真的不行呀
我真的试过了好多次,
我现在学了汇编都3个月了,可一个程序也没有运行出来,只会编
所以我认为是我不会上机调试,在加上平时课上学的和上机能运行的
程序还是有一定的差距,所以我就非常的想知道到底怎么才能运行出来
一个真正的汇编程序,难道你们也想我一个程序都没有运行出来吗?
请你们帮帮我看看到底怎么才能真的是我能运行出来一个程序,因为我
的好多的程序多是这个毛病呀!
ahalf 2002-11-20
  • 打赏
  • 举报
回复
能看见才怪
Lodger007 2002-11-20
  • 打赏
  • 举报
回复
用返回DOS的中断:
mov ah,4ch
int 21h
如果你想看结果,可以用Debug,也可以用中断来显示,但是要注意用中断显示的是字符,你可以将结果转换成它对应的ASCII码,然后再用21h中断的7或8功能号。

21,459

社区成员

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

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