Un poco mas
El que utilicemos un leguaje de alto nivel es precisamente para olvidarnos de esos cálculos.
Pauseus/ms, el compilador del lenguaje se encarga de reajustar los cálculos necesarios para que siempre sean eso us/ms, y para ese reajuste de la rutina necesita por supuesto que se le informe al compilador de la velocidad a la que funciona el micro, F.cristal, (internamente F. Cristal/4 es lo que tarda el micro en realizar una instrucción exceptuando las de salto que tardan el doble, por supuesto me refiero a instrucciones maquina, programación en bajo nivel).
Así que para saber la precisión de la rutina, pues esto es difícil, la rutina no es exacta, habría que desensamblar la compilación de la rutina contar el numero de instrucciones de la que esta compuesta y añadir este tiempo como error al calculo anterior que te indican, y después esta el error al calculo inherente al cristal, ya que es difícil conseguir los tiempos exactos, dependiendo de la frecuencia del cristal... todo esto son errores acumulados en la rutina, que genera el comando pause, cuando es compilado... por lo que la precisión del comando varia de una versión de Basic a otro, todo esta en la fineza que haya tenido el programador que diseño el Basic... por eso cuando se quiere mayor precisión la rutina pause hay que fabricarla uno mismo... pero normalmente el error suele ser muy pequeño, también este error se puede disminuir usando un cristal de una frecuencia rara que nos de un múltiplo exacto del tiempo mínimo que usamos como base de tiempos para hacer el calculo del pause.