let's not be too efficient
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 15 Mar 2001 20:10:31 +0000 (20:10 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 15 Mar 2001 20:10:31 +0000 (20:10 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@685 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/ds390/gen.c
src/mcs51/gen.c

index 57515424c1fa96ce9f7997d1c5f01e3dd5a637c5..6907101c0120930767f8a2cc5f69670de57df0b0 100644 (file)
@@ -3770,8 +3770,10 @@ genMultOneByte (operand * left,
   emitcode ("jnb", "F0,%05d$", lbl->key+100);
   // only ONE op was negative, we have to do a 8/16-bit two's complement
   emitcode ("cpl", "a"); // lsb
-  emitcode ("inc", "a");
-  if (size==2) {
+  if (size==1) {
+    emitcode ("inc", "a");
+  } else {
+    emitcode ("add" "a,#1");
     emitcode ("xch", "a,b");
     emitcode ("cpl", "a"); // msb
     emitcode ("addc", "a,#0");
index d4ef962c378069d78f24af50f3500b004d522556..fe0fd2b0ec9b5c2b71470c11bb22e0526773e3fc 100644 (file)
@@ -3330,8 +3330,10 @@ genMultOneByte (operand * left,
   emitcode ("jnb", "F0,%05d$", lbl->key+100);
   // only ONE op was negative, we have to do a 8/16-bit two's complement
   emitcode ("cpl", "a"); // lsb
-  emitcode ("inc", "a");
-  if (size==2) {
+  if (size==1) {
+    emitcode ("inc", "a");
+  } else {
+    emitcode ("add", "a,#1");
     emitcode ("xch", "a,b");
     emitcode ("cpl", "a"); // msb
     emitcode ("addc", "a,#0");