From 300a872d4041bd4ee19455c58cc89ed5dce81057 Mon Sep 17 00:00:00 2001 From: frief Date: Sat, 22 Mar 2003 21:39:01 +0000 Subject: [PATCH] (genCodePointerGet): quicker code for bug #700797 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2409 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/mcs51/gen.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/mcs51/gen.c b/src/mcs51/gen.c index 638ad61b..8ca01753 100644 --- a/src/mcs51/gen.c +++ b/src/mcs51/gen.c @@ -7522,11 +7522,19 @@ genCodePointerGet (operand * left, while (size--) { - emitcode ("clr", "a"); - emitcode ("movc", "a,@a+dptr"); - aopPut (AOP (result), "a", offset++); - if (size || pi) - emitcode ("inc", "dptr"); + if (pi) + { + emitcode ("clr", "a"); + emitcode ("movc", "a,@a+dptr"); + aopPut (AOP (result), "a", offset++); + emitcode ("inc", "dptr"); + } + else + { + emitcode ("mov", "a,#0x%02x", offset); + emitcode ("movc", "a,@a+dptr"); + aopPut (AOP (result), "a", offset++); + } } } -- 2.30.2