|
@@ -89,7 +89,6 @@ unit cgcpu;
|
|
|
procedure a_loadaddr_ref_reg(list : TAsmList;const ref : treference;r : tregister);override;
|
|
|
|
|
|
procedure g_concatcopy(list : TAsmList;const source,dest : treference;len : tcgint);override;
|
|
|
- procedure g_concatcopy_move(list : TAsmList;const source,dest : treference;len : tcgint);
|
|
|
|
|
|
procedure g_overflowcheck(list: TAsmList; const l: tlocation; def: tdef); override;
|
|
|
|
|
@@ -1869,34 +1868,6 @@ unit cgcpu;
|
|
|
end;
|
|
|
|
|
|
|
|
|
- procedure tcgz80.g_concatcopy_move(list : TAsmList;const source,dest : treference;len : tcgint);
|
|
|
- var
|
|
|
- paraloc1,paraloc2,paraloc3 : TCGPara;
|
|
|
- pd : tprocdef;
|
|
|
- begin
|
|
|
- pd:=search_system_proc('MOVE');
|
|
|
- paraloc1.init;
|
|
|
- paraloc2.init;
|
|
|
- paraloc3.init;
|
|
|
- {$warning TODO: implement!!!}
|
|
|
- //paramanager.getintparaloc(list,pd,1,paraloc1);
|
|
|
- //paramanager.getintparaloc(list,pd,2,paraloc2);
|
|
|
- //paramanager.getintparaloc(list,pd,3,paraloc3);
|
|
|
- a_load_const_cgpara(list,OS_SINT,len,paraloc3);
|
|
|
- a_loadaddr_ref_cgpara(list,dest,paraloc2);
|
|
|
- a_loadaddr_ref_cgpara(list,source,paraloc1);
|
|
|
- paramanager.freecgpara(list,paraloc3);
|
|
|
- paramanager.freecgpara(list,paraloc2);
|
|
|
- paramanager.freecgpara(list,paraloc1);
|
|
|
- alloccpuregisters(list,R_INTREGISTER,paramanager.get_volatile_registers_int(pocall_default));
|
|
|
- a_call_name_static(list,'FPC_MOVE');
|
|
|
- dealloccpuregisters(list,R_INTREGISTER,paramanager.get_volatile_registers_int(pocall_default));
|
|
|
- paraloc3.done;
|
|
|
- paraloc2.done;
|
|
|
- paraloc1.done;
|
|
|
- end;
|
|
|
-
|
|
|
-
|
|
|
procedure tcgz80.g_concatcopy(list : TAsmList;const source,dest : treference;len : tcgint);
|
|
|
var
|
|
|
countreg,tmpreg,srcreg,dstreg: tregister;
|