Sua premissa é falha. Se você usasse uma linguagem de alto nível que fosse compilada em um binário simples com exatamente os mesmos opcodes que o assembler feito à mão, esse programa seria executado exatamente da mesma forma. O problema é que essas condições nunca acontecem realmente.
Todo programa C tem código de bootstrap no começo (antes de você chegar ao main), então imediatamente há opcodes extras. Se você chamar uma função, as convenções de chamada C podem ser menos otimizadas do que as chamadas de montagem especializadas, que podem variar de acordo com a função. Finalmente, os opcodes gerados por um compilador dentro de qualquer função são diferentes de hand-assembler; às vezes melhor e às vezes pior, dependendo da capacidade dos escritores do compilador versus o programador de montagem. Então, "montagem é sempre melhor" também não é verdade.
Por exemplo, um compilador pode desenrolar um loop para torná-lo mais rápido. No montador, você pode fazer a mesma coisa com uma macro; mas o programador da montagem iria a esse problema?