Instrucciones en lenguaje ensamblador Flashcards

1
Q

¿Qué tipos de instrucciones hay?

A

De definición, movimientos, aritméticas, lógicas, comparativas y de saltos.

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

¿Cuáles son instrucciones de definición?

A

Define Byte(DB), Define word(DW), Define doubleword(DD)

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

¿Qué hace Define Byte?

A

Reserva 1 byte (8bits)

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

¿Qué hace Define Word?

A

Reserva 2 bytes (16bits)

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

¿Qué hace Define double word?

A

Reserva 4 bytes (32bits)

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

¿Cuáles son instrucciones de movimientos?

A

MOV, Push, POP, LEA, LDS, LES

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

¿Qué hace MOV destino, fuente?

A

Transfiere un byte o una palabra desde el operando fuente al operando destino
El Destino puede ser un registro o un elemento de memoria
La fuente puede ser un registro, elemento de memoría o valor inmediato.

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

¿Qué hace PUSH fuente?

A

Decrementa el SP en 2, transfiere el operando fuente a la cima de la pila

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

¿Qué hace POP destino?

A

Transfiere el elemento en la cima de la pila al operando destino, incrementa el SP en 2

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

¿Qué hace LEA destino, fuente?

A

Transfiere la dirección efectiva del operando fuente al operando destino
Fuente: Byte o palabra
Registro de 16 bits

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

¿Qué hace LDS destino, fuente?

A

Transfiere un puntero de 32 bits (compuesta por segmento y desplazamiento)
Destino: Debe ser un registro pero no de segmento
Fuente: Operando de memoria de doble palabra

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

¿Qué hace LES destino, fuente?

A

Igual que LDS pero el segmento se transfiere a ES

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

¿Cuáles son instrucciones aritméticas?

A

ADD, ADC, SUB, SBB, MUL, IMUL, DIV, IDIV, INC, DEC, NEG

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

¿Qué hace ADD destino, fuente?

A

Suma dos operandos guardando el resultado en el destino, los operandos deben ser del mismo tipo (byte o palabra)

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

¿Qué hace ADC destino, fuente?

A

Suma dos operando incrementando en 1 si la bandera de acarreo está activa

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

¿Qué hace SUB destino, fuente?

A

Resta el operando fuente al operando destino, el resultado se almacena en destino. Ambos operando deben ser del mismo tipo.

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

¿Qué hace SBB destino, fuente?

A

Resta el operando fuente al destino. Resta 1 si la bandera de acarreo está activa.

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

¿Qué hace MUL fuente?

A

Multiplica sin considerar el signo, AX o AL por el operando fuente
Si fuente es byte se multiplica por AL y se almacena en AX
Si es palabra se multiplica por AX y se almacena en DX:AX (alta en DX y baja en AX)

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

¿Qué hace IMUL?

A

Lo mismo que MUL fuente, pero tomando en cuenta el signo

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

¿Qué hace DIV Fuente?

A

Divide sin considerar el signo, AX o DX:AX entre fuente
Si fuente es byte divide AX entre fuente el cociente se almacena en AL y el resto en AH
Si es palabra divide DX:AX entre fuente el cociente se almacena en AX y el resto en DX

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

¿Qué hace IDIV?

A

Divide considerando el signo de igual forma que DIV fuente.

22
Q

¿Qué hace INC destino?

A

Incrementa destino en 2

23
Q

¿Qué hace DEC destino?

A

Decrementa el operando destino en 1

24
Q

¿Qué hace NEG destino?

A

Niega el operando destino complemento a 2

25
¿Cuáles son las instrucciones lógicas?
AND, OR, XOR, NOT
26
¿Qué hace AND destino, fuente?
Operación lógica AND a nivel de bits
27
¿Qué hace OR destino, fuente?
Operación lógica OR a nivel de bits
28
¿Qué hace XOR destino, fuente?
Operación lógica XOR a nivel de bits
29
¿Qué hace NOT destino?
Operación lógica NOT, Complementa los bits del operando
30
¿Cuáles son instrucciones comparativas?
TEST y CMP
31
¿Qué hace TEST fuente1, fuente2?
Realiza la operación AND entre los dos operandos sin almacenar el resultado solo acutaliza las banderas del registro de estado
32
¿Qué hace CMP fuente1, fuente2?
Lleva a cabo la operación de resta entre ambos operando sin almacenar el destino. Actualiza las banderas.
33
¿Cuáles son instrucciones de saltos?
JMP, JE, JZ, JNE/JNZ, JS, JL, JLE, JNS, JG, JGE, JNP, JCXZ, LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ e INT
34
¿Qué hace JMP dir?
Salta incondicional a dir, El operando será una etiqueta mediante la cual se referencia a la instrucción del programa donde se quiere realizar el salto.
35
¿Qué hace JE?
Salto si Z=1, se usa como resultado de CMP
36
¿Qué hace JZ dir?
Salto si Z=1, se usa cuando un resultado da 0
37
¿Qué hace JNE/JNZ dir?
Salto si no igual (z=0)
38
¿Qué hace JS dir?
Salto si signo negativo (S=1)
39
¿Qué hace JL dir?
Salto si el resultado de la última instrucción es menor que 0
40
¿Qué hace JLE dir?
Salta si el resultado de la última instrucción es menor o igual que 0
41
¿Qué hace JNS dir?
Salta si signo positivo (S=0)
42
¿Qué hace JG dir?
Salto si el resultado de la última instrucción es mayor que 0
43
¿Qué hace JGE dir?
Salto si el resultado de la última instrucción es mayor o igual que 0
44
¿Qué hace JP dir?
Salto si la paridad par (P=1)
45
¿Qué hace JNP dir?
Salto si la paridad impar (P=0)
46
¿Qué hace JCXZ?
Salto si CX = 0
47
¿Qué hace LOOP etiqueta?
Salta a etiqueta si el registro CX es distinto de 0. Además decrementa el valor de CX. Se utiliza para implementar ciclos, se utiliza CX con el número de iteraciones que debe realizar el ciclo y posteriormente se colocan aquellas instrucciones que se deseen ejecutar de forma iterativa.
48
¿Qué hace LOOPE/LOOPZ etiqueta?
Salta si la bandera z = 1 y Cx es distinto de 0, decrementa Cx
49
¿Qué hace LOOPNE/LOOPNZ etiqueta?
Salta si la bandera z es 0 y CX es distinto de 0, decrementa CX.
50
¿Qué hace INT n?
Ejecuta el manejador de interrupción especificada en el operando.