c0扩充文法编译器测试报告(编辑修改稿)内容摘要:

)。 scanf(a,b)。 printf(A+B=)。 printf(a+b)。 printf(AB=)。 printf(ab)。 printf(A*B=)。 printf(a*b)。 printf(A/B=)。 printf(a/b)。 printf(Please enter two real numbers (C,D): )。 scanf(c,d)。 printf(C+D=)。 printf(c+d)。 printf(CD=)。 printf(cd)。 printf(C*D=)。 printf(c*d)。 printf(C/D=)。 printf(c/d)。 9 return。 } 程序输出 先输入两个整数,会显示其四则运算结果,再输入两个 实数,会显示其浮点数四则运算结果。 目标代码 .386 .model flat,stdcall option casemap:none include C:\RadASM\Masm32\include\ include C:\RadASM\Masm32\include\ include C:\RadASM\Masm32\include\ includelib C:\RadASM\Masm32\lib\ includelib C:\RadASM\Masm32\lib\ include C:\RadASM\Masm32\include\ .data .code start: push ebp mov ebp,esp sub esp,100h invoke crt_printf,SADD(Please enter two intergers (A,B): ) invoke crt_scanf,SADD(%d),addr dword ptr [ebp04h] invoke crt_scanf,SADD(%d),addr dword ptr [ebp08h] invoke crt_printf,SADD(A+B=) mov eax,dword ptr [ebp04h] add eax,dword ptr [ebp08h] mov dword ptr [ebp014h],eax invoke crt_printf,SADD(%d),dword ptr [ebp014h] invoke crt_printf,SADD(AB=) mov eax,dword ptr [ebp04h] sub eax,dword ptr [ebp08h] mov dword ptr [ebp018h],eax invoke crt_printf,SADD(%d),dword ptr [ebp018h] invoke crt_printf,SADD(A*B=) mov eax,dword ptr [ebp04h] mov ecx,dword ptr [ebp08h] imul ecx mov dword ptr [ebp01ch],eax 10 invoke crt_printf,SADD(%d),dword ptr [ebp01ch] invoke crt_printf,SADD(A/B=) mov eax,dword ptr [ebp04h] cdq mov ecx,dword ptr [ebp08h] idiv ecx mov dword ptr [ebp020h],eax invoke crt_printf,SADD(%d),dword ptr [ebp020h] invoke crt_printf,SADD(Please enter two real numbers (C,D): ) invoke crt_scanf,SADD(%f),addr dword ptr [ebp0ch] invoke crt_scanf,SADD(%f),addr dword ptr [ebp010h] invoke crt_printf,SADD(C+D=) mov ecx,dword ptr [ebp0ch] push ecx mov ecx,dword ptr [ebp010h] push ecx fld dword ptr [esp+4] fadd dword ptr [esp] fstp dword ptr [ebp024h] add esp,8 fld dword ptr dword ptr [ebp024h] sub esp,08h fstp qword ptr [esp] invoke crt_printf,SADD(%f) invoke crt_printf,SADD(CD=) mov ecx,dword ptr [ebp0ch] push ecx mov ecx,dword ptr [ebp010h] push ecx fld dword ptr [esp+4] fsub dword ptr [esp] fstp dword ptr [ebp028h] add esp,8 fld dword ptr dword ptr [ebp028h] sub esp,08h fstp qword ptr [esp] invoke crt_printf,SADD(%f) invoke crt_printf,SADD(C*D=) mov ecx,dword ptr [ebp0ch] push ecx m。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。