Códigos Assembler

Cards (22)

  • Formatos numéricos válidos para constantes
    • Decimal: 200
    • Decimal: 200d
    • Hexadecimal: 0xA4
    • Octal: 0o48
    • Binario: 101b
  • Registro de propósito general (GP)

    • A
    • B
    • C
    • D
  • Registro de puntero de pila
    SP
  • Tipos de direcciones
    • Dirección que utiliza un registro GP: [A]
    • Dirección que utiliza un registro GP y desplazamiento: [D-3]
    • Dirección que utiliza un registro SP y desplazamiento: [SP+2]
    • Dirección que utiliza una constante: [100]
    • Dirección que utiliza una etiqueta: etiqueta
  • Constante
    Cualquier número entre 0..255 (8 bits sin signo)
  • Desplazamiento para direccionamiento indirecto
    Entero entre -16..+15 (el signo es obligatorio)
  • MOV - Copiar un valor

    1. Copia un valor de src a dest
    2. La instrucción MOV es la única que puede modificar directamente la memoria
    3. SP se puede utilizar como operando con MOV
  • BD - Variable

    Define una variable. Una variable puede ser un solo número, un carácter o una cadena
  • Adición y sustracción
    1. Suma dos números o resta un número de otro
    2. Estas operaciones modifican el indicador de acarreo y cero
    3. SP se puede utilizar como operando con ADD y SUB
  • Incremento y decremento
    1. Incrementa o decrementa un registro en uno
    2. Esta operación modificará el indicador de acarreo y cero
    3. SP se puede utilizar como operando con INC y DEC
  • Multiplicación y división

    1. Multiplica o divide el registro A por el valor dado
    2. Esta operación modificará el indicador de acarreo y cero
  • Instrucciones lógicas
    1. AND, OR, XOR, NOT
    2. Estas operaciones modificarán el indicador de acarreo y cero
  • Instrucciones de cambio de turno
    1. SHL/SAL y SHR/SAR
    2. Estas operaciones modificarán el indicador de acarreo y cero
  • CMP - Comparar
    1. Compara dos valores y establece el indicador cero como verdadero si son iguales
    2. SP se puede utilizar como operando con CMP
    3. Utilice esta instrucción antes de un salto condicional
  • JMP - Salto incondicional
    Deje que el puntero de instrucción realice un salto incondicional a la dirección definida
  • Saltos condicionales

    • JC (Jump if Carry)
    • JNC (Jump if Not Carry)
    • JZ (Jump if Zero)
    • JNZ (Jump if Not Zero)
    • JA (Jump if Above)
    • JNBE (Jump if Not Below or Equal)
    • JAE (Jump if Above or Equal)
    • JNB (Jump if Not Below)
    • JB (Jump if Below)
    • JNAE (Jump if Not Above or Equal)
    • JBE (Jump if Below or Equal)
    • JNA (Jump if Not Above)
    • JE (Jump if Equal)
    • JNE (Jump if Not Equal)
  • CALL - Llamada de función
    Inserta la dirección de instrucción de la siguiente instrucción en la pila y salta a la dirección especificada
  • RET - Salir de una subrutina

    Sale de una subrutina haciendo saltar la dirección de retorno ingresada previamente por la instrucción CALL
  • PUSH - Empujar para apilar

    1. Introduce un valor en la pila
    2. La pila se va reduciendo y la posición actual está disponible en el registro de puntero de pila (SP)
    3. Esta instrucción reducirá el SP
  • POP - Pop de la pila
    1. Extrae un valor de la pila y lo traslada a un registro
    2. Esta instrucción aumentará el SP
  • HLT - Detiene el procesador
    Detiene el funcionamiento del procesador
  • LOOP
    Estructura de control que repite una secuencia de instrucciones un número específico de veces o hasta que se cumpla una condición determinada