0

我正在从事一项装配,技术上是 HLA(高级装配)任务。这是我的任务:


编写一个基于半径计算表面积的 HLA 汇编语言程序。示例程序对话框如下所示。不管你决定怎么做,你的主程序应该包括调用一个过程或函数(至少一个......)来解决这个问题。

让我计算一个球体的表面积!给我 r:1 表面积 = 12.57

让我计算一个球体的表面积!给我 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) 代码行。我要做的是将 4 乘以 pi,然后将结果乘以上面计算的 r 平方。我得到的错误是:

语法错误,意外的“.”。

感谢您的帮助。

4

0 回答 0