You are on page 1of 20

ENTORNO ENSAMBLADOR MINGO

Tomas Ávila Puente


Ernesto Acevedo Chávez
Antonio Romero Álvarez
Yesenia Villanueva Martínez
Maribel Olvera Hernandez
Javier Ortiz Alvarado

        
  - INTRODUCCIÓN
          - PROGRAMACIÓN
          - INSTRUCCIONES APLICADA
         
 INTRODUCCIÓN GENERAL***
 Procesador: - Un procesador es la parte un sistema informático que ejecuta las
instrucciones. También se le llama una CPU

 Assembler: - Un ensamblador es un programa que toma las instrucciones de


computadora de base y las convierte en un patrón de bits que el procesador de la
computadora puede utilizar para realizar sus actividades básicas. Algunas personas
llaman a estas lenguaje ensamblador instrucciones y otros utilizan el lenguaje de la
Asamblea plazo.

  Compilador: --- Un compilador es un programa especial que los procesos de


declaraciones por escrito en un lenguaje de programación particular, y los convierte
en lenguaje máquina o "código" que el procesador de la computadora utiliza.
Normalmente, un programador escribe declaraciones de idiomas en un lenguaje como C
o Pascal una línea a la vez usando un editor. El archivo que se crea contiene lo que se
llama los estados de origen. El programador luego ejecuta el compilador de lenguaje
apropiado, especificando el nombre del archivo que contiene los estados de origen.

  Cargador: - En un sistema operativo del ordenador, un gestor es un componente que


localiza un determinado programa (que puede ser una aplicación o, en algunos casos,
parte del propio sistema operativo) en el almacenamiento sin conexión (como un disco
duro), lo carga en la memoria principal (en un ordenador personal, se le llama memoria
de acceso aleatorio), y da que el control del programa de la computación

 Linker: - Linker realiza la conexión de bibliotecas con el código objeto para que el código
objeto en un código máquina ejecutable.
 *** INTRODUCCIÓN ***

         El ensamblador Mingo es un compilador del


lenguaje ensamblador. Se inició el 01/05/1998. Creado
por Eduardo Motta Bührnheim alias “Mingo”, su
intención era desarrollar un compilador dirigido
principalmente a los propósitos educativos y de los
países están dominados por la lengua portuguesa.

         Fueron inicialmente disponible en dos versiones
diferentes, la versión SHAREWARE y profesional. CIR,
como quedó libre de 06/03/2000 (freeware), por lo
tanto, se encuentra sólo en la versión Professional.
Una multitud de entorno de programación (IDE -
Integrated Development Enviroment) que sigue los
mismos principios de las mejores y más importantes
compiladores existentes.
         
 *** *** PROGRAMACIÓN
         Aclaración sobre los temas más importantes para la
programación
en lenguaje ensamblador con el ensamblador Mingo.
         1. Generación de archivos
 La generación de la COM y el patrón. Por lo tanto, para construir el
programa "E2.ASM" escribir directamente en la línea de comandos
"ma E2" se genera o modifica el archivo "E2.COM. Y escribiendo
"ma-E2 " el archivo se generará "E2.EXE.
         

         2. Comentarios
         Lo que escriba después de semi-coma (";") y debidamente
ignorado
por el compilador. Eso sí, a fin de permitir la inclusión de
comentarios
para facilitar la identificación de las partes del programa en
lenguaje ensamblador.
       
3. Números
         Sao valores reconocidos en binario, octal, decimal y hexadecimal.
         Ejemplos

         mov ah, 10 ter, valor binario


         mov ax, 1010b; valor binario
         mov ah, 10; valor octal
         mov ax, 1010a; valor octal
         mov ah, 10; valor decimal
         mov ax, 1010; valor decimal
         mov ah, 10d; valor decimal
         mov ax, 1010D; decimal
         mov ah, 10h; valor hexadecimal
         mov ax, 1010h; valor hexadecimal

4. Procedimientos
         Ambos pueden ser creados con etiquetas (etiquetas) y terminado de usar
la instrucción RET, y también siguiendo las instrucciones PROC y ENDP.
         Ejemplos
         @ Limpatela:
            mov ax, 3
            int 10h
         ret
         limpatela PROC
            mov ax, 3
            int 10h
            ret
         limpatela ENDP

         5. Datos y variables
         La definición de datos, variables, y realizadas a
través de las instrucciones:
         - DB, Juegos de byte (8 bits);
         - DW, Define Word (16 bits);
         - DD, Juegos de palabra doble (32 bits).
         6. Políticas
         Políticas están relacionadas con el compilador,
puede hacer referencia a Código de la carrera, pero
indican una función ejercida por el mismo.
         Ejemplos de políticas:
         1 -> .186 P186 [default]
         2 -> .286 .287 P286 P287
         3 -> .386 .387 P386 P387
         4 -> .486 .487 P486 P487
 INSTRUCCIONES *** *** APLICADA
          
          - Instrucciones de Procesador:
          
          AAA - Ajuste ASCII para la inclusión
          AAD - Ajuste ASCII antes de la división
          AAM - Ajuste ASCII para la multiplicación
          AAS - Ajuste ASCII para la resta
          Añadir - Añadir
          Y - Y
          BSF - Bit Scan Forward
          BSR - Bit Scan Reverse
          BT - Bit Test
          BTC - Bit Test y complemento
          BTR - Bit Test and Reset
          BTS - Bit de pruebas y la lista
          CONVOCATORIA - Convocatoria
          Armas químicas y biológicas - Convertir Byte a Word
          CDQ - Convertir a palabra doble Quadword
          CLC - Clear Carry Bandera
          CLD - Dirección Borrar marca
          CLI - Clear Interrupt Flag
          SANTOLIC - Clear Task Switched Bandera
 
          
          CMC - Complement Carry Bandera
          CMP - Compara dos operandos
          CMPSB - Comparar String - Byte
          CMPSW - Comparar String - Word
          CMPSD - Comparar String - palabra doble
          CWD - Convert Word to palabra doble
          CWDE - Convertir Word a palabra doble
          DAA - Decimal Adjust AL después de la adición
          DAS - Decimal Adjust AL después de restar
          DB - Data - Byte
          DD - Fecha - palabra doble
          DEC - Decremento
          DIV - Dividir sin signo
          DW - Data - Word
          Equipo de Alto Nivel - Detener
          ICEBP - Break The Ice Point
          IDIV - División entera
          IMUL - Integer Multiply
          EN - Desde el Puerto de Entrada de
INC - Incremento de
          InSb - Entrada de puerto a String - Byte
          INSW - Entrada de puerto a String - Word
          INSD - Entrada de puerto a String - palabra doble
          INT - Interrumpir
          EN - interrupción de desbordamiento de
          INVD - no válido Cache
          IRET - Retorno de interrupción
          IRETD - Retorno de interrupción
          JA - Jump On encima de
          Keystone - Jump On superior o igual
          JB - Jump On A continuación
          JBE - Jump On inferior o igual
          JC - Jump On Carry
          JCXZ - Saltar en CX Zero
          JE - Saltar sobre la igualdad de
          JECXZ - Jump On ECX es cero
          JG - Saltar en una mayor
          JGE - Jump On es mayor o igual
          JL - Salto con menos
          JLE - Salto con menos o igual
 
  
          JMP - Jump
          JNA - Jump On no están por encima
          JNGE - Jump On no igual o superior al
          JNB - Jump On No figura por debajo
          JNBE - Jump On no igual o inferior a
          JNC - Jump On No deben llevar
          JNE - Jump On No es igual
          JNG - Jump On No mayor
          JNGE - Jump On no igual o mayor
          JNL - Saltar en no menos
          JNLE - Jump On no es menor o igual
          JNO - Saltar en no desbordamiento
          JNP - Salto de no paridad
          JNS - Saltar en no firmar
          JNZ - Jump On no es cero
          JO - Jump On Overflow
          JP - Saltar en la paridad
          JPE - Salto de la paridad Incluso
          JPO - Saltar en paridad impar
 JS - Saltar Sign On
          JZ - Saltar en cero
          LAHF - se carga en Banderas AH Registro
          LEA - carga efectiva dirección de desplazamiento
          Leave - Alto Nivel de salida de procedimiento
          LOCK - Assert señal LOCK # Prefijo
          LODSB - Carga String Operando - Byte
          LODSW - Carga String Operando - Word
          LODSD - Carga String Operando - palabra doble
          LOOP - Loop
          LOOP - Loop Si bien la igualdad
          LOOPNE - Loop While Not Equal
          LOOPNZ - Loop While Not Zero
          Loopz - Loop While Zero
          MOV - Mover datos
          MOVSB - mover los datos de cadena a cadena - Byte
          MOVSW - mover los datos de cadena a cadena - Word
          Movsd - mover los datos de cadena a cadena - palabra
doble
          MUL - Unsigned Multiplicación de AL o AX
          NEG - Dos de complemento a la negación
          NOP - No Operación
       
         
   
NO - se complementan de la negación
          OR - Inclusive OR lógico
          OUT - Salida a puerto
          Outsb - cadena de salida del puerto - Byte
          OUTSW - cadena de salida del puerto - Word
          OUTSD - cadena de salida del puerto - palabra doble
          POP - POP una palabra de la pila
          POPA - Pop Todos general de registros
          Popad - Pop Todos general de registros
          POPF - Pop de los pabellones de pila en el registro
          POPFD - Pop De eflags pila en el registro
          PUSH - Push operando en la pila
          PUSHA - Apila los registros generales
          Pushad - Apila los registros generales
          PUSHF - Banderas Push Registro en la pila
          PUSHFD - eflags Push Registro en la pila
          RCL - Rotar a la izquierda Carry
       
    RCR - Rotar a la derecha Carry
          REP - Repetir
          REPE - Repetir Si Igualdad
          REPZ - Repetir si es cero
          REPNE - Repite si no igual
          REPNZ - Repetir si no es cero
          RET - Retorno de Procedimiento
          ROL - Rotar a la izquierda
          ROR - Rotar a la derecha
   SAHF - Tienda AH Into Banderas
          SAL - Shift aritmético a la izquierda
          SALC - AL en Carry Set
          SAR - Shift Arithmetic Right
          SCASB - Comparar datos de cadena - Byte
          SCASW - Comparar datos de cadena - Word
          SCASD - Comparar datos de cadena - palabra doble
          SETALC - AL en Carry Set
          SHL - Desplazamiento a la izquierda
          SHLD - Double Precision Shift izquierda
          SHR - Desplazamiento a la derecha
          SHRD - Double Precision Shift Derecho
          STC - Set Carry Bandera
          ETS - Dirección Set Bandera
          STI - Set de activación de interrupción de abuso
          Stosb - Almacén de datos de cadena - Byte
          STOSW - Almacén de datos de cadena - Word
          STOSD - Almacén de datos de cadena - palabra
doble
          SUB - Resta Entero
          TEST - Lógico Comparar
          WAIT - Espera
          Wbinvd - Write-Back Cache e invalidar
          XCHG - Memory Exchange / Registro con el
registro
          Xlat - Look Up Table-Traducción
          XLATB - Look Up Table-Traducción
          XOR - Exclusive OR lógico
          
       
  - Instrucciones de Co-procesador (FPU-Floating Point Unit):
          
          F2xm1 - 2 ^ X-1
          FABS - Valor Absoluto
          FADD - Añadir Real
          FADDP - Añadir Real And Pop
          FCHS - cambio de signo
          FCLEX - En abierto Excepciones
          FCOMP - Comparar Real And Pop
          FCOMPP - Comparar Real And Pop Dos veces
          FCOS - Coseno
          FDECSTP - Decremento Stack Pointer
          FDIS - deshabilitar las interrupciones
          FENI - Habilitar Interrupciones
          Fild - Entero de carga
          FIMUL - Integer Multiply
          Fincstp - Incremento de Stack Pointer
          FINITO - Inicializa coprocesador
          FISTP - Integer Store y Pop
          FLD - Carga Real
          Fld1 - Carga Real 1.0
      
          
  
   FLDL2E - Entrar carga de la Base 2.0 y
          FLDL2T - Carga Log Base 2.0 de 10,0
          FLDLG2 - Carga Log Base 10,0 de 2,0
          FLDLN2 - Carga de registro y base de 2,0
          Fldpi - Carga Pi
          FLDZ - Carga real cero
          FMUL - Multiplicar Real
FNCLEX - nowait claras excepciones
          FNDISI - nowait deshabilitar las interrupciones
          FNENI - nowait Habilitar Interrupciones
          FNINIT - nowait Iniciar coprocesador
          Fnop - No Operación
          FNSTSW - nowait tienda Palabra de estado
          FPATAN - Parcial Arco tangente
          FPREM - Resto parcial
          FPREM1 - Resto parcial
          FPTAN - Parcial Tangent
          FRNDINT - Ronda a entero
          Fscale - Escala
          FSETPM - Establecer el modo protegido
          FSIN - Sine
          Fsync - seno y coseno
          Fsqrt - Raíz Cuadrada
          FST - Tienda Real
          FSTSW - Tienda Palabra de estado
          Fsub - Reste Real
          FSUBR - Reversed Reste Real
          FTST - Prueba de pila Top contra
          FUCOMPP - sin ordenar Comparar
          Fwait - Espera
          FXAM - Examinar la pila Top
          FXCH - Intercambio Registros
          FXTRACT - Extracto de exponente y significativos
          Fyl2x - Y * log2 (X)
          FYL2XP1 - Y * log2 (X 1)
El resultado de este código es un
desplazamiento aleatorio del puntero o
apuntador mostrado en la pantalla.

You might also like