Win32汇编 实数+-*/

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yky__xukai/article/details/82937070

题目1:

键盘输入实数x、y、z的值,求如下表达式的值:
x*y+x/y-z
运行后若输入:8.0 4.0 2.0
则结果输出:8*4+8/4-2=32

 ;*【*/
.386				;选择的处理器
.model flat, stdcall	
option casemap:none		;指明标识符大小写敏感
include	kernel32.inc	;要引用的头文件
includelib	kernel32.lib	;要引用的库文件
includelib	msvcrt.lib	;引用C库文件
scanf PROTO C:DWORD,:vararg	;C语言scanf函数原型声明
printf PROTO C:DWORD,:vararg;C语言printf函数原型声明
.data				;⑤数据段
x QWORD ?
y QWORD ?
z QWORD ?

a QWORD ?
b QWORD ?
d QWORD ?

fmt BYTE '%lf %lf %lf',0
fmt2 BYTE '%g*%g+%g/%g-%g=%g',0
.CODE
start:
invoke scanf,ADDR fmt,ADDR x,ADDR y,ADDR z
FLD x
FMUL y
FSTP a

FLD x
FDIV y
FSTP b

FLD a
FADD b
FSUB z
FSTP d

invoke printf,ADDR fmt2,x,y,x,y,z,d

invoke	ExitProcess,0		;退出进程,返回值为0
end start


 ;*】*/

 

猜你喜欢

转载自blog.csdn.net/yky__xukai/article/details/82937070