La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PBN - 07 - 1 © Jaime Alberto Parra Plaza CLASE 7 CONJUNTO DE INSTRUCCIONES. TRANSFERENCIA.

Presentaciones similares


Presentación del tema: "PBN - 07 - 1 © Jaime Alberto Parra Plaza CLASE 7 CONJUNTO DE INSTRUCCIONES. TRANSFERENCIA."— Transcripción de la presentación:

1 PBN © Jaime Alberto Parra Plaza CLASE 7 CONJUNTO DE INSTRUCCIONES. TRANSFERENCIA

2 PBN © Jaime Alberto Parra Plaza El primer byte de una línea de instrucción se relaciona con el opcode de esa instrucción. El uP puede diferenciar entre 256 opcodes diferentes (256 = 2 8 ), así que el número máximo de instrucciones posibles es 256.

3 PBN © Jaime Alberto Parra Plaza La instrucción completa puede tener entre 1 y 6 bytes. Aunque no es preciso conocer la codificación real de cada instrucción, los programadores experimentados sí procuran elegir aquéllas que tengan menos bytes, lo cual permite hacer programas más pequeños y mas rápidos.

4 PBN © Jaime Alberto Parra Plaza Formato de una instrucción: MnemónicoOperando(s) Mnemónico: Palabra o abreviatura del idioma inglés que sugiere la labor de la instrucción. Ej: ADD para suma JMP para salto NOP para no-operación Operandos: Pueden ser 0, 1 ó 2 según el tipo de instrucción.

5 PBN © Jaime Alberto Parra Plaza NORMAS GENERALES SOBRE LOS OPERANDOS: 1) Pueden ser de 8 o 16 bits. Para un registro se sobreentiende por su nombre (AX es de 16 bits, DH es de 8) Para una posmem por la forma en que se declara (DB para byte, DW para word) Se puede forzar un cambio de tipo en una posmem precediéndola por el qualificador BYTE PTR -forzar tipo byte- o WORD PTR -forzar tipo word-

6 PBN © Jaime Alberto Parra Plaza 2) Si un operando es una posmen, pueden usarse todos los modos de direccionamiento existentes para referirse a ella: Directo Indirecto por registro Basado Indexado Basado-Indexado

7 PBN © Jaime Alberto Parra Plaza 3) Si un operando es una constante, puede indicarse en cualquier formato: binario, decimal, hexadecimal o ASCII. Ejemplo: El número 65 puede darse como: FormatoValor Decimal 65 Binario B Hexadecimal 41H ASCII A

8 PBN © Jaime Alberto Parra Plaza 4) Si la instrucción es de 1 operando, éste no puede ser una constante. La razón para esta limitante radica en que, en este tipo de instrucciones, el microprocesador asume que el otro operando está ubicado en algún sitio predefinido, de forma que debe combinarse con un registro o con una posmem, cuya dirección ya esté en la cola de instrucciones.

9 PBN © Jaime Alberto Parra Plaza 5) Si la instrucción es de 2 operandos, éstos deben ser del mismo tamaño, 8 bits o 16 bits (excepciones con punteros). Las combinaciones permitidas son: Operando 1Operando 2 reg reg reg posmen reg cte posmen reg posmen cte

10 PBN © Jaime Alberto Parra Plaza CLASIFICACIÓN DE LAS INSTRUCCIONES SEGÚN SU FUNCIÓN: 1) De transferencia de datos 2) Aritméticas 3) De manipulación de bits 4) De cadena 5) De transferencia de control 6) De control del procesador

11 PBN © Jaime Alberto Parra Plaza 1. INSTRUCCIONES DE TRANSFERENCIA DE DATOS: Permiten llevar y/o traer datos entre los registros internos del uP y la memoria externa o los puertos de entrada/salida. Los subgrupos son: a) De propósito general b) De entrada/salida c) De punteros d) De transferencia de banderas

12 PBN © Jaime Alberto Parra Plaza b. De entrada/salida IN OUT a. De propósito general MOV PUSH POP XCHG XLAT

13 PBN © Jaime Alberto Parra Plaza c. De punteros LEA LDS LES d. De transferencia de banderas LAHF SAHF PUSHF POPF

14 PBN © Jaime Alberto Parra Plaza Instrucción de copia (MOV): Sintaxis: MOV destino, origen Propósito: Copia el contenido de origen en destino.

15 PBN © Jaime Alberto Parra Plaza Ejemplos: MOV AL, BL; copia reg en reg MOV CX, var16; copia posmem en reg MOV DH, 29; copia cte en reg MOV var8, CL ; copia reg en posmem MOV BYTE PRT var8, 5AH ; copia cte en posmem MOV [SI], DI; ¿qué tipo es?

16 PBN © Jaime Alberto Parra Plaza Instrucción de apilamiento (PUSH): Sintaxis: PUSH origen Propósito: Copia el contenido de origen en el tope de la pila. Origen siempre es de 16 bits. Ejemplos: PUSHCX; apilar reg PUSHvar16; apilar posmem PUSH259; ¡ERROR! ¿por qué?

17 PBN © Jaime Alberto Parra Plaza Instrucción de desapilamiento (POP): Sintaxis: POP destino Propósito: Copia el contenido actual del tope de la pila en destino. Destino siempre es de 16 bits. Ejemplos: POP SI; desapilar en SI POP var16; desapilar en posmem

18 PBN © Jaime Alberto Parra Plaza Instr. de carga de dirección efectiva (LEA): Sintaxis: LEA destino, origen Propósito: Copia la dirección de origen en destino. Destino debe ser un registro de 16 bits, origen puede tener 8 o 16 bits. Ejemplos:LEACX, var8 LEA DX, var16 LEA AX, [SI] LEA DI, var8[BX][SI]

19 PBN © Jaime Alberto Parra Plaza Es claro que no pueden mencionarse todas las instrucciones con el detalle dado a las órdenes anteriores. Para una referencia durante el curso, se listan a continuación todas las instrucciones, de las cuales sólo se mencionarán algunas. Las demás quedan para que el estudiante las investigue y aprenda su utilidad:

20 PBN © Jaime Alberto Parra Plaza INSTRUCCIONES DE TRANSFERENCIA: a. De propósito general: MOV, PUSH, POP, XCHG, XLAT b. De entrada/salida: IN, OUT c. De punteros: LEA, LDS, LES d. De transferencia de banderas: LAHF, SAHF, PUSHF, POPF

21 PBN © Jaime Alberto Parra Plaza INSTRUCCIONES ARITMÉTICAS: a. Suma: ADD, ADC, INC, AAA, DAA b. Resta: SUB, SBB, DEC, NEG, CMP, AAS, DAS c. Multiplicación: MUL, IMUL, AAM d. División: DIV, IDIV, AAD, CBW, CWD

22 PBN © Jaime Alberto Parra Plaza INSTR. DE MANIPULACIÓN DE BITS: a. Lógicas: NOT, AND, OR, XOR, TEST b. Desplazamiento: SHL/SAL, SHR, SAR c. Rotación: ROL, ROR, RCL, RCR La barra (/) indica que la instrucción tiene dos mnemónicos diferentes.

23 PBN © Jaime Alberto Parra Plaza INSTRUCCIONES DE CADENA: MOVS, CMPS, SCAS, LODS, STOS, REP, REPE/REPZ, REPNE/REPNZ

24 PBN © Jaime Alberto Parra Plaza INSTR. DE TRANSF. DE CONTROL: a. Transferencia condicional: JA/JNBE, JAE/JNB, JB/JNAE, JBE/JNA, JC, JE/JZ, JG/JNLE, JGE/JNL, JL/JNGE, JLE/JNG, JNC, JNE/JNZ, JNO, JNP/JPO, JNS, JO, JP/JPE, JS

25 PBN © Jaime Alberto Parra Plaza b. Transferencia incondicional: CALL, RET, JMP c. Control de iteración: LOOP, LOOPE/LOOPZ, LOOPNE/LOOPNZ, JCXZ d. Interrupciones: INT, INTO, IRET

26 PBN © Jaime Alberto Parra Plaza INSTR. DE CTRL. DEL PROCESADOR: a. Operaciones de banderas: STC, CLC, CMC, STD, CLD, STI, CLI b. Sincronización externa: HLT, WAIT, ESC, LOCK c. No operación: NOP

27 PBN © Jaime Alberto Parra Plaza


Descargar ppt "PBN - 07 - 1 © Jaime Alberto Parra Plaza CLASE 7 CONJUNTO DE INSTRUCCIONES. TRANSFERENCIA."

Presentaciones similares


Anuncios Google