I think there will need to be some sort of "rotation counting function" which measures how many full rotations (200 steps) the motor has taken to determine where the nut is within the zero to 64 rotation range.
You need to develop this function.
if (sensorReading = 0);
The sensorReading variable is assigned the value 0 (= is an assignment operator; == is the equality operator). The result of the assignment is the value assigned. So, the if statement is equivalent to if(0);.
The code to be executed if the test is true is ;. That is probably not what you want. I suspect you want this:
if (sensorReading == 0)
delay(10); // delay to avoid overloading the serial port buffer
There is no buffer for outgoing data, so this comment is wrong.