Instituto Tecnológico de Matamoros

Impulsar el desarrollo científico y tecnológico ejerciendo actividades de docencia, investigación, extensión y vinculación en la formación de profesionales con competencias y valeres que aseguren el liderazgo, la equidad y la sustentabilidad ambiental.

GRAFICACION

Conocer técnicas para el trazado, manipulación y visualización de elementos en 2D y 3D, las cuales, servirán de base para desarrollar software basado en gráficos, como interfaz hombre-máquina y software gráfico para el diseño de diversas aplicaciones, enfocadas al arte, diseño, capacitación y entretenimiento.

Administracion de Bases de Datos

Tener la capacidad de seleccionar SGBD para la implementación y administración de sistemas de bases de datos, aplicando esquemas de seguridad, rendimiento y alta disponibilidad en distintas plataformas, optimizando los recursos económicos y la infraestructura tecnológica disponible en las organizaciones.

Programador

El Programador diseña, a través de un código, diferentes herramientas informáticas, tales como programas, sistemas o páginas web.

Ingeniería en Sistemas Computacionales

Formar profesionistas líderes, analíticos, críticos y creativos, con visión estratégica y amplio sentido ético, capaces de diseñar, implementar y administrar infraestructura computacional para aportar soluciones innovadoras en beneficio de la sociedad, en un contexto global, multidisciplinario y sustentable.

lunes, 3 de abril de 2017

Programa#7

; PROGRAMA : pe14_col
; FUNCION : imprime un texto con las letras de colores
; REALIZADO POR :Jose Juan Muñiz Hernandez
------------------------------------------------------------------------

; DECLARACION DE CONSTANTES
---------------------------------------------------

CR EQU 13 ; Constante CR (Retorno de carro) En decimal o
LF EQU 10 ; Constante LF (Salto de l?nea) en hex es igual
BIOS EQU 10H ; Definicion de constantes o simbolos
DOS EQU 21H
TEXTO EQU 3
FIN EQU 4C00H
---------------------------------------------------------------------------------

; DECLARACION DEL SEGMENTO DE DATOS
--------------------------------------------------------------------------------

DATOS SEGMENT ; Inicio del segmento de datos

TITULO DB 'ENSAMBLADOR' ; Texto a imprimir
COLORES
DB 01001110B ; Atributo de 'E' los numeros binarios se pueden convertir a hexa
DB 01101111B ; Atributo de 'N' siendo dos digitos hexa el primero representa el
DB 00110001B ; Atributo de 'S' fondo y el segundo el texto.
DB 01011100B ; Atributo de 'A'
DB 00110001B ; Atributo de 'M'
DB 01011111B ; Atributo de 'B'
DB 01101011B ; Atributo de 'L'
DB 01011100B ; Atributo de 'A'
DB 01101111B ; Atributo de 'D'
DB 01001110B ; Atributo de 'O'
DB 00110001B ; Atributo de 'R'

DATOS ENDS ; Fin del segmento de datos
--------------------------------------------------------------------------

; DECLARACION DEL SEGMENTO DE PILA
--------------------------------------------------------------------------


PILA SEGMENT STACK                                          ; Inicio del segmento de pila

DB 64 DUP('PILA')                                                ; Asignar espacio

PILA ENDS                                                            ; Fin del segmento de pila
--------------------------------------------------------

 ; DECLARACION DEL SEGMENTO DE CODIGO
--------------------------------------------------------


CODIGO SEGMENT                                                 ; Inicio del segmento de código

pe14_col PROC FAR                                                   ; Inicio procedimiento pe14_col

ASSUME CS:CODIGO,DS:DATOS,SS:PILA            ; Indicar segmentos
MOV AX,DATOS                                                        ; Inicializar correctamente el
MOV DS,AX                                                                ; registro de datos
MOV AX,TEXTO                                               ; Establecer modo de texto 80x25 16 colores
INT BIOS                                                                      ; Interrupción BIOS pantalla (10H)
MOV CX,11                                                                  ; Bucle (11 caracteres)
XOR SI,SI                                                                      ; Contador de caracteres (SI=0)

BUCLE:
PUSH CX                                                                  ; Guardar CX (contador de bucle) en pila
MOV DX,SI                                                                    ; DX=SI (DX=contador)
ADD DX,35                                                                     ; Columna=35+contador
MOV DH,12                                                                    ; Establecer fila (12)
CALL COLOCA                                                              ; Colocar el cursor
MOV AL,[SI+OFFSET TITULO]                                   ; Obtener caracter
MOV BL,[SI+OFFSET COLORES]                               ; Obtener atributo
CALL COLOR                                                                 ; Imprimir caracter y atributo
POP CX                                                                          ; Recuperar CX (contador de bucle)
INC SI                                                                             ; Incrementar contador o puntero
LOOPNZ BUCLE                                                            ; Repetir bucle mientras CX no sea 0

MOV AH,8                                                                          ; Esperar tecla
INT DOS                                                                      ; Interrupcion servicios del DOS (21H)
XOR DX,DX                                                                 ; Situar cursor en 0,0 (DH=0 y DL=0)
CALL COLOCA                                                            ; Interrupcion servicios del DOS (21H)
MOV AX,FIN                                                                       ; Fin del programa
INT DOS                                                                       ; Interrupcion servicios del DOS (21H)
pe14_col ENDP                                                          ; Fin del procedimiento pe14_col
------------------------------------------------------------------------------------------------------------------

; Definicion del procedimiento COLOR, que imprime un caracter en color                              
 ; Pasar en AL el codigo del caracter, y en BL el atributo
--------------------------------------------------------------------------------------------------------------------

COLOR PROC                                                         ; Principio del procedimiento COLOR
MOV AH,9                                                               ; Servicio que escribe caracter y atrib
XOR BH,BH                                                             ; Numero de pagina de video (BH=0)
INT BIOS                                                                  ; Interrupcion BIOS pantalla (10H)

RET ; Retornar
COLOR ENDP                                                           ; Fin del procedimiento COLOR
------------------------------------------------------------------------------------------------------------------

; Definici?n del procedimiento COLOCA, que situa el cursor en la pantalla
; Pasar en DH la fila y en DL la columna
-------------------------------------------------------------------------------------------------


COLOCA PROC                                                       ; Principio del procedimiento COLOCA
MOV AH,2                                                                ; Servicio que coloca el cursor
XOR BX,BX                                                              ; Numero de pagina de video (BH=0)
INT BIOS                                                                   ; Interrupcion BIOS pantalla (10H)
RET ; Retornar
COLOCA ENDP                                                         ; Final del procedimiento COLOCA

CODIGO ENDS                                                          ; Fin del segmento de codigo

END pe14_col                                                   ; Fin del codigo e indicar direccion comienzo





Programa#6

; PROGRAMA : pe08_clp
; FUNCION : BORRA PANTALLA Y POSICIONA CURSOR.
; REALIZADO POR :Jose Juan Muñiz Hernandez
------------------------------------------------------------------

; DECLARACION DE CONSTANTES
--------------------------------------------------

CR EQU 13                                                 ; Constante CR (Retorno de carro)
LF EQU 10                                                  ; Constante LF (Salto de l?nea)
TECLADO_8 EQU 8
IMPRIMIR_9 EQU 9
FIN_4C00H EQU 4C00H                            ;fializa el programa y regresa al DOS
DOS_21H EQU 21H
BIOS_10H EQU 10H
TAB EQU 09H
BELL EQU 07H
----------------------------------------------------------------------------

; DECLARACION DEL SEGMENTO DE DATOS
-----------------------------------------------------------------

 DATOS SEGMENT
RENGLON DB 0
COLUMNA DB 0
MENSAJE DB CR,LF,'POSICION (x,y), del mensaje: Hola Mundo !'
DB 'DESPUES DE BORRAR PANTALLA.',CR,LF,'$'
DATOS ENDS
---------------------------------------------------------------

; DECLARACION DEL SEGMENTO DE PILA
--------------------------------------------------------------


PILA SEGMENT STACK
DW 100 DUP('0') ;DW: describe palabra
PILA ENDS
------------------------------------------------------------

; DECLARACION DEL SEGMENTO DE CODIGO
-----------------------------------------------------------------

CODIGO SEGMENT

pe08_clp PROC FAR  ; Inicio procedimiento pe08_cls

ASSUME CS:CODIGO,DS:DATOS,SS:PILA

MOV AX,DATOS                                             ; AX=Direcci?n del segmento de datos
MOV DS,AX                                                     ; DS=AX. Indicar el segmento de datos
LEA DX,MENSAJE                                          ; DS:DX = direcci?n de MENSAJE
CALL LIMPIA_PANTALLA

CALL POSICIONA_CURSOR                         ; Llama a procedimiento par posionar cursor.

MOV AH,IMPRIMIR_9                                    ; Funci?n DOS para escribir texto en pantalla
INT DOS_21H                                                    ; Llamar a la interrupci?n del DOS

MOV AX,FIN_4C00H   ; Fin del programa
INT DOS_21H


pe08_clp ENDP                                                     ; Fin del procedimiento EJEMPLO

LIMPIA_PANTALLA PROC NEAR
MOV AX,01000H                                                 ; Establecer modo texto y CLS
MOV BH,6AH                                                       ; Colores de fondo y texto .
MOV CX,0000H                                                    ; Desde el inicio de pantalla
MOV DX,484FH                                                    ; Hasta el fin de la pantalla Reng (48)72 col(79)4F
INT BIOS_10H                                                       ; Interrupci?n que llama al BIOS
RET
LIMPIA_PANTALLA ENDP

POSICIONA_CURSOR PROC NEAR
MOV AH,02                                                            ; Servicio para Fija posicion del Cursor
MOV BH,00                                                            ; Numero de pagina o pantalla
MOV DH,RENGLON
MOV DL,COLUMNA
INT BIOS_10H
RET

POSICIONA_CURSOR ENDP

CODIGO ENDS

END pe08_clp




Programa#5

; PROGRAMA : pe07_cur
; FUNCION : Posiciona el cursor en cordenada determinada.
; REALIZADO POR :Jose Juan Muñiz Hernandez
-----------------------------------------------------------------------------------

; DECLARACION DE CONSTANTES
-----------------------------------------------------------------------------------

CR EQU 13                                       ; Constante CR (Retorno de carro)
LF EQU 10                                        ; Constante LF (Salto de línea)
TECLADO_8 EQU 8
IMPRIMIR_9 EQU 9
FIN_4C00H EQU 4C00H                     ;fializa el programa y regresa al DOS
DOS_21H EQU 21H
BIOS_10H EQU 10H
TAB EQU 09H
BELL EQU 07H
--------------------------------------------------------------------------------------

;DECLARACION DEL SEGMENTO DE DATOS
---------------------------------------------------------------

DATOS SEGMENT
RENGLON DB 0
COLUMNA DB 0
MENSAJE DB CR,LF,'POSICION (x,y), del mensaje: Hola Mundo !',CR,LF,'$'
DATOS ENDS
--------------------------------------------------------------------------------

; DECLARACION DEL SEGMENTO DE PILA
-------------------------------------------------------------

PILA SEGMENT STACK
DW 100 DUP('0') ;DW : describe palabra
PILA ENDS
-------------------------------------------------------

; DECLARACION DEL SEGMENTO DE CODIGO
------------------------------------------------------------------

CODIGO SEGMENT


pe07_cur PROC FAR                          ; Inicio procedimiento pe06_cls


ASSUME CS:CODIGO,DS:DATOS,SS:PILA


MOV AX,DATOS                                ; AX=Dirección del segmento de datos
MOV DS,AX                                       ; DS=AX. Indicar el segmento de datos
LEA DX,MENSAJE                             ; DS:DX = dirección de MENSAJE
CALL LIMPIA_PANTALLA


CALL POSICIONA_CURSOR              ; Llama a procedimiento par posionar cursor.


MOV AH,IMPRIMIR_9                         ; Función DOS para escribir texto en pantalla
INT DOS_21H                                     ; Llamar a la interrupción del DOS


MOV AX,FIN_4C00H                           ; Fin del programa
INT DOS_21H


pe07_cur ENDP                                   ; Fin del procedimiento EJEMPLO


LIMPIA_PANTALLA PROC NEAR
MOV AX,01000H                                 ; Establecer modo texto y CLS
MOV BH,6AH                                      ; Colores de fondo (negro=0) y texto (verde=A).
MOV CX,0000H                                   ; Desde el inicio de pantalla
MOV DX,484FH                                   ; Hasta el fin de la pantalla Reng (48)72 col(79)4F
INT BIOS_10H                                     ; Interrupci?n que llama al BIOS
RET
LIMPIA_PANTALLA ENDP


POSICIONA_CURSOR PROC NEAR
MOV AH,02                                         ; Servicio para Fija posicion del Cursor
MOV BH,00                                         ; Numero de pagina o pantalla
MOV DH,RENGLON
MOV DL,COLUMNA
INT BIOS_10H
RET


POSICIONA_CURSOR ENDP
CODIGO ENDS
END pe07_cur





Programa#4

; PROGRAMA #4: : pe06_cls
; FUNCION : LIMPIAR PANTALLA
; REALIZADO POR : Jose Juan Muñiz Hernandez
---------------------------------------------------------------------

FIN_4C00H EQU 4C00H
DOS_21H EQU 21H
BIOS_10H EQU 10H
-------------------------------------------

; DECLARACION DEL SEGMENTO DE PILA
-------------------------------------------------------------

PILA SEGMENT STACK
DW 100 DUP('0')
PILA ENDS
-----------------------------------------------------------

; DECLARACION DEL SEGMENTO DE CODIGO
------------------------------------------------------------------

CODIGO SEGMENT


pe06_cls PROC FAR                      ; Inicio procedimiento pe06_cls


ASSUME CS:CODIGO,SS:PILA


CALL LIMPIA_PANTALLA               ; Llama a procedimiento par limpiar pantalla.


MOV AX,FIN_4C00H                      ; Fin del programa
INT DOS_21H


pe06_cls ENDP                              ; Fin del procedimiento EJEMPLO


LIMPIA_PANTALLA PROC NEAR
MOV AX,01000H                            ; Establecer modo texto y CLS
MOV BH,6AH                                 ; Colores de fondo (negro=0) y texto (verde=A).
MOV CX,0000H                              ; Desde el inicio de pantalla
MOV DX,484FH                              ; Hasta el fin de la pantalla Reng (48)72 col(79)4F
INT BIOS_10H                                ; Interrupci?n que llama al BIOS
RET
LIMPIA_PANTALLA ENDP


CODIGO ENDS


END pe06_cls




Programa#3

PROGRAMA #3: Pe04_hol.
FUNCION : ESCRITURA DE 3 FRASES EN PANTALLA ECHA CON PROCEDIMIENTOS
REALIZADO POR : Jose Juan Muñiz Hernandez

-----------------------------------------------------------------------------------------------------------------------

CR EQU 13                        ; Constante CR (Retorno de carro)
LF EQU 10                         ; salto de linea




DATOS SEGMENT             ; Inicio del segmento de datos

MENSAJE1 DB CR,LF,'Jose Hdz ',CR,LF,'$'
MENSAJE2 DB 'carrera iNG. SISTEMAS COMPUTACIONALES',CR,LF,'$'
MENSAJE3 DB '7 SEMESTRE ',CR,LF,'$'



DATOS ENDS                       ; Fin del segmento de datos 

-----------------------------------------------------------------------------

 DECLARACION DEL SEGMENTO DE PILA
------------------------------------------------------------


PILA SEGMENT STACK      ; Inicio del segmento de pila

DB 64 DUP('PILA')            ; Inicialización de la pila

PILA ENDS                             ; Fin del segmento de pila
---------------------------------------------------------------------------

; DECLARACION DEL SEGMENTO DE CODIGO
------------------------------------------------------------------


CODIGO SEGMENT          ; Inicio del segmento de código
Pe04_hol PROC FAR          ; Inicio procedimiento Pee2_letreros

ASSUME CS:CODIGO,DS:DATOS,SS:PILA ; Asignar segmentos


MOV AX,DATOS          ; AX=Dirección del segmento de datos
MOV DS,AX                  ; DS=AX. Indicar el segmento de datos

LEA DX,MENSAJE1
CALL ESCRIBE

LEA DX,MENSAJE2
CALL ESCRIBE

LEA DX,MENSAJE3
CALL ESCRIBE


MOV AX,4C00H           ; Función para terminar el programa
INT 21H


Pe04_hol ENDP


ESCRIBE PROC
MOV AH,9                         ; función DOS escribe el texto en la pantalla
INT 21H                             ; interrupcion
RET                                   ; Retorna donde se quedo
ESCRIBE ENDP


CODIGO ENDS


END Pe04_hol



miércoles, 29 de marzo de 2017

Programa#1

PROGRAMA #1: HolaMundo
FUNCION : ESCRITURA DE UNA FRASE EN PANTALLA
REALIZADO POR : Jose Juan Muñiz Hernandez

---------------------------------------------------------------------------------------------------------------

CR EQU 13           ; Constante CR (Retorno de carro)
LF EQU 0Ah          ;salto de linea


DATOS SEGMENT            ; Inicio del segmento de datos

MENSAJE DB CR,LF,' ! Hola Mundo !',CR,LF,'$'

DATOS ENDS                    ; Fin del segmento de datos
-----------------------------------------------------------------

DECLARACIÓN DEL SEGMENTO DE PILA
-----------------------------------------------------------------

PILA SEGMENT STACK        ; Inicio del segmento de pila

DB 64 DUP('PILA')                  ; Inicialización de la pila

PILA ENDS                              ; Fin del segmento de pila
---------------------------------------------------------------------

DECLARACION DEL SEGMENTO DE CÓDIGO
-------------------------------------------------------------------
CODIGO SEGMENT             ; Inicio del segmento de c?digo
Pe01_hol PROC FAR            ; Inicio procedimiento p1_hola

ASSUME CS:CODIGO,DS:DATOS,SS:PILA       ; Asignar segmentos

MOV AX,DATOS                 ; AX=Dirección del segmento de datos
MOV DS,AX                        ; DS=AX. Indicar el segmento de datos
LEA DX,MENSAJE             ; DS:DX = dirección de MENSAJE
MOV AH,9                           ; Función DOS para escribir texto en pantalla
INT 21H                               ; Llamar a la interrupción del DOS
MOV AX,4C00H                   ; Función para terminar el programa
INT 21H


Pe01_hol ENDP

CODIGO ENDS

END Pe01_hol
     





martes, 21 de marzo de 2017

IDE's para trabajar con lenguaje ensamblador



Algunos IDE's accesibles para trabajar con lenguaje ensamblador:

Software gratuito:

Macroensamblador: Programa que permite la codificación de multiples códigos assembler formando una única instrucción compacta. Permite generar macroinstrucciones de forma similar a las llamadas a subrutina. Proporcionando una mayor compacidad y reutilización de los programas, debido a que permite programar de forma modular.

Flat assembler (FASM): es un ensamblador libre, multi-paso, con el estilo de la sintaxis de Intel que soporta las arquitecturas IA-32 y x86-64. El FASM está escrito en lenguaje ensamblador, viene con el código fuente completo, y fue capaz de ensamblarse a sí mismo (bootstrapping) desde la versión 0.90 del 4 de mayo de 1999.

Es notable por su velocidad rápida, optimizaciones de tamaño, portabilidad, poderosas capacidades de macro, y la comunidad del foro en línea. Sin embargo, casi no usa opciones en la línea de comandos. Hay disponibles archivos binarios y de código fuente para Linux, Windows(incluyendo un IDE de desarrollo), DOS, OpenBSD, MenuetOS, OctaOS, y DexOS. FASM contiene vínculos (bindings) para la GUI de Windows yOpenGL.


Turbo assembler (TASM): es un equipo ensamblador (software para el desarrollo del programa) desarrollado porBorland que se ejecuta en generar código de 16 o 32 bits x86 MS-DOS o Microsoft Windows . Se puede utilizar con de Borland lenguaje de alto nivel compiladores , como Turbo Pascal, Turbo Basic, Turbo C and Turbo C++.

TASM puede montar Microsoft Macro Assembler fuente (MASM) utilizando su modo de MASM y tiene un modo de ideales con algunas mejoras. Programación orientada a objetos ha sido apoyada desde la versión 3.0. La última versión de Turbo Assembler es de 5,4, con los archivos de fecha 1996 y parches hasta 2010.


WinAsm Studio: es una aplicación de interfaz de usuario multilingüe (MUI) lo que significa que se puede configurar todo de su interfaz gráfica de usuario que se mostrará en el idioma de su elección. Es un entorno de desarrollo integrado (IDE) gratuito para desarrollar programas en Windows 32-bit y DOS 16-bit utilizando Microsoft Macro Assembler MASM y FASM utilizando el Add-In para FASM. Ha sido escrito por Antonis Kyprianou (akyprian).


Easy Code: Entorno visual de desarrollo en lenguaje ensamblador. Easy Code es el entorno visual de programación en ensamblador hecho para generar aplicaciones de 32 bits para Windows. La interfaz de Easy Code, muy parecida a la de Visual Basic, le permite programar una aplicación en ensamblador de manera rápida y fácil como nunca antes había sido posible.

RadASM: es un IDE gratuito para ensambladores de 32 bits para Windows. Soporta MASM, TASM, FASM, NASM, GoASM y HLA.


Fresh IDE: Es un IDE visual para el lenguaje ensamblador con un compilador integrado Flat assembler (FASM). Está escrito en Fresh IDE y es una aplicación independiente compilable. Es totalmente compatible con FASM y puede ser compilado también con todas las versiones de FASM. El objetivo principal de Fresh IDE es hacer la programación en ensamblador tan rápido y eficiente como en los lenguajes de alto nivel, sin sacrificar el tamaño de una pequeña aplicación que potencia el lenguaje ensamblador. Se trata de una aplicación Windows, pero se ejecuta en Wine muy bien y puede crear, compilar, depurar y ejecutar aplicaciones para Windows y Linux en Windows y Linux.


Assembler IDE: Se trata de un entorno de desarrollo para código ensamblador, cuyo propósito es automatizar al máximo este proceso integrando el editor de código, el depurador (debugger) y el desensamblador. Entre las posibilidades que nos ofrece el entorno Assembler IDE, destacan la depuración de código (debugging), el editor de código, el desensamblador o la compilación con NASM, TASM/MASM y FASM.


Visual Studio Code: es un editor de código fuente desarrollado por Microsoft para los de Windows , Linux y macOS . Incluye soporte para la depuración , embebido Git control, resaltado de sintaxis , completado de código inteligente , fragmentos , y refactorización de código . También es adaptable, así los usuarios pueden cambiar el editor de tema , atajos de teclado , y las preferencias. Es gratuita y de código abierto , aunque la descarga oficial está bajo una licencia propietaria. Cuenta con un paquete descargable (x86 and x86_64 Assembly) TextMate / Sublime / VS Código / Atom que proporciona soporte de idioma para el lenguaje ensamblador x86_64 en una variedad de dialectos (nasm / yasm principalmente, pero podría destacar TASM / gas hasta cierto punto).

Software de paga:


Visual Studio 2015: es un completo entorno de desarrollo integrado para crear aplicaciones espectaculares para Windows, Android e iOS, además de aplicaciones web y servicios de nube innovadores.

  • Herramientas y servicios para proyectos de cualquier tamaño o complejidad.
  • C#, Visual Basic, F#, C++, Python, Node.js y HTML/JavaScript.
  • Planificación de sprint.
  • Depuración y creación de perfiles avanzadas, pruebas automatizadas y manuales.
  • DevOps con implementaciones automatizadas y supervisión continua.