В синтаксисе intel регистр / адрес получателя идет первым в списке операндов, а источник - вторым.
mov rcx, rcxofFirst ; loads rcx with rcxofFirst.
Вы перепутали порядок своих операндов.Также вы, кажется, пишете 16-битную сборку с int 21h, которая используется в DOS.