martes, 27 de febrero de 2018

Programa con menú de opciones

pila segment stack 'stack'
db 100h dup (?)
pila ends
datos segment ;---------esta parte es el texto que se mostrara y las instrucciones para el usuario
titulo db 13,10,' CAMBIAR FONDO DE PANTALLA',13,10,'$'
mensaje1 db 'Presione ENTER si quiere la pantalla azul. ',13,10,'$'
mensaje2 db 'Presione la tecla 2 si quiere morado',13,10,'$'
mensaje3 db 'Presione la tecla 3 si quiere azul bajito',13,10,'$'
datos ends

codigo segment    ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos

inicio:
;-------------------------------------------- para preparar pantalla
mov ah,0
 mov al,3h  ;modo texto
 int 10h    ;interrupcion de video

 mov ax,0600h  ;limpiar la pantalla
 mov bh,0fh  ; pone el color de fonodo negro
 mov cx,0000h  ; esto es para las esquinas
 mov dx,184Fh
 int 10h
 mov ah,02h
 mov bh,00
 mov dh,00
 mov dl,00
 int 10h

;------------------------------------------------- mostrar mensajes
mov ax,datos  ;esto es la parametrizacion
mov ds,ax

lea dx,titulo   ;en estas lineas mostramos el titulo
mov ah,9h
int 21h

lea dx,mensaje1 ; mostramos el mensaje
mov ah,9h
int 21h

lea dx,mensaje2 ; mostramos el mensaje
mov ah,9h
int 21h

lea dx,mensaje3 ; mostramos el mensaje
mov ah,9h
int 21h


;--------------------------------------------------- capturaci]on de teclas
mov ah,08  ; pausa y capyuta la tecla que presione el usuario
 int 21h   ; esta interrupcion es para capturar

 cmp al,13    ; verifica si se presiono enter
 je llamarAzul  ;manda llamar a la etiqueta correspondiente

cmp al,50   ;aqui verifica si se ingreso el numero 2 (el numero dos es el numero 50 en ascii)
je llamarMorado ;manda llamar la etiqueta correspondiente

cmp al,51   ;aqui verifica si se ingreso el numero 2 (el numero dos es el numero 50 en ascii)
je llamar ;manda llamar la etiqueta correspondiente

jmp fin  ;si no se realiza nada, manda llamar a la etiqueta "fin"

;------------------------Etiquetas:
; las eiquetas contienen procedimientos almacenados que se mandan llamar con la instruccion call

fin:
mov ax,4c00h
int 21h

llamarAzul:  ; manda llamar rl procedimiento Azulproc
CALL AZULPROC

llamarMorado:  ; manda llamar el procedimiento Moracoproc
CALL MORADOPROC

llamar:  ; manda llamar el procedimiento Moracoproc
CALL llamarcolor


;----------------------------------------------Proceso AZULPROC
AZULPROC PROC NEAR

;el procedimiento para ajustar la pantalla es casi igual
mov ah,0
 mov al,3h
 int 10h
 mov ax,0600h
 mov bh,0fh
 mov cx,0000h
 mov dx,184Fh
 int 10h
 mov ah,02h
 mov bh,00
 mov dh,00
 mov dl,00
 int 10h
;-------------------------- en esta parte se ajusta el color
mov ah,06h
mov bh,1fh  ; esto es para el color de fondo y las letras
mov cx,0000h
mov dx,184fh
int 10h

mov ax,4c00h ; esto lo que hace es que una vez que haya cambiado la pantalla a color azul, se termina el programa
int 21h
RET

AZULPROC ENDP ;--------Termina el proceso

;-------------------------------------------------Proceso MORADOPROC
MORADOPROC PROC NEAR
mov ah,06h
mov bh,5eh    ;esto es lo que cambia al procedimiento anterior
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
MORADOPROC ENDP  ;--------Termina el proceso

llamarcolor PROC NEAR
mov ah,06h
mov bh,3fh    ;esto es lo que cambia al procedimiento anterior
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
llamarcolor ENDP

codigo ends ;termina el segmento codigo
end inicio;termina la etiqueta Inicio

lunes, 26 de febrero de 2018

Programa que muestra 3 mensajes

Codigo:

datos segment
    nombre db 'David', 13, 10, '$'
    apellido db 'Maldoando', 13, 10, '$'
    tel db 'Telefono: 123 456 78 90', 13, 10, '$'
    control db 'No. de control: 007', 13, 10, '$'
datos ends

codigo segment
    assume cs:codigo, ds:datos
    
    inicio:
    
   mov ah, 06h
   mov bh, 6fh
   mov cx, 0000h
   mov dx, 184fh
   int 10h
   
   mov ax, datos
   mov ds, ax
   
   lea dx, nombre
   mov ah, 9h
   int 21h
   
   lea dx, apellido
   mov ah, 9h
   int 21h
   
   lea dx, tel
   mov ah, 9h
   int 21h
   
   lea dx, control
   mov ah, 9h
   int 21h       
   
   mov ax, 4c00h
   int 21h
   
codigo ends
end inicio
    







Lista de interripciones

https://drive.google.com/file/d/1Oyz09aRBjFBNcSDsa5msbiP-e13Kdp69/view

jueves, 22 de febrero de 2018

Programa con opciones para seleccionar color de fondo (Documentado)

Código:

pila segment stack 'stack'
db 100h dup (?)
pila ends
datos segment ;---------esta parte es el texto que se mostrara y las instrucciones para el usuario
titulo db 13,10,' CAMBIAR FONDO DE PANTALLA',13,10,'$' mensaje db 'Presione ENTER si quiere la pantalla azul. Si quiere morado, presione 2',13,10,'Para salir, presione cualquier tecla',13,10,'$'
datos ends

codigo segment    ;segmento de codigo
assume cs:codigo, ss:pila, ds:datos

inicio:
;-------------------------------------------- para preparar pantalla
mov ah,0
 mov al,3h  ;modo texto
 int 10h    ;interrupcion de video

 mov ax,0600h  ;limpiar la pantalla
 mov bh,0fh  ; pone el color de fonodo negro
 mov cx,0000h  ; esto es para las esquinas
 mov dx,184Fh
 int 10h
 mov ah,02h
 mov bh,00
 mov dh,00
 mov dl,00
 int 10h

;------------------------------------------------- mostrar mensajes
mov ax,datos  ;esto es la parametrizacion
mov ds,ax

lea dx,titulo   ;en estas lineas mostramos el titulo
mov ah,9h
int 21h

lea dx,mensaje ; mostramos el mensaje
mov ah,9h
int 21h

;--------------------------------------------------- capturaci]on de teclas
mov ah,08  ; pausa y capyuta la tecla que presione el usuario
 int 21h   ; esta interrupcion es para capturar

 cmp al,13    ; verifica si se presiono enter
 je llamarAzul  ;manda llamar a la etiqueta correspondiente

cmp al,50   ;aqui verifica si se ingreso el numero 2 (el numero dos es el numero 50 en ascii)
je llamarMorado ;manda llamar la etiqueta correspondiente

jmp fin  :si no se realiza nada, manda llamar a la etiqueta "fin"

;------------------------Etiquetas:
; las eiquetas contienen procedimientos almacenados que se mandan llamar con la instruccion call

fin:
mov ax,4c00h
int 21h

llamarAzul:  ; manda llamar rl procedimiento Azulproc
CALL AZULPROC

llamarMorado:  ; manda llamar el procedimiento Moracoproc
CALL MORADOPROC

;----------------------------------------------Proceso AZULPROC
AZULPROC PROC NEAR

;el procedimiento para ajustar la pantalla es casi igual
mov ah,0
 mov al,3h
 int 10h
 mov ax,0600h
 mov bh,0fh
 mov cx,0000h
 mov dx,184Fh
 int 10h
 mov ah,02h
 mov bh,00
 mov dh,00
 mov dl,00
 int 10h
;-------------------------- en esta parte se ajusta el color
mov ah,06h
mov bh,1fh  ; esto es para el color de fondo y las letras
mov cx,0000h
mov dx,184fh
int 10h

mov ax,4c00h ; esto lo que hace es que una vez que haya cambiado la pantalla a color azul, se termina el programa
int 21h
RET

AZULPROC ENDP ;--------Termina el proceso

;-------------------------------------------------Proceso MORADOPROC
MORADOPROC PROC NEAR
mov ah,06h
mov bh,5fh    ;esto es lo que cambia al procedimiento anterior
mov cx,0000h
mov dx,184fh
int 10h
mov ax,4c00h
int 21h
RET
MORADOPROC ENDP  ;--------Termina el proceso

codigo ends ;termina el segmento codigo
end inicio;termina la etiqueta Inicio


Capturas:




miércoles, 21 de febrero de 2018

Creación de un modelo de base de datos




Registros Apuntadores e Interrupción

Registro de Apuntador de Instrucciones (IP). Es de 16 bits y contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta. El IP esta asociado con el registro CS en el sentido de que el IP indica la instrucción actual dentro del segmento de código que se esta ejecutando actualmente. Los procesadores 80386 y posteriores tienen un IP ampliado de 32 bits, llamado EIP.

Registros Apuntadores. Los registros SP (apuntador de la pila) Y BP (apuntador de base) están asociados con el registro SS y permiten al sistema accesar datos en el segmento de la pila.

  • Registro SP. El apuntador de la pila de 16 bits esta asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que esta siendo procesada en la pila. Los procesadores 80386 y posteriores tienen un apuntador de pila de 32 bits, el registro ESP. El sistema maneja de forma automática estos registros.

  • Registro BP. El BP de 16 bits facilita la referencia de parámetros, los cuales son datos y direcciones transmitidos vía pila. Los procesadores 80386 y posteriores tienen un BP ampliado de 32 bits llamado el registro EBP.

Registros Indice. Los registros SI y DI están disponibles para direccionamiento indexado y para sumas y restas.

  • Registro SI. El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas (de caracteres). En este contexto, el SI esta asociado con el registro DS. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado de 32 bits, el ESI.


  • Registro DI. El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. En este contexto, el DI esta asociado con el registro ES. Los procesadores 80386 y posteriores permiten el uso de un registro ampliado de 32 bits, el EDI.

Prácticas del día 20-Febrero-2018




Practicas del día 19-febrero-2018






miércoles, 7 de febrero de 2018

Como instalar Apache Derby y crear una base de datos

Instalacion

Ir a : https://db.apache.org/derby/derby_downloads.

Entrar en la versión mas reciente:

Una vez ahí, descargamos solo los siguientes archivos.




Una vez que tengamos las carpetas


Abrimos los siguientes archivos en su respectivo orden




Y despues ejecutamos el ij



Aquí debemos escribir el siguiente código para poder hacer la conexión:

connect 'jdbc:derby://localhost:1527//dracof;create=true'




Una vez hecho esto podemos empezar a crear nuestra Base de datos


Para mostrar los atributos de la tabla:


Para insertar datos:




Para mostrar los datos de la tabla:




Para actualizar algún dato de la tabla:



Para eliminar la tabla y salir :




Y si queremos podemos usar el DBeaver para un entorno mas amigable.
Lo que tenemos que hacer es abrir nuestros ter archivos en el orden indicado:


Cuando ejecutemos el ij y escribamos la conexion debemos cambiar la palabra "dracof" por el nombre de nuestra base de datos:

Nos vamos al Dbeaver , le damos en crear una nueva conexion y buscamos el derby:







Ahora solo la conectamos y ya podemos crear el codigo para nuestras tablas: