Por que as classes de armazenamento estático e de registro não podem ser usadas juntas?

Ao definir uma variável da seguinte maneira:

static register int a1 = 0;

nós obtemos o erro:

error: multiple storage classes in declaration specifiers

Existe alguma razão fundamental para esse erro? Por que uma variável não pode ser armazenada em um registro e também ser inicializada apenas na inicialização / primeira chamada?É possível anexar a classe de armazenamento de registro a uma variável global. <- editar: não é verdade

questionAnswers(3)

yourAnswerToTheQuestion