Commit Diff


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;
 			}