En programmation informatique, une instruction nulle (ou instruction vide) est une instruction particulière, qui dicte à l'ordinateur de n'effectuer aucune action. L'instruction nulle, implémentée dans le jeu d'instructions de beaucoup de processeurs a pour seul effet d'incrémenter le compteur ordinal. Elle est donc ignorée par le processeur, qui passe à l'instruction suivante. Elle est symbolisée en assembleur par le mnémonique NOP. NOP En Pascal, l'instruction nulle est l'instruction qui n'est constituée d'aucun symbole. C'est une instruction vide. Par exemple, comme les instructions sont séparées par des points-virgules, deux points-virgules successifs délimitent en fait une instruction nulle. Une instruction nulle est fréquemment ajoutée (souvent inconsciemment) à la fin d'une séquence d'instructions dans un bloc Begin-End par les programmeurs qui prennent l'habitude de faire suivre toutes les instructions par un point-virgule, même la dernière. Un point-virgule mal placé peut provoquer une confusion : while n > 0 do ; begin n := n - 1 ; f := f * n ; end Dans cet exemple, le point-virgule ajouté par mégarde après do indique que l'instruction à répéter dans la boucle while est l'instruction nulle. Le bloc Begin-End ne sera exécuté qu'après la fin de la boucle (donc jamais si n est strictement positif, car ce sera en fait une boucle infinie). Par contre, le point-virgule inutile après la deuxième ligne du bloc est inoffensif et ne fait qu'y ajouter une instruction nulle sans effet. Contrairement à l'exemple précédent, il peut être utile de mettre une instruction nulle dans une boucle pour attendre qu'une condition se réalise avant de continuer l'exécution : repeat until KeyPressed ou while not KeyPressed do Mais si l'on veut faire suivre la boucle ci-dessus d'une instruction, il ne faudra pas oublier d'ajouter un point-virgule. Le compilateur détectera l'oubli dans le premier cas, mais dans le deuxième, il considérera l'instruction suivante comme faisant partie de la boucle.