From d305f8e44cff480b418bb67156fd1fe579ce5fa0 Mon Sep 17 00:00:00 2001 From: Leo Date: Mon, 26 Jul 2010 06:28:08 +0000 Subject: [PATCH] * avr/z80.asm: - Interpreter: inc/dec optimization. git-svn-id: svn://cu.loc/avr-cpm/trunk@53 57430480-672e-4586-8877-bcf8adbbf3b7 --- avrcpm/avr/z80.asm | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/avrcpm/avr/z80.asm b/avrcpm/avr/z80.asm index 3d5f0b8..2be56aa 100644 --- a/avrcpm/avr/z80.asm +++ b/avrcpm/avr/z80.asm @@ -2611,6 +2611,8 @@ do_store_am: .equ OP_EI = (38<<10) .equ OP_INV = (39<<10) .equ OP_CPFA = (40<<10) +.equ OP_INCA = (41<<10) +.equ OP_DECA = (42<<10) opjumps: rjmp do_op_nop @@ -2654,6 +2656,8 @@ opjumps: rjmp do_op_ei rjmp do_op_inv rjmp do_op_cpfa + rjmp do_op_inca + rjmp do_op_deca ;How the flags are supposed to work: @@ -2933,15 +2937,27 @@ do_op_nop: ; ; do_op_inc: - ldi temp,1 - add opl,temp + inc opl +#if EM_Z80 in temp, sreg +#endif andi z_flags,(1<