Because we are loading the DECIMAL value to the TH1. In case if you want to load a HEX value, then you need to subtract the number 3 or 6 or whatever it is for the respective Baud rate, you will get the respective HEX value, to avoid the complexity of calculation, you can directly load the DECIMAL value with the -ve sign indicating the same meaning to the compiler. If you want you can cross check with this.