[hatari-devel] Head cycles : x + op head

laurent.sallafranque at free.fr laurent.sallafranque at free.fr
Mon Nov 21 11:35:55 CET 2011


Hi Mikro,

>From what I understand from the Motorola doc (chapter 11.3.4), I can read :

ADDI.L #$6000FF,D1

fiea #<data>.L,D1 4+op head 0 4
TOTAL : 6 0 4

ADDI #<data>,Dn 2(op head) 0 2


So, for me, I have to add twice the head of the operand when the head mention X + op head.
That's the way I've done it in the cycles table until now.

I still have 30 % cycles to add to complete the table.
My main problem now is that some instructions are given with a MAX number of cycles and not an exact number of cycles.

(DIV, MUL, ...).

I've played around with gembench (they do a test with DIVU.W Dx, Dy repeated a lot of time).
Actually, I get 60% of the speed of a Falcon.

I can use this test to "compute" an average value instead of the max value (which would be closer to reality).
The best would be to have the exact algo of the instruction to compute exact cycles (as it is done for the 68000), but nobody replied me (I asked in DHS forum).


The other problem is about the "full table cycles" instructions.
I still don't understand well when to use this table.

Maybe my first cycle table will be quite good, but will need to be fixed here and there.

Regards

Laurent







More information about the hatari-devel mailing list