Всё просто: КодВижен компилирует С-шные файлы не в объектные, как это делают все нормальные компиляторы, а в один большой ассемблерный файл. Причём имена регистров, портов и т.п. туда не экспортирует, а заменяет их адресами. Когда Вы делаете ассемблерную вставку в С-шный код (+)
она без изменений переносится в вышеупомянутый ассемблерный файл. А там про имена портов ничего не известно и генерируется ошибка. Что бы этого небыло, имена портов нужно описать и в ассемблере то же.