* draft for qword mul

This commit is contained in:
florian 2004-03-14 21:45:11 +00:00
parent 9594866b30
commit bca9da0ec7
2 changed files with 26 additions and 3 deletions

View File

@ -117,7 +117,10 @@ end;
{ {
$Log$ $Log$
Revision 1.5 2004-01-21 23:12:07 florian Revision 1.6 2004-03-14 21:45:11 florian
* draft for qword mul
Revision 1.5 2004/01/21 23:12:07 florian
+ get_caller_addr/frame implemented + get_caller_addr/frame implemented
Revision 1.4 2004/01/20 21:01:57 florian Revision 1.4 2004/01/20 21:01:57 florian
@ -135,4 +138,4 @@ end;
Revision 1.1 2003/08/21 16:41:54 florian Revision 1.1 2003/08/21 16:41:54 florian
* empty dummy files * empty dummy files
+ [long|set]jmp implemented + [long|set]jmp implemented
} }

View File

@ -14,8 +14,28 @@
**********************************************************************} **********************************************************************}
{!!!!
function fpc_mul_qword(f1,f2 : qword;checkoverflow : longbool) : qword;[public,alias: 'FPC_MUL_QWORD']; {$ifdef hascompilerproc} compilerproc; {$endif}
asm
mov r6,#0
umull r4,r5,r0,r2
umlal r5,r6,r0,r3
{ overflow? }
or r0,r1,r3
umlal r5,r6,r1,r2
{ check for overflow }
ors r6,r6,r0
mov r0,r4
mov r1,r5
end;
}
{ {
$Log$ $Log$
Revision 1.1 2003-11-03 17:28:21 florian Revision 1.2 2004-03-14 21:45:11 florian
* draft for qword mul
Revision 1.1 2003/11/03 17:28:21 florian
* initial revision * initial revision
} }