From f78fef23a2515d5e997bb6fbe1276181967dcc88 Mon Sep 17 00:00:00 2001 From: nickysn Date: Sat, 18 Apr 2020 14:20:17 +0000 Subject: [PATCH] + implemented tz80reader.is_register git-svn-id: branches/z80@44780 - --- compiler/z80/raz80asm.pas | 54 ++++++++------------------------------- 1 file changed, 11 insertions(+), 43 deletions(-) diff --git a/compiler/z80/raz80asm.pas b/compiler/z80/raz80asm.pas index 2d0f2deaed..1e9090b947 100644 --- a/compiler/z80/raz80asm.pas +++ b/compiler/z80/raz80asm.pas @@ -61,7 +61,7 @@ Unit raz80asm; tz80reader = class(tasmreader) actasmtoken : tasmtoken; //function is_asmopcode(const s: string):boolean;override; - //function is_register(const s:string):boolean;override; + function is_register(const s:string):boolean; //procedure handleopcode;override; //procedure BuildReference(oper : tz80operand); //procedure BuildOperand(oper : tz80operand); @@ -91,48 +91,16 @@ Unit raz80asm; ; - //function tz80attreader.is_register(const s:string):boolean; - // type - // treg2str = record - // name : string[2]; - // reg : tregister; - // end; - // - // const - // extraregs : array[0..8] of treg2str = ( - // (name: 'X'; reg : NR_R26), - // (name: 'XL'; reg : NR_R26), - // (name: 'XH'; reg : NR_R27), - // (name: 'Y'; reg : NR_R28), - // (name: 'YL'; reg : NR_R28), - // (name: 'YH'; reg : NR_R29), - // (name: 'Z'; reg : NR_R30), - // (name: 'ZL'; reg : NR_R30), - // (name: 'ZH'; reg : NR_R31) - // ); - // - // var - // i : longint; - // - // begin - // result:=inherited is_register(s); - // { reg found? - // possible aliases are always 2 char - // } - // if result or (not (length(s) in [1,2])) then - // exit; - // - // for i:=low(extraregs) to high(extraregs) do - // begin - // if s=extraregs[i].name then - // begin - // actasmregister:=extraregs[i].reg; - // result:=true; - // actasmtoken:=AS_REGISTER; - // exit; - // end; - // end; - // end; + function tz80reader.is_register(const s:string):boolean; + begin + is_register:=false; + actasmregister:=std_regnum_search(lower(s)); + if actasmregister<>NR_NO then + begin + is_register:=true; + actasmtoken:=AS_REGISTER; + end; + end; //procedure tz80reader.ReadSym(oper : tz80operand);