And also,

ZXNet echo conference «code.zx»

From Valery Grigoriev To All 2 December 2005

Hello,GriV even 10 direct calls via Call can already lead to winnings compared to Call system on Jp. What if there are a lot of them? What if there are a lot of them? And in general, once again - the process of “patching” itself compared to time program loading (which is required) is about 5-10% (for average executive files - for games and dem this figure will be significantly less) - i.e. you downloaded the program, your flopper hasn’t stopped spinning yet the program is already configured - there are only direct Calls and no table in There is no more memory - the purest program. After this, ALL functions are performed quickly - because there are no additional transitions, etc. That. my assessment (plus denotes advantages and minus disadvantages): 1. RST - too slow (-) although it may seem convenient (+) - for each call it takes about 200(-) clock cycles (maybe a little faster) to determine where passed the call; may return with an error (+) - if there is no specified function. Used in old programs as a legacy of the PC interrupt system monsters. The least amount of memory is required to call (+) - about 3 bytes, allows you to take apart procedures from ROM as you like, internal translator addresses will calculate everything and do it (+). 2. Method of set jump points - Jp (Call) to the Jp table inside the ROM - requires about 5-6 bytes from the program (-), but works very quickly (+)compared to the previous version. Conventionally, 20/26 clock cycles are spent per call procedures. Passing parameters (loading registers) requires additional(-) investments (somewhere up to 50 clock cycles maximum), the compiler is required consistency with the ROM version (-), because a direct call/change to ROM can lead to a fatal outcome(?-), almost impossible to control "wrong" calls/transitions (-). An additional table in ROM(-) is required. 3. Direct call method with preset. Implies the presence in table file for correcting call addresses (-) - which requires additional space on the media (4 bytes per point). Requires preliminary setup (-), about 100 clock cycles per call point, but only one setup takes place times(?+), it is not executed anymore. Requires 5-6 bytes for its work (-). Call execution speed is the highest (+) - it simply doesn’t get faster - 10/16 beats Loading registers to parameters increases(-) call time and memory allotted for calling conditionally up to 40 cycles. It is possible to track incorrect call (+) even at the stage of setting up calls - “incorrect transitions". An additional table in ROM(-) is required. I chose the third option for myself, and you? ;)

From Valery Grigoriev To All 21 August 2006

Hello,GriV I don’t quite understand why the duration of execution of basic operators is needed. Maybe compare the performance of different bass translators? Most likely you won’t find accurate information on operators’ working hours anywhere. - simply because no one needs it.