Notables extensiones al Pascal estándar incluyen Units compilables y el tipo String.
exploración en un arreglo para un patrón de búsqueda particular); otras extensiones del lenguaje fueron proporcionadas para permitir que el UCSD p-System fuera autocompilable (self-compiling) y auto-sostenido (self-hosted).
La p-Machine del UCSD Pascal fue optimizada para los pequeños nuevos microcomputadores con direccionamiento restringido a 16 bits (solamente 64 KB de memoria).
El UCSD p-System alcanzaba la independencia de la máquina real definiendo como su OS a una máquina virtual, llamada p-Machine (p-Máquina) (o pseudo-machine (pseudo-máquina), que muchos usuarios comenzaron en llamar la "Pascal-machine" (máquina Pascal), aunque la documentación del USCD siempre usó "pseudo-machine") con su propio conjunto de instrucciones llamado p-code (p-código) (o pseudo-code).
Versiones posteriores también incluyeron lenguajes adicionales que compilaron hacia la base del p-code.
Ambas usan una máquina virtual para ocultar diferencias del sistema operativo y del hardware, y ambas usan programas escritos hacia esa máquina virtual para proporcionar soporte de plataforma cruzada.
Una revisión del motor de p-code (es decir, la p-Machine) significaba un cambio al lenguaje del p-code, y por lo tanto el código compilado no es portable entre diferentes versiones de la p-Machine.