Hab trotzdem noch ein bißchen mit dem Simulator gespielt.

Dort bringt ein Shift auf eine negative Zahl ein um 1 niedrigeres Ergebnis als die entsprechende Division, wenn die Division nicht ganzzahlig aufgeht.

temp = -65536
SHIFT temp , right , 15 , signed
ergibt -2

temp = -65536
temp = temp / 32768
ergibt auch -2

aber

temp = -65535
SHIFT temp , right , 15 , signed
ergibt -2

temp = -65535
temp = temp / 32768
ergibt -1


Also doch nicht so ohne weiteres ersetzbar


Gruß
Searcher