[an error occurred while processing this directive]
Разумеется. Но в синтаксисе push/pop x51 ВСЕГДА должен указываться direct адрес, а не имя регистра - например, push 0. А push r0 вызывает именно такую реакцию - "ILLEGAL ASSIGNMENT. THIS REGISTER HAS MORE THAN 1 VALUE"
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)