уж извините, что ворошу старую память, но не вкуриваю как правильно считать такты
вот пример:
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 или свои руки, вопрос пока закрыт