[an error occurred while processing this directive]
(RD0=1),(RD0=0) работает потому, что трактуется как выражение. RD0=1,asm("nop"),RD0=0 выражением не является: asm("nop") - не возвращает значения. Смотри Peter K & RTFM.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)