多项式的求值

来源:百度知道 编辑:UC知道 时间:2024/04/29 16:19:55
昨天实验老师布置了一道题,题目如下:实现(X+Y)/Z, 且X,Y,Z由键盘输入并且要求可以计算两位数或两位数以上~并且输出结果
我只完成了一位数的....麻烦高手们能说说具体怎样实现吗?我实在不会做了....先谢谢大家了

;X,Y,Z的范围为0-65535,以回车结束
DSEG SEGMENT
;数据段:在此处添加程序所需的数据
x dw ?
y dw ?
z dw ?
result dw ?
DSEG ENDS

CSEG SEGMENT
assume cs:CSEG, ds:DSEG
MAIN PROC FAR ;主程序入口
mov ax, dseg
mov ds, ax
;此处添加主程序代码
lea si,x
call input;从键盘输入一个十进制数(每个数不超过3个字符)
lea si,y
call input;从键盘输入一个十进制数(每个数不超过3个字符)
lea si,z
call input;从键盘输入一个十进制数(每个数不超过3个字符)
mov ax,x
add ax,y
cwd
div z
mov result,ax
lea di,result
call disp;将结果送显示器显示
;按任意键退出
mov ah,1
int 21h
;程序结束,返回到操作系统系统
mov ax, 4c00h
int 21h
MAIN ENDP

input proc
next: mov bx, 0
mov cx,5
newchar: mov ah, 1;键盘输入,每个数据以回车结束
int 21h
sub al, 30h
jl exit ; <0退出
cmp al, 9
jg exit ; >9退出
cbw
xchg ax, bx
mov cx, 10
mul cx
xchg ax, bx
add bx, ax
loop newchar
exit:
call crlf