求哪位大神能分析一下为什么会出现这个结果,还有最上边那一部分是什么意思。小弟在这里谢过了!
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堆栈首地址。
是输入数据存储在al中
mov ah,1
int 21h
为2号功能调用是输出dl内的ASCII码。
mov ah,2
int 21h
因为你没定义dl中的数据可能就输出原来存储的了。