Transferência de dados na linguagem assembly

5

Movendo dados na linguagem assembly:

MOV B, A

Se eu mover o conteúdo do registro interno A para o registro B, o que acontece com o conteúdo do registro A? É eliminado? Permanece inalterado?

    
por Lu Ka 21.11.2016 / 21:48
fonte

2 respostas

2

O comando MOV deixará o conteúdo do registrador A sozinho. De alguma documentação x86 (ênfase adicionada):

The mov instruction copies the data item referred to by its second operand (i.e. register contents, memory contents, or a constant value) into the location referred to by its first operand (i.e. a register or memory).

link

Existem muitas outras linguagens assembly, mas você pode contar com a maioria das linguagens modernas trabalhando da mesma maneira.

    
por 21.11.2016 / 22:00
fonte
2

A resposta depende muito da CPU e da linguagem assembly que você está segmentando:

A fonte é mantida inalterada para um movimento.

Por curiosidade e nostalgia, alguns processadores antigos também usaram outras covetas:

  • o bom e velho PDP11 (ok, há pouco risco de você ter como alvo isso hoje em dia) tinha o move na outra direção : MOV source, target
  • a família ainda antiga do Motorala 68K tinha um MOVE source, target
  • o PowerPC não tinha MOV , mas usa diversas variantes de carrega e armazena , o primeiro usando targe, source e a segunda fonte, target. Ele também tinha várias variantes de movimento, mas chamou de maneira diferente a manutenção da convenção de nomenclatura apenas na primeira letra.
por 22.11.2016 / 00:53
fonte

Tags