1. In a data processor which executes instructions and has a plurality of storage locations, a method for changing a value at a first storage location and a value at a second storage location, the method comprising the steps of: storing at a third storage location the value at the first location; storing at a fourth storage location the value at the second location; storing a selected first swap value at a fifth storage location; storing a selected second swap value at a sixth storage location; and then executing an instruction which performs in an uninterruptable sequence the steps of: comparing the value at the third storage location to the value at the first storage location; comparing the value at the fourth storage location to the value at the second storage location; and if both of the values at the third and fourth storage locations are the same as the respective values at the first and second storage locations; replacing the value at the first storage location with the first swap value; and replacing the value at the second storage location with the second swap value.