Servo library problem

Hi!
I was testing my servo motor with code below and I found strange behavior on servo library.

#include <Servo.h>

Servo servo;

void setup() {
  Serial.begin(9600);
  servo.attach(13, 500, 2400); //[A]

  servo.write(0);
  Serial.println(servo.readMicroseconds());
  
  delay(1000);
  
  servo.write(180);
  Serial.println(servo.readMicroseconds());
  delay(1000);

}

void loop() {
}

I was changing parameters on line 7 (indicated with comment [A]) in order to test my motor.
At first, I put parameters as “servo.attach(13, 500, 2400);”, serial monitor indicates 2 values, 500 and 2400. It seems fine.
When parameters are “servo.attach(13, 1000, 1900);”, serial monitor indicates 1000 and 1900. It seems still good.
But, I put “servo.attach(13, 1100, 1800);”, serial monitor indicates strange values, 72 and 2824.

What’s happening? Is this a library’s bug?

I’m using this servo motor.
http://www.yinyanmodel.com/En/ProductView.asp?ID=268
I think I need to set pulse width range as 1500-1900. ( servo.attach(13, 1500, 1900); )
But because of this problem, pulse width range is set 476-1900 actually.

I’m using Arduino Uno and IDE 1.6.9.

The instance variables min and max in the servo library are 8 bit ints. They record the difference from default MIN and MAX values in units of 4us, so you can only vary each limit by +/- 508us.

Thank you, MarkT. I understand it!