问一道汇编语言题目 求高手解决一下

来源:百度知道 编辑:UC知道 时间:2024/04/24 08:42:57
X -32768<=X<=-1500
f(x)= 5X+2000 -1500<X<0
0 X=0
2x-300 0<X<=+32767
编出此程序。

;这是一个分支程序解决分段函数的问题,代码如下:
data segment
x dw ?;运行时给取值范围为-32768到+32767的一个具体数
f dw ?
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
mov ax,x
cmp ax,-1500
jle tj;若-32768<=X<=-1500 ,则f(x)=x
cmp ax,0
jge next2
mov bl,5;若-1500<X<0,则f(x)=5X+2000
imul bl
add ax,2000
jmp tj
next2:
je tj ;若X=0,则f(x)=0
mov bl,2;若0<X<=+32767,则f(x)=2x-300
imul bl
sub ax,300
tj:mov f,ax
mov ax,4c00h
int 21h
code ends
end start