Why doesn't he use the high byte?

Hey guys, I’ve been trying to figure out how to make one dynamixel copy another for a while and I finally saw this guy do it but I’m confused at how he does it. It says here that there’s a high and low byte for the present position of the dynamixels (see image). But he only uses the low byte. Would that only be a portion of the information? This is his code.

#include <ax12.h>
#include <BioloidController.h>
 
BioloidController bioloid = BioloidController(1000000);
 
int R2;
int R4;
int R6;
int R8;
 
void setup(){
// Initially moving all servos to default position.
  SetPosition(1, 512);
  SetPosition(2, 512);
  SetPosition(3, 512);
  SetPosition(4, 512);
  SetPosition(5, 512);
  SetPosition(6, 512);
  SetPosition(7, 512);
  SetPosition(8, 512);
// Turning torque off of the servos on one arm.
  Relax(2);    
  Relax(4);
  Relax(6);
  Relax(8);
  delay(1000);
}
 
void loop(){
// Reading "Present Position" register value, writing it to variable
  R2 = ax12GetRegister(2, 36, 2);
  R4 = ax12GetRegister(4, 36, 2);
  R6 = ax12GetRegister(6, 36, 2);
  R8 = ax12GetRegister(8, 36, 2);
// Using the "Present Position" values of one arm, writing them to other arm
  SetPosition(1, R2);
  SetPosition(3, R4);
  SetPosition(5, R6);  
  SetPosition(7, R8);  
  delay(20);
}

Could someone please tell me why? Thanks in advance. Also, in case it’s needed, this is the video I watched (Dynamixel Position Feedback Demo - YouTube) he has all the links in the description.

Hello,

The ax12GetRegister function's third parameter is the lenght of the reading, in this case 2 means the function will read 2 bytes. R2, R4 etc, are declared as int so they can hold those 2 bytes.

Oh, that makes sense, thanks!