ack/mach/i386/libem
George Koehler f6a1e08218 Test long long division and remainder; fix i386.
My i386 code from 893df4b gave the wrong sign to some 8-byte
remainders.  Fix by splitting .dvi8 and .rmi8 so each has its own code
to pick the sign.  They and .dvu8 and .rmu8 share a private sub
.divrem8 for unsigned division.

Improve the i386 code by using instructions like _bsr_ and _shrd_.
Change the helpers to yield a quotient in ebx:eax or a remainder in
ecx:edx; this seems more convenient, because _div_ puts its quotient
in eax and remainder in edx.
2019-09-16 20:19:36 -04:00
..
adi.s Initial revision 1989-01-19 16:43:32 +00:00
and.s Initial revision 1989-01-19 16:43:32 +00:00
blm.s Initial revision 1989-01-19 16:43:32 +00:00
build.lua Test long long division and remainder; fix i386. 2019-09-16 20:19:36 -04:00
cii.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
cms.s Initial revision 1989-01-19 16:43:32 +00:00
com.s Initial revision 1989-01-19 16:43:32 +00:00
csa4.s Initial revision 1989-01-19 16:43:32 +00:00
csb4.s Initial revision 1989-01-19 16:43:32 +00:00
cuu.s Initial revision 1989-01-19 16:43:32 +00:00
divrem8.s Test long long division and remainder; fix i386. 2019-09-16 20:19:36 -04:00
dup.s Initial revision 1989-01-19 16:43:32 +00:00
dvi.s Initial revision 1989-01-19 16:43:32 +00:00
dvi8.s Test long long division and remainder; fix i386. 2019-09-16 20:19:36 -04:00
dvu.s Initial revision 1989-01-19 16:43:32 +00:00
dvu8.s Test long long division and remainder; fix i386. 2019-09-16 20:19:36 -04:00
error.s use pusha and popa instructions, and on the proper place 1989-02-08 15:47:22 +00:00
exg.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
fat.s No system-calls from libem 1992-06-30 11:39:12 +00:00
fp8087.s Header --> Id 1994-06-24 14:02:31 +00:00
gto.s Initial revision 1989-01-19 16:43:32 +00:00
iaar.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
ilar.s Initial revision 1989-01-19 16:43:32 +00:00
inn.s Initial revision 1989-01-19 16:43:32 +00:00
ior.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
isar.s Initial revision 1989-01-19 16:43:32 +00:00
lar4.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
LIST No system-calls from libem 1992-06-30 11:39:12 +00:00
loi.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
mli.s Initial revision 1989-01-19 16:43:32 +00:00
mli8.s Experiment with 8-byte integers in ncg i386. 2019-08-20 13:38:18 -04:00
mon.s No system-calls from libem 1992-06-30 11:39:12 +00:00
ngi.s Initial revision 1989-01-19 16:43:32 +00:00
nop.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
print.s New installation mechanism 1991-09-02 15:08:48 +00:00
rck.s Initial revision 1989-01-19 16:43:32 +00:00
rmi.s Initial revision 1989-01-19 16:43:32 +00:00
rmi8.s Test long long division and remainder; fix i386. 2019-09-16 20:19:36 -04:00
rmu.s Initial revision 1989-01-19 16:43:32 +00:00
rol.s Initial revision 1989-01-19 16:43:32 +00:00
ror.s Initial revision 1989-01-19 16:43:32 +00:00
sar4.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
sbi.s Initial revision 1989-01-19 16:43:32 +00:00
set.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
sli.s Initial revision 1989-01-19 16:43:32 +00:00
sri.s Initial revision 1989-01-19 16:43:32 +00:00
sti.s many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
strhp.s No system-calls from libem 1992-06-30 11:39:12 +00:00
trp.s No system-calls from libem 1992-06-30 11:39:12 +00:00
unknown.s Initial revision 1989-01-19 16:43:32 +00:00
xor.s Initial revision 1989-01-19 16:43:32 +00:00