我正在进行装配,技术上是HLA(高级装配)任务。这是我的任务:
写一个HLA汇编语言程序,根据半径计算表面积。示例程序对话如下所示。无论你决定这样做,你的主程序应该包括调用一个过程或函数(至少一个...)来解决这个问题。
Lemme计算球体的表面积! Gimme r:1 表面积= 12.57
Lemme计算球体的表面积! Gimme r:3.5 表面积= 153.94
这是我的代码:
program surfaceArea;
#include( "stdlib.hhf" );
static
radius : real32;
procedure computeSurfaceArea(r : real32); @nodisplay; @noframe;
static
returnAddress : dword;
z : real32;
begin computeSurfaceArea;
pop(returnAddress);
pop(r);
push(returnAddress);
finit();
fld( r );
fld( st0 );
fmul();
fldpi();
fld(4.0); .
fmul();
fmul();
fstp( z );
stdout.putr32(z, 4, 10);
ret();
end computeSurfaceArea;
begin surfaceArea;
stdout.put("Lemme calculate the surface area of a sphere!", nl);
stdout.put("Gimme r: ");
stdin.get(radius);
stdout.put("Surface area is: ", nl);
call computeSurfaceArea;
end surfaceArea;
所以我的问题在于我的fld(4.0)代码行。我想要做的是将pi乘以4,然后将其结果乘以上面计算的r square。我得到的错误是:
语法错误,意外"。"。
感谢您的帮助。