summaryrefslogtreecommitdiff
path: root/bcc/softop.c
diff options
context:
space:
mode:
Diffstat (limited to 'bcc/softop.c')
-rw-r--r--bcc/softop.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/bcc/softop.c b/bcc/softop.c
index acb7b27..dcfa8ae 100644
--- a/bcc/softop.c
+++ b/bcc/softop.c
@@ -219,7 +219,16 @@ struct symstruct *target;
{
case DIVOP:
#ifdef I8088
- call("idiv_");
+ if (uflag)
+ call("idiv_");
+ else {
+ if (i386_32)
+ outnop1str("cdq");
+ else
+ outnop1str("cwd");
+ outop2str("idiv\t");
+ outregname(INDREG0);
+ }
#else
call("idiv");
#endif