commit f66b5d9d004971b460d24ac4574ffc769b1a81e8 from: Benjamin Stürz date: Wed Oct 02 23:11:35 2024 UTC irc: implement EX_CALL for floats commit - bb11aed3fe91f10503b24b619478e33e407db0df commit + f66b5d9d004971b460d24ac4574ffc769b1a81e8 blob - 744ee87454f31e3f248f8b16e82b88116864b584 blob + e7791e2edc9e48feb579f2aad1c3a22c6770fd4f --- cc/irc/irc.c +++ cc/irc/irc.c @@ -2237,10 +2237,19 @@ struct expr *e; puts ("\tpush ax"); break; case DT_FLOAT: + puts ("\tsub sp, 4"); + puts ("\tmov bx, sp"); + puts ("\tfstp dword [bx]"); + break; case DT_DOUBLE: + puts ("\tsub sp, 8"); + puts ("\tmov bx, sp"); + puts ("\tfstp qword [bx]"); + break; case DT_LDOUBLE: - // TODO - error ("call not implemented for float arguments"); + puts ("\tsub sp, 10"); + puts ("\tmov bx, sp"); + puts ("\tfstp tword [bx]"); break; }