Wenn es noch jemanden interessiert, ich konnte das Mysterium mit diesem "1-cycle-shift right" klären:


Bascom 1.11.8.1 meckert den Shift -Befehl an (weil ihm die Variable nicht passt)

Bascom 1.11.9.2 meckert NICHT, sondern lässt den Befehl einfach aus !

Bei "Shift , D1 , Right , 3"
lädt er zwar noch r25 mit "3"
( LDI r25,0x03 --> 1 Cycle )
aber das wars's dann auch.

Code:
//----------D3 = D1 / D2                                                '1760
	LDI	XL,0x9F			D3
	LDI	XH,0x00
	ST	-Y,XH
	ST	-Y,XL
	LDI	XL,0x97			D2
	LDI	XH,0x00
	LDI	ZL,0x87			D1
	LDI	ZH,0x00
	CALL	L_0x06A4
	ADIW	YL,0x0002

//------------------Shift , D1 , Right , 3                                      '1
	LDI	r25,0x03
	?????
	JMP	L_0x011E	                       //LOOP:
.DB	0xF8, 0x94	;..
L_0x03FE:                                                         //END
	RJMP	L_0x03FE

.DB	0x09, 0xD0, 0x0E, 0x94, 0xE5, 0x04	;......
Ich habe mir das Programm von @mycroc übersetzt und disassembliert, weil mir die Sache seltsam vorkam, der relevante Ausschnitt ist oben.
Wenn jemand das komplette Assembler-listen sehen will, --> sprechen