Casa > Q > Quais São As Vantagens De Uma Linguagem De Montagem Na Programação Sobre Uma Linguagem De Máquina?

Quais são as vantagens de uma linguagem de montagem na programação sobre uma linguagem de máquina?

"Readability".

Linguagem assembly é muito mais legível e lembrada pelos humanos do que código de máquina (o que significaria escrever em 1's e 0's).

Para ser claro, vamos colocar essa questão também. O código da máquina não é na verdade 1's e 0's. Um computador não sabe nada sobre sistemas numéricos. São apenas estados de ligado e desligado dentro de portas lógicas dentro de circuitos integrados, que são bem representados por números binários (1's, 0's). A realidade é que programar em "linguagem de máquina" significaria alternar interruptores ou introduzir variedades de combinações on/off através da interface do teclado (que representamos como 1 e 0).

O meu ponto é ajudar a compreender que mesmo escrevendo isto:

MOV BL, AL => 10001000 11000011

Lado esquerdo é montagem, lado direito é binário

P>Even, neste caso o computador ainda não sabe nada sobre o que significa um "1" ou um "0". Ele não sabe realmente o que são números.

O binário do lado direito acima é na realidade apenas: on, off, off, off, on, off, off, off - on, on, on, off, off, off, off, on, on.

Existe uma série complexa de inúmeros bilhões dessas portas lógicas em CPU's modernas (5 bilhões+ nas últimas Intel's e AMD's). Há muito mais bilhões em outros chips nas placas gráficas e outros periféricos também. Essa série de portões lógicos sendo ligados e desligados diz à CPU para fazer uma operação de movimentação que irá mover o valor do operando de registro AL para o registro BL de destino. Quando eu digo que "diz" à CPU para fazer uma operação de movimentação que também é apenas mais uma série de instruções para ligar e desligar. O que acontece é que quando essa série particular de comutadores on/off são enviados/ocupados na CPU, ela começa a executar a operação MOV do conjunto de instruções da CPU (o que significa fazer muito mais lógica de comutação on/off que representa a instrução MOV real para aquela CPU - buscar os dados específicos de AL, carregá-lo em BL, ou outro local na memória, etc... )

De Windzer

Quão difícil é a linguagem de montagem e é muito mais difícil do que a linguagem C? :: Porque é que a linguagem de montagem depende da máquina?