уж извините, что ворошу старую память, но не вкуриваю как правильно считать такты

вот пример:
movc A,@A+DPTR
пруфы keil и gaw говорят, что 2 машинных цикла, но IAR 8.10 for 8051 в дизассемблере показал 3 !

И вот еще
mov A,R0 ; size=1 osc=12tick`s должен быть 1 машинный такт, IAR подтверждает
mov A,#12 ; size=2 osc=12tick`s должен быть 1 машинный такт, IAR говорит что 2
mov R0,13 ; size=2 osc=24tick`s должно быть 2 машинных такта, IAR говорит что 4 !



Add:
uVision3 от Keil показал результаты, сходные с ДШ на instruction Set

так что виню IAR или свои руки, вопрос пока закрыт