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
Lesezeichen