miércoles, 7 de marzo de 2018

Base de datos de Banco Con Commit

create database Bancos;
use Bancos;

create table sucursal(id_cuenta int primary key, id_usuarios_fk int, saldo int );
create table clientes (id_cliente int primary key, nombre_clie varchar(50),telefono varchar(15));

alter table sucursal add foreign key( id_usuarios_fk)
references clientes (id_cliente)
on update cascade on delete cascade;

insert into clientes values(1,"Armando","12345"),(2,"Pedro","12356"),(3,"Luz","14725");
insert into sucursal values(1,4,6000),(2,5,7000),(3,6,3000);

begin;
update sucursal set saldo = saldo + 2000 where id_cuenta=1;
commit;

select *from sucursal;
select * from clientes;



https://www.youtube.com/watch?v=Tgx1OpXcbzA&feature=youtu.be

Aportacion de Eduardo Aquino Loop

 mov ah, 09h ;imprimimos el mensaje 2 parte 1

 mov dx,offset mensaje2  ;imprimimos el mensaje 2 parte 2

 int 21h  ;imprimimos el mensaje 2 parte 3

 mov ah,01     ;pausa y espera a que el usuario presione una tecla

 int 21h           ;interrupcion para capturar

 sub al,30h     ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero

 mov n2,al     ;Guardamos lo que el usuario preciono el n2


 mov cl,al ; movemos lo que esta en al a cl para decirle al ciclo cuantas vueltas va a dar

 sub cl,1 ;le restamos 1 para que no de una vuelta de mas


call ciclo ;llamada a ciclo


ciclo:  ;Funcion

 call ciclo1 ;llamada el procediemto 1


ciclo1 proc near : ;procedimiento ciclo

  mov al,n1 ;potencia parte 1

  mov bh,n3 ;potencia parte 2

  mul bh ;potencia parte 3


  mov n1,al


  loop ciclo1 ;loop a la funcion ciclo


  mov ax,4c00h ;fin parte 1

  int 21h; fin parte 2



fin: ;funcion fin

 mov ax,4c00h      ;funcion que termina el programa

 int 21h

end inicio



















En TurboAsembler

datos segment
    mensaje db 10,13"Dame un numero",10,13,"$"
    mensaje2 db 10,13 ,"Dame un la potencia",10,13,"$"
    n1 db 0
    n2 db 0
    n3 db 0
datos ends
   
codigo segment
    assume ds:datos,cs:codigo

inicio:     ;función inicio
 mov ax,datos ;Movemos el segmento data a ax
 mov ds,ax ; Movemos lo que esta en ax a ds
 mov dx,offset mensaje ;Imprimimos el primer mensaje parte 1
 mov ah, 09h ;Imprimimos el primer mensaje parte 2
 int 21h ;Imprimimos el primer mensaje parte 3

 mov ah,01     ;pausa y espera a que el usuario presione una tecla
 int 21h        ;interrupción para capturar
 sub al,30h   ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
 mov n1,al ;Movemos lo que esta en al a la variable n1
 mov n3,al  ;Movemos lo que esta en al a la variable n3

 mov ah, 09h ;imprimimos el mensaje 2 parte 1
 mov dx,offset mensaje2  ;imprimimos el mensaje 2 parte 2
 int 21h  ;imprimimos el mensaje 2 parte 3
 mov ah,01     ;pausa y espera a que el usuario presione una tecla
 int 21h           ;interrupcion para capturar
 sub al,30h     ;lo que el usuario presiono se guarda en al y se le resta 30h para convertirlo a un numero
 mov n2,al     ;Guardamos lo que el usuario preciono el n2

 mov cl,al ; movemos lo que esta en al a cl para decirle al ciclo cuantas vueltas va a dar
 sub cl,1 ;le restamos 1 para que no de una vuelta de mas

call ciclo ;llamada a ciclo

ciclo:  ;Funcion
 call ciclo1 ;llamada el procediemto 1

ciclo1 proc near ;procedimiento ciclo
  mov al,n1 ;potencia parte 1
  mov bh,n3 ;potencia parte 2
  mul bh ;potencia parte 3

  mov n1,al
  loop ciclo1 ;loop a la funcion ciclo
  mov ax,4c00h ;fin parte 1
  int 21h; fin parte 2
  ciclo1 endp
  
fin: ;funcion fin
 mov ax,4c00h      ;funcion que termina el programa
 int 21h
 
codigo ends
end inicio

lunes, 5 de marzo de 2018

Aportaciones De Armando Morreal en loop

En Emu8086:

org 100h

.data
    mensaje db "Programa que utiliza loop e imprime del 0 al 9",13,10,"$"

.code   
inicio:
    mov ax,@data
    mov ds, ax
    mov dx,offset mensaje
    mov ah,09h
    int 21h

MOV DL, "0";se transfiere la letra 0 al registro de datos en el byte bajo
MOV CX, 10;se transfiere 10 al registro contador
PRINT_LOOP:;va a imprimir hasta acabar las 26 interaciones
MOV AH, 02;se transifiere 02 al acumulador de byte alto
INT 21h; se realiza la interrupcion del dato ascii leido desde el teclado
INC DL;siguiente caracter numerico
LOOP PRINT_LOOP;continua hasta acabar las 10 vueltas

ret



En TurboAsembler:



.model small
.stack 64

datos segment
.model small
.stack 64

datos segment
    mensaje db "Programa que utiliza loop e imprime del 0 al 9",13,10,"$"
datos ends

codigo segment
  assume cs:codigo, ds:datos
inicio:
    mov ax,datos
    mov ds, ax
    mov dx,offset mensaje
    mov ah,09h
    int 21h

MOV DL, "0";se transfiere la letra 0 al registro de datos en el byte bajo
MOV CX, 10;se transfiere 10 al registro contador
PRINT_LOOP:;va a imprimir hasta acabar las 26 interaciones
       MOV AH, 02;se transifiere 02 al acumulador de byte alto
       INT 21h; se realiza la interrupcion del dato ascii leido desde el teclado
       INC DL;siguiente caracter numerico
LOOP PRINT_LOOP;continua hasta acabar las 10 vueltas 
codigo ends

end inicio



Aportacion de Nuetra Maestra :D en loops

EN Emu8086 :

.model small
.stack 64

.data         
                ;   Mensaje1 db "instrucciones de repeticion

.code 


inicio:

   
    mov al,'>'  ;   Caracter inicial
    mov cx,10   ;   Numero de veces a repetir el ciclo
leer_car:
   
     mov ah,0EH ;   Funcion para imprimir el caracter AL
     int 10h    ;   Llama al BIOS
     
    ;mov ah, 01     Aqui pide el dato y lo imprime 
     mov ah,01  ;   Pausa y espera a que el usuario precione una tecla
     int 21h    ;   Interrupcion para capturar

     
     cmp al,'S' ;   El caracter leeido la int 16h lo guarda en al
   
loopz leer_car  ;   Toma en cuenta la comparacion del cmp, si se cumple continua

 
                ;   Coloco el fin de la linea para que baje una linea y lo baje
    mov ah,0EH  ;   Funcion del bios para imprimir caracter
    mov al,10
    int 10h
 
    MOV AL,13
    INT 10H
 
 
 
  mov ah,04ch   ;   Al terminar finaliza el programa.
  int 21h
 end inicio



En TurboAsembler:

             ;   Uso del LOOPZ, REPETICION BASADA EN
                ;   Comparacion si es igual a 0

                ;   Interrupcion para leer en el teclado INT16H

                ;   Cuando usamos la int 16H , el parametro a usar es AH = 0
                ;   Y el caracter leido quedara en AL= Caracter leido


.model small
.stack 64

.data          
                ;   Mensaje1 db "instrucciones de repeticion

.code  


inicio:

    
    mov al,'>'  ;   Caracter inicial
    mov cx,10   ;   Numero de veces a repetir el ciclo
leer_car:
    
     mov ah,0EH ;   Funcion para imprimir el caracter AL
     int 10h    ;   Llama al BIOS
      
    ;mov ah, 01     Aqui pide el dato y lo imprime  
     mov ah,01  ;   Pausa y espera a que el usuario precione una tecla
     int 21h    ;   Interrupcion para capturar

       
     cmp al,'S' ;   El caracter leeido la int 16h lo guarda en al
     
loopz leer_car  ;   Toma en cuenta la comparacion del cmp, si se cumple continua

   
                ;   Coloco el fin de la linea para que baje una linea y lo baje
    mov ah,0EH  ;   Funcion del bios para imprimir caracter
    mov al,10
    int 10h 
   
    MOV AL,13
    INT 10H
   
   
   
  mov ah,04ch   ;   Al terminar finaliza el programa.
  int 21h
 end inicio





Aportaciones de David Mendoza con Loop

En Emu8086:

.model small
.stack 64

.data
mensaje db "Ingresa el numero de veces que se repetira el mensaje (1-9)",13,10,'$'
repetir db 13,10,"Repitiendo el ciclo $"

.code
inicio proc far
   
    mov ax, @data
    mov ds, ax
   
    mov ah, 09
    lea dx, mensaje
    int 21h

    mov ah, 01
    int 21h
    sub al, 30h
   
    mov cl, al
   
    ciclo:
        mov ah, 09
        lea dx, repetir
        int 21h
    loop ciclo

    mov ax,4c00h
    int 21h
inicio endp
end





EN TurboAsembler : 


;Turbo Assembler     

.model small
.stack 64       ; Se pone el stack 

datos segment
    mensaje db "Ingresa el numero de veces que se repetira el mensaje (1-9)",13,10,'$'
    repetir db 13,10,"Repitiendo el ciclo $"
datos ends

codigo segment                              
    assume cs:codigo, ds:datos
inicio:
    
    mov ax, datos
    mov ds, ax
    
    mov ah, 09
    lea dx, mensaje
    int 21h

    mov ah, 01  ;   Leer un caracter desde el teclado con la interrupcion 21h
    int 21h
    sub al, 30h ;   Se le resta 30h para convertirlo a digito      
    mov cl, al   
    
    ciclo:
        mov ah, 09
        lea dx, repetir
        int 21h
    loop ciclo 

    mov ax,4c00h
    int 21h                                
codigo ends
end inicio








Programa Letrero 5 Veces - EMU8086 / Turbo Assembler

EN Emu8086:

.model small
.stack 64
.data

mensaje db 0AH, 0dh," Letrero cinco veces " , "$"  

.code  

inicio: 

 mov cx, 0005

ciclo: 

 mov ax, @data
 mov ds, ax
 mov dx, offset mensaje
 mov ah, 09h


int 21h

loop ciclo

 mov ah, 04ch
 int 21h
 end inicio





En TruboAsembler :

.model small
.stack 64
.data

mensaje db 0AH, 0dh," Letrero cinco veces " , "$"  

.code  

inicio: 

 mov cx, 0005

ciclo: 

 mov ax, @data
 mov ds, ax
 mov dx, offset mensaje
 mov ah, 09h


int 21h

loop ciclo

 mov ah, 04ch
 int 21h

 end inicio











Trabajo del 27 de Febrero Menu en TurboAsembler

pila segment stack 'stack'
db 100h dup (?)
pila ends
datos segment

    titulo db 13,10,'CAMBIAR FONDO DE PANTALLA',13,10,10,'Menu:',13,10,10,'$'
    mensaje db '1.-Pantalla Azul y letras Rosas',13,10,'2.-Pantalla Morada y Letras Amarillas ',13,10,'3.-Pantalla Aqua y Letras Celestes',13,10,'4.-Pantalla Roja y Letras Verdes',13,10,10,'Para salir, presione cualquier tecla...',13,10,'$'

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

    inicio:
         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

            mov ax,datos
            mov ds,ax
            lea dx,titulo
            mov ah,9h
            int 21h
            lea dx,mensaje
            mov ah,9h
            int 21h
             mov ah,08
             int 21h
             cmp al,49
             je llamarAzul
            cmp al,50
            je llamarMorado
            cmp al,51
            je llamarAqua
            cmp al,52
            je llamarRojo
            jmp fin

            fin:
            mov ax,4c00h
            int 21h
            llamarAzul:
            CALL AZULPROC
            llamarMorado:
            CALL MORADOPROC
            llamarAqua:
            CALL AQUAPROC
            llamarRojo:
            CALL ROJOPROC
         
         
            AZULPROC PROC NEAR
            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
            mov ah,06h
            mov bh,1dh
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            AZULPROC ENDP

            MORADOPROC PROC NEAR
            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
            mov ah,06h
            mov bh,5eh
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            MORADOPROC ENDP
         
            AQUAPROC PROC NEAR
            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
            mov ah,06h
            mov bh,3bh
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            AQUAPROC ENDP
         
            ROJOPROC PROC NEAR
             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
            mov ah,06h
            mov bh,4ah
            mov cx,0000h
            mov dx,184fh
            int 10h
            mov ax,4c00h
            int 21h
            RET
            ROJOPROC ENDP
            codigo ends
             end inicio

















Unidad 4: Operación y Mantenibilidad

Unidad 4: Operación y Mantenibilidad 4.1 Bitácoras de Trabajo del DBMS Una bitácora es una herramienta (archivos o registros) que pe...