欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

求大神帮助!分析一下一个简单的汇编程序!新手

更新时间: 2014-01-05 03:17:30 责任编辑: Author_N1

 

求大神帮助!分析一下一个简单的汇编程序!新手求助
求哪位大神能分析一下为什么会出现这个结果,还有最上边那一部分是什么意思。小弟在这里谢过了!

DSEG SEGMENT
x dw 5
result dw ?              
DSEG ENDS
ESEG SEGMENT
ESEG ENDS
CSEG SEGMENT
  
ASSUME  CS:CSEG, DS:DSEG, ES:ESEG, SS:SSEG
              
start:    MOV AX, dseg
  MOV DS, AX
  MOV ES, AX


           
mov ax,5
mul x
add ax,4
mul x
sub ax,3
mul x
add ax,2
mov result,ax
mov ah,1
int 21h
mov ah,2
int 21h
mov ah,4ch
int 21h
  
              
CSEG ENDS

END start

--参考方法--
这里怎么说呢,你这个应该都不能执行的,也不知道你想实现什么功能的。
这么说吧:

DSEG SEGMENT
DSEG ENDS
中间是存放数据的。
ESEG是定义堆栈的,用来存放临时数据的,或中断地址的。
CSEG是用来放代码的。
ASSUME  CS:CSEG, DS:DSEG, ES:ESEG, SS:SSEG 是告诉编译器用cs存代码首地址,ds数据首地址,ss堆栈首地址。

mov ah,1
int 21h
是输入数据存储在al中

mov ah,2
int 21h
为2号功能调用是输出dl内的ASCII码。
因为你没定义dl中的数据可能就输出原来存储的了。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:30
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20459/
本文WWW.DOC100.NET DOC100.NET版权所有。