计算多项式(x+3)/y*y 的值(汇编语言实现)
本题比较简单,主要是加法,乘法和除法的运算
注意除法的使用,使用前须将edx置0,除法使用后商在eax,余数在edx,想输出余数可自行操作。
乘法这里用到了imul,是因为这是双操作数乘法,三操作数乘法也是imul
实现代码
;计算(x+3)/y*y
include irvine32.inc
.data
num1 dd ?
num2 dd ?
.code
main proc
;x=ebx,y=ecx
mov edx,0
call readint
mov num1,eax ;读入数据x
call readint
mov num2,eax ;读入数据y
mov ebx,num1 ;x放入ebx中
mov ecx,num2 ;y放入ecx中
add ebx,3 ;ebx=x+3
imul ecx,ecx ;ecx=y*y
mov eax,ebx ;eax=ebx=x+3
div ecx ;eax/ecx=(x+3)/y*y
call writeint
exit
main endp
end main
运行结果