Instruções no LEGv8 Flashcards

1
Q

Para que serve a instrução ADD?

A

A instrução ADD realiza a soma de dois registradores (X2 + X3) e armazena o resultado em um terceiro registrador (X1). Exemplo: ADD X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Para que serve a instrução SUB?

A

A instrução SUB realiza a subtração de dois registradores (X2 - X3) e armazena o resultado em um terceiro registrador (X1). Exemplo: SUB X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Para que serve a instrução ADDI?

A

A instrução ADDI soma um valor imediato (constante) a um registrador (X2 + 20) e armazena o resultado em outro registrador (X1). Exemplo: ADDI X1, X2, 20.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Para que serve a instrução SUBI?

A

A instrução SUBI subtrai um valor imediato (constante) de um registrador (X2 - 20) e armazena o resultado em outro registrador (X1). Exemplo: SUBI X1, X2, 20.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Para que serve a instrução ADDS?

A

A instrução ADDS soma dois registradores (X2 + X3), armazena o resultado em um terceiro registrador (X1) e atualiza os flags de condição. Exemplo: ADDS X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Para que serve a instrução SUBS?

A

A instrução SUBS subtrai dois registradores (X2 - X3), armazena o resultado em um terceiro registrador (X1) e atualiza os flags de condição. Exemplo: SUBS X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Para que serve a instrução ADDIS?

A

A instrução ADDIS soma um valor imediato a um registrador (X2 + 20), armazena o resultado em outro registrador (X1) e atualiza os flags de condição. Exemplo: ADDIS X1, X2, 20.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Para que serve a instrução SUBIS?

A

A instrução SUBIS subtrai um valor imediato de um registrador (X2 - 20), armazena o resultado em outro registrador (X1) e atualiza os flags de condição. Exemplo: SUBIS X1, X2, 20.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Para que serve a instrução MUL?

A

A instrução MUL multiplica dois registradores (X2 × X3) e armazena os 64 bits inferiores do produto em outro registrador (X1). Exemplo: MUL X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Para que serve a instrução SMULH?

A

A instrução SMULH multiplica dois registradores (X2 × X3) e armazena os 64 bits superiores do produto assinado em outro registrador (X1). Exemplo: SMULH X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Para que serve a instrução UMULH?

A

A instrução UMULH multiplica dois registradores (X2 × X3) e armazena os 64 bits superiores do produto não assinado em outro registrador (X1). Exemplo: UMULH X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Para que serve a instrução SDIV?

A

A instrução SDIV divide dois registradores (X2 / X3), tratando os valores como assinados, e armazena o resultado em outro registrador (X1). Exemplo: SDIV X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Para que serve a instrução UDIV?

A

A instrução UDIV divide dois registradores (X2 / X3), tratando os valores como não assinados, e armazena o resultado em outro registrador (X1). Exemplo: UDIV X1, X2, X3.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Para que serve a instrução LDUR?

A

A instrução LDUR carrega um valor de 64 bits da memória (endereço X2 + 40) em um registrador (X1). Exemplo: LDUR X1, [X2, 40].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Para que serve a instrução STUR?

A

A instrução STUR armazena um valor de 64 bits de um registrador (X1) na memória (endereço X2 + 40). Exemplo: STUR X1, [X2, 40].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Para que serve a instrução LDURSM?

A

A instrução LDURSM carrega um valor de 32 bits assinado da memória (endereço X2 + 40) em um registrador (X1), com extensão de sinal. Exemplo: LDURSM X1, [X2, 40].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Para que serve a instrução STURM?

A

A instrução STURM armazena um valor de 32 bits de um registrador (X1) na memória (endereço X2 + 40). Exemplo: STURM X1, [X2, 40].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Para que serve a instrução LDURH?

A

A instrução LDURH carrega um valor de 16 bits da memória (endereço X2 + 40) em um registrador (X1). Exemplo: LDURH X1, [X2, 40].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Para que serve a instrução STURH?

A

A instrução STURH armazena um valor de 16 bits de um registrador (X1) na memória (endereço X2 + 40). Exemplo: STURH X1, [X2, 40].

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Para que serve a instrução LDURB?

A

A instrução LDURB carrega um valor de 8 bits da memória (endereço X2 + 40) em um registrador (X1). Exemplo: LDURB X1, [X2, 40].

21
Q

Para que serve a instrução STURB?

A

A instrução STURB armazena um valor de 8 bits de um registrador (X1) na memória (endereço X2 + 40). Exemplo: STURB X1, [X2, 40].

22
Q

Para que serve a instrução LDXR?

A

A instrução LDXR carrega um valor da memória (endereço X2) de forma exclusiva (para operações atômicas) em um registrador (X1). Exemplo: LDXR X1, [X2, 0].

23
Q

Para que serve a instrução STXR?

A

A instrução STXR armazena um valor de um registrador (X1) na memória (endereço X2) de forma exclusiva (para operações atômicas) e retorna sucesso/falha em X3. Exemplo: STXR X3, X1, [X2].

24
Q

Para que serve a instrução MOVZ?

A

A instrução MOVZ carrega um valor imediato de 16 bits (20) em um registrador (X1), preenchendo o restante com zeros. Exemplo: MOVZ X1, 20.

25
Q

Para que serve a instrução MOVK?

A

A instrução MOVK carrega um valor imediato de 16 bits (20) em um registrador (X1), preservando os outros bits. Exemplo: MOVK X1, 20.

26
Q

Para que serve a instrução AND?

A

A instrução AND realiza uma operação lógica AND bit a bit entre dois registradores (X2 & X3) e armazena o resultado em outro registrador (X1). Exemplo: AND X1, X2, X3.

27
Q

Para que serve a instrução ORR?

A

A instrução ORR realiza uma operação lógica OR bit a bit entre dois registradores (X2 | X3) e armazena o resultado em outro registrador (X1). Exemplo: ORR X1, X2, X3.

28
Q

Para que serve a instrução EOR?

A

A instrução EOR realiza uma operação lógica XOR bit a bit entre dois registradores (X2 ^ X3) e armazena o resultado em outro registrador (X1). Exemplo: EOR X1, X2, X3.

29
Q

Para que serve a instrução ANDI?

A

A instrução ANDI realiza uma operação lógica AND bit a bit entre um registrador (X2) e um valor imediato (20), armazenando o resultado em outro registrador (X1). Exemplo: ANDI X1, X2, 20.

30
Q

Para que serve a instrução ORRI?

A

A instrução ORRI realiza uma operação lógica OR bit a bit entre um registrador (X2) e um valor imediato (20), armazenando o resultado em outro registrador (X1). Exemplo: ORRI X1, X2, 20.

31
Q

Para que serve a instrução EORI?

A

A instrução EORI realiza uma operação lógica XOR bit a bit entre um registrador (X2) e um valor imediato (20), armazenando o resultado em outro registrador (X1). Exemplo: EORI X1, X2, 20.

32
Q

Para que serve a instrução LSL?

A

A instrução LSL desloca os bits de um registrador (X2) para a esquerda por um valor imediato (10) e armazena o resultado em outro registrador (X1). Exemplo: LSL X1, X2, 10.

33
Q

Para que serve a instrução LSR?

A

A instrução LSR desloca os bits de um registrador (X2) para a direita por um valor imediato (10) e armazena o resultado em outro registrador (X1). Exemplo: LSR X1, X2, 10.

34
Q

Para que serve a instrução CBZ?

A

A instrução CBZ verifica se um registrador (X1) é igual a zero e, se for, desvia o fluxo do programa para um endereço relativo ao PC (PC + 4 + 100). Exemplo: CBZ X1, 25.

35
Q

Para que serve a instrução CBNZ?

A

A instrução CBNZ verifica se um registrador (X1) é diferente de zero e, se for, desvia o fluxo do programa para um endereço relativo ao PC (PC + 4 + 100). Exemplo: CBNZ X1, 25.

36
Q

Para que serve a instrução B.cond?

A

A instrução B.cond desvia o fluxo do programa para um endereço relativo ao PC (PC + 4 + 100) se uma condição específica for verdadeira. Exemplo: B.EQ 25 (salta se igual).

37
Q

Para que serve a instrução B?

A

A instrução B realiza um salto incondicional para um endereço relativo ao PC (PC + 4 + 10000). Exemplo: B 2500.

38
Q

Para que serve a instrução BR?

A

A instrução BR realiza um salto incondicional para o endereço armazenado em um registrador (X30). Exemplo: BR X30.

39
Q

Para que serve a instrução BL?

A

A instrução BL salva o endereço de retorno (PC + 4) no registrador de link (X30) e salta para um endereço relativo ao PC (PC + 4 + 10000). Exemplo: BL 2500.

40
Q

Para que serve a instrução FADDS?

A

A instrução FADDS soma dois valores de ponto flutuante de precisão simples (32 bits) e armazena o resultado em um registrador. Exemplo: FADDS S1, S2, S3.

41
Q

Para que serve a instrução FSUBS?

A

A instrução FSUBS subtrai dois valores de ponto flutuante de precisão simples (32 bits) e armazena o resultado em um registrador. Exemplo: FSUBS S1, S2, S3.

42
Q

Para que serve a instrução FMULS?

A

A instrução FMULS multiplica dois valores de ponto flutuante de precisão simples (32 bits) e armazena o resultado em um registrador. Exemplo: FMULS S1, S2, S3.

43
Q

Para que serve a instrução FDIVS?

A

A instrução FDIVS divide dois valores de ponto flutuante de precisão simples (32 bits) e armazena o resultado em um registrador. Exemplo: FDIVS S1, S2, S3.

44
Q

Para que serve a instrução FCMPS?

A

A instrução FCMPS compara dois valores de ponto flutuante de precisão simples (32 bits) e atualiza os flags de condição. Exemplo: FCMPS S1, S2.

45
Q

Para que serve a instrução FADDD?

A

A instrução FADDD soma dois valores de ponto flutuante de precisão dupla (64 bits) e armazena o resultado em um registrador. Exemplo: FADDD D1, D2, D3.

46
Q

Para que serve a instrução FSUBD?

A

A instrução FSUBD subtrai dois valores de ponto flutuante de precisão dupla (64 bits) e armazena o resultado em um registrador. Exemplo: FSUBD D1, D2, D3.

47
Q

Para que serve a instrução FMULD?

A

A instrução FMULD multiplica dois valores de ponto flutuante de precisão dupla (64 bits) e armazena o resultado em um registrador. Exemplo: FMULD D1, D2, D3.

48
Q

Para que serve a instrução FDIVD?

A

A instrução FDIVD divide dois valores de ponto flutuante de precisão dupla (64 bits) e armazena o resultado em um registrador. Exemplo: FDIVD D1, D2, D3.

49
Q

Para que serve a instrução FCMPD?

A

A instrução FCMPD compara dois valores de ponto flutuante de precisão dupla (64 bits) e atualiza os flags de condição. Exemplo: FCMPD D1, D2.