Ein RMW-Befehl (RMW steht für engl. read-modify-write = lesen-ändern-schreiben) bezeichnet in der Informatik einen Prozessorbefehl, der einen Datenwert aus dem Speicher lädt (Read), ihn durch irgend eine Berechnung verändert (Modify) und den veränderten Wert an derselben oder einer anderen Stelle im Speicher wieder ablegt (Write).
Frühere Prozessoren konnten während eines Befehls nur einmal auf den Speicher zugreifen. Genauer muss man allerdings formulieren, dass damit der Datenspeicher gemeint ist, denn auch das Programm, das den Prozessor steuert, liegt in einem Speicherbereich und muss vom Prozessor gelesen werden, was in der Regel ebenfalls einen Speicherzugriff erfordert.
Bei nur einem möglichen Datenspeicherzugriff pro Befehl konnte man also den Prozessor beispielsweise nicht anweisen, den Wert 17 zur Speicherstelle 42 hinzuzuaddieren, denn dazu hätte er zuerst den Inhalt der Speicherstelle 42 laden müssen, 17 addieren und das Ergebnis in einem zweiten Speicherzugriff wieder in der Speicherstelle 42 ablegen sollen.
Prominentes Beispiel für einen frühen Prozessor mit RMW-Befehlen ist der 6502 aus den 1970er Jahren. Zwar konnte er noch nicht, wie im obigen Beispiel, einen beliebigen Wert zu einer Speicherstelle addieren, aber mit den Befehlen INC und DEC hatte er immerhin die Möglichkeit, eine Speicherstelle um Eins hoch (INCrement) bzw. runter zu zählen (DECrement).