Sicher:
%Vor% Der sar
Opcode unterscheidet sich von shr
darin, dass das höchstwertige (Vorzeichen-) Bit in sar
beibehalten wird und in shr
auf 0 gesetzt wird. Die Wikipedia-Seite Arithmetische Verschiebung zeigt viel detailliertere Informationen über diese Operation in einem allgemeinen Kontext.
Beachten Sie, dass auf einem Zweierkomplement-Rechner (der x86 ist) tatsächlich floor(eax / 2)
berechnet wird. Das bedeutet insbesondere, dass für eine Ganzzahl x gilt:
Das letztere Ergebnis liefert Ergebnisse, die unerwartet sein können. Zum Beispiel ergibt -3 sar 1 -2, nicht -1. Auf der anderen Seite führt 3 sar 1 zu 1.