Executando verificação de segurança...
Respondendo a [Não disponível] dentro da publicação Você definitivamente deveria aprender C e esses são os motivos:
1

Sim, são coisas muito diferentes. C é uma linguagem de alto nível e Assembly linguagem de baixo nível, por isso a diferença absurda entre as duas.

[...]mas uma é de montagem e a outra é de propósito geral[...]

"De montagem" não é um "tipo" de linguagem. Quando as pessoas dizem que "Assembly é linguagem de montagem" é um erro de tradução. Assembly é, de fato, a palavra montagem em Inglês. Portanto em Inglês "Assembly language" é traduzido para "linguagem de montagem". Confira no Google Tradutor:

translate

E ser ou não uma linguagem de propósito geral não tem nada a ver com o assunto. O oposto de "linguagem de propósito geral" é "linguagem de propósito específico" e não "linguagem de montagem". Exemplos de linguagens de propósito específico são: AWK, SQL, RegExp etc.

[...]muito do que chamamos de "Assembly" só fazem sentido em Assembly x86

Na introdução do meu livro explica isso muito bem. Não existe "uma" linguagem Assembly. O ponto é que Assembly é uma notação em formato de texto para o código de máquina da arquitetura. E como cada arquitetura diferente têm um código de máquina diferente, por consequência disso o Assembly de cada arquitetura será diferente.

É por isso que Assembly é considerado linguagem de baixo nível. Veja que cada instrução Assembly é de fato uma instrução real do processador, porém em notação em formato de texto. Que é diferente de uma linguagem de alto nível como C, onde as instruções não refletem em nada instruções reais do processador. São instruções totalmente abstratas projetadas para um modelo de máquina abstrata. Que é isso que a gente chama de linguagem de alto nível.

Carregando publicação patrocinada...