首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2013-06-19 
求大神帮助!分析一下一个简单的汇编程序!新手求助求哪位大神能分析一下为什么会出现这个结果,还有最上边那

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

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中的数据可能就输出原来存储的了。

热点排行