domingo, 20 de noviembre de 2016

emu8086 pregunta (10)


ejemplo 1 

 org 100h
comienzo: 
mov si, x
mov al, msg2[si]
cmp msg[si], al ;comparar letra por letra las cadenas, si uno no coincide manda directamente a fin y termina el programa
jne fin:
cmp msg[si], "$" ;si es el final y el programa llega aca, quiere decir que son iguales
jz final:
inc x
loop comienzo
final:
mov dx, offset msg3 
mov ah, 9
int 21h
fin:
ret
msg db "hello world $" 
msg2 db "hello world $" 
msg3 db "Son iguales $"
x dw 0         

ejemplo 2 

ORG 100h
MOV SI, 0 ;ponemos si en 0
comienzo: 
MOV AL, msg2[0] ;copiar la primera letra de la palabra a al
CMP msg[SI],"$" ;si es el fin de la cadena mandar a final
JZ final
CMP msg[SI], AL ;comparar si encuentra la primera letra de la cadena
JNE seguir

 MOV DI, 1 ;poner en 1 di
 comprobar:
 MOV AL, msg2[DI]
 MOV BX, DI
 CMP msg[SI+BX], AL ;posicion de la letra coincidente + di, comparar con la cadena
 JNE seguir ;si no coincide mandar a seguir

 INC DI ;incrementar di para seguir recorriendo cadena 

 CMP msg2[DI],"$" ;si es el fin de la cadena y el programa llego aca quiere decir que la cadena es parte de la palabra
 JZ resultado 

 LOOP comprobar ;bucle para recorrer cadena 

seguir: 
INC SI ;para seguir recorriendo la palabra
LOOP comienzo ;bucle principal para recorrer palabra
resultado:
MOV DX, OFFSET msg3 ;copiar msg3 a dx
MOV AH, 9 ;preparar ah con 9 para la interrupcion 21h
INT 21h ;mostrar contenido en dx
final:
RET
msg DB "Hola Mundo$" 
msg2 DB "ola$" 
msg3 DB "Si es subcadena$" 

ejemplo 3 

name "calc-sum"

ORG 100h ; directive make tiny com file.

; calculate the sum of elements in vector,
; store result in m and print it in binary code.

; number of elements:
MOV CX, 5

; al will store the sum:
MOV AL, 0

; bx is an index:
MOV BX, 0

; sum elements:
next: ADD AL, vector[BX]

; next byte:
INC BX

; loop until cx=0:
LOOP next


; store result in m:  
MOV m, AL


; print result in binary:
MOV BL, m
MOV CX, 8
print: MOV AH, 2   ; print function.
       MOV DL, '0'
       TEST BL, 10000000b  ; test first bit.
       JZ zero
       MOV DL, '1'
zero:  INT 21h
       SHL BL, 1
LOOP print
; print binary suffix:
MOV DL, 'b'
INT 21h



MOV DL, 0ah ; new line.
INT 21h
MOV DL, 0dh ; carrige return.
INT 21h


; print result in decimal:
MOV AL, m
CALL print_al




; wait for any key press:
MOV AH, 0
INT 16h



RET

; variables:
vector DB 5, 4, 5, 2, 1
m DB 0


print_al PROC
CMP AL, 0
JNE print_al_r
    PUSH AX
    MOV AL, '0'
    MOV AH, 0eh
    INT 10h
    POP AX
    RET 
print_al_r:    
    PUSHA
    MOV AH, 0
    CMP AX, 0
    JE pn_done
    MOV DL, 10
    DIV DL    
    CALL print_al_r
    MOV AL, AH
    ADD AL, 30h
    MOV AH, 0eh
    INT 10h    
    JMP pn_done
pn_done:
    POPA  
    RET  
ENDP    

ejemplo 4

org 100h;
jmp inicio;
titulo db  "Presentacion de Integrantes!! $";
integrante1 db  "Primer Integrante $";
nombre1 db " Mi Nombre es Diana $";
Edad1 db "Mi Edad: Tengo 21 Años $";
Vivo1 db "Vivo en: Cerca del Portal 80 Barrio Bolivia $"
MeGusta db "Me gustan los Perros $";
integrante2 db "Segundo Integrante $";
nombre2 db " Mi Nombre es Edgar Andres Ortiz $";
Edad2 db "Mi Edad: Tengo 26 Anos $";
Vivo2 db "Vivo en: Suba Barrio Nueva Tibabuyes $";
Trabajo db "Trabajo como Coordinador TIC en una empresa de Gestión Documental$";
inicio:;
mov ah,9;
mov dx,offset titulo;
int 21h;
mov ah,9;
mov dx,offset integrante1;
int 21h;
mov ah,9;
mov dx,offset nombre1;
int 21h;
mov ah,9;
mov dx,offset Edad1;
int 21h;
mov ah,9;
mov dx,offset Vivo1;
int 21h;
mov ah,9;
mov dx,offset MeGusta;
int 21h;
mov ah,9;
mov dx,offset integrante2;
int 21h;
mov ah,9;
mov dx,offset nombre2;
int 21h;  

ejemplo 5 

name "calc-sum"

ORG 100h ; directive make tiny com file.

; calculate the sum of elements in vector,
; store result in m and print it in binary code.

; number of elements:
MOV CX, 5

; al will store the sum:
MOV AL, 0

; bx is an index:
MOV BX, 0

; sum elements:
next: ADD AL, vector[BX]

; next byte:
INC BX

; loop until cx=0:
LOOP next


; store result in m:  
MOV m, AL


; print result in binary:
MOV BL, m
MOV CX, 8
print: MOV AH, 2   ; print function.
       MOV DL, '0'
       TEST BL, 10000000b  ; test first bit.
       JZ zero

       MOV DL, '1'                   



emu8086 hola mundo


org 100h;
jmp inicio;
titulo db "Lenguaje de Maquina$";
nombre db "Diana Gil$";
inicio:;
mov ah,9;
mov dx,offset titulo;
int 21h;
mov ah,9;
mov dx, offset nombre;
int 21h;
int 20h;
ret            

El lenguaje ensamblador



El lenguaje ensamblador, o assembler (en inglés assembly language y la abreviación asm), es un lenguaje de programación de bajo nivel Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuito integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente son portátiles.



miércoles, 12 de octubre de 2016


la computacion
 cuántica


La computación cuántica está siendo noticia estos días por conseguir grandes avances en su desarrollo pero, muy probablemente, te estés preguntando qué es exactamente la computación cuántica y qué representa para el futuro de la informática y los sistemas computacionales 



Una de las primeras cosas que debes olvidar para comprender la computación cuántica es el funcionamiento de los ordenador actuales La computación cuántica deja a un lado los sistemas lógicos empleados por los sistemas informáticos actuales y utilizan el modelo de los estados del átomo para realizar sus procesos.

lunes, 5 de septiembre de 2016

Historia Informatica

Historia Informática

Hablar de computación, es hablar de un tema apasionante en todos los sentidos, nos hace soñar sobre el futuro, nos hace discutir sobre las tecnologías apropiadas y sus costos, las políticas para desarrollar una industria, institución y un país. Pero fundamentalmente hablar de computación o informáticas hablar de la necesidad de recursos humanos capacitados, de los cambios en la forma de trabajar y los nuevos empleos, de las nuevas posibilidades de desarrollo individual y hasta de aprendizaje con la inserción de la computadora; hablar de computación es hablar de educación.
Resultado de imagen para historia informatica


Sistemas Numericos

SISTEMAS NUMÉRICOS

En aritméticaálgebra y análisis matemático, un sistema numérico es un conjunto provisto de dos operaciones que verifican ciertas condiciones relacionadas con las propiedades conmutativaasociativa y distributiva. El conjunto de los números enteros, los racionales o los reales son ejemplos de sistemas numéricos, aunque los matemáticos han creado muchos otros sistemas numéricos más abstractos para diversos fines. Además debe tenerse en cuenta que dado un sistema numérico existen diversas formas de representarlo, por ejemplo en los enteros podemos usar la representación decimal, la binaria, la hexadeciamal, etc. En los racionales podemos optar por representarlos de manera decimal o como fracción de enteros, etc.
                           Resultado de imagen para sistema numerico


Sistema Binario

Sistema Binario: El sistema binario, llamado también sistema diádico en ciencias de la computación, es un sistema de numeración en el que los números se representan utilizando solamente dos cifras: cero y uno (0 y 1). Es uno de los sistemas que se utilizan en las computadoras, debido a que estas trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeración natural es el sistema binario (encendido 1, apagado 0).


Sistema Octal:

El sistema numérico en base 8 se llama octal y utiliza los dígitos del 0 al 7.

En informática a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos. Sin embargo, para trabajar con bytes o conjuntos de ellos, asumiendo que un byte es una palabra de 8 bits, suele ser más cómodo el sistema hexadecimal, por cuanto todo byte así definido es completamente representable por dos dígitos hexadecimales.
                                                


Sistema decimal
El sistema de numeración decimal, también llamado sistema decimal, es un sistema de numeración posiciona en el que las cantidades se representan utilizando como base aritmética las potencias del número diez.
                                  
Sistema hexadecimal
El sistema hexadecimal (abreviado como 'Hex', no confundir con sistema sexagesimal) es el sistema de numeración posicional que tiene como base el 16. Su uso actual está muy vinculado a la informática y ciencias de la computación, pues los computadores suelen utilizar el byte u octeto como unidad básica de memoria; y, debido a que un byte representa  valores posibles, y esto puede representarse como  , que equivale al número en base 16 , dos dígitos hexadecimales corresponden exactamente a un byte.

                              



                               

Unidades Electrica

UNIDADES ELÉCTRICAS


Las unidades de la electricidad definidas por el Sistema Internacional para las magnitudes relacionadas por la ley de Ohm son: el voltio para la tensión; el amperio para la intensidad; y el ohmio para la resistencia.
                              Resultado de imagen para unidades eléctricas

Voltio


El voltio es la unidad del SI para el potencial eléctrico, la fuerza electromotriz y el voltaje. Recibe su nombre en honor de Alessandri Volta, quien en 1800 inventó la primera batería química. Es representado simbólicamente por la letra V. Se define como la diferencia de potencial a lo largo de un conductor cuando una corriente con una intensidad de un amperio consume un vatio de potencia.

                                   Resultado de imagen para voltio electricidad simbolo

Amperio


El amperio es la unidad del SI para la intensidad de corriente eléctrica. Fue nombrado en honor de André-Marie Ampère. Un amperio es la intensidad de corriente que, al circular por dos conductores paralelos, rectilíneos, de longitud infinita, de sección circular despreciable y separados entre sí en el vacío a lo largo de una distancia de un metro, produce una fuerza entre los conductores de 2·10-7 newton por cada metro de conductor; también se puede conceptualizar como el paso de un Culombio (6.24 · 1018electrones) en un segundo a través de un conductor. Se representa con la letra A.

                                                           Resultado de imagen para Amperio electricidad

Ohmio


El ohmio es la unidad del SI para la resistencia eléctrica. Se representa con la letra griega Ω. Su nombre deriva del apellido del físico Georg Simon Ohm, que definió la ley del mismo nombre. Un ohmio es la resistencia eléctrica que presenta una columna de mercurio de 106,3 cm de altura y 1 mm2 de sección transversal, a una temperatura de 0 °C.

                                                  Resultado de imagen para ohmio electricidad

Multimetro

MULTIMETRO

Un multímetro, también denominado polímetro, o tester, es un instrumento eléctrico portátil para medir directamente magnitudes eléctricas activas, como corrientes y potenciales (tensiones), o pasivas, como resistencias, capacidades y otras.
                                                           
Funciones comunes 
  1. Multímetro o polímetro analógico

    1.
    Las tres posiciones del mando sirven para medir intensidad en corriente continua (D.C.), de izquierda a derecha, los valores máximos que podemos medir son: 500 μA, 10 mA y 250 mA (μA se lee micro amperio y corresponde a 
    A=0,000001 A y mA se lee miliamperio y corresponde a  =0,001 A).
    2. Vemos 5 posiciones, para medir tensión en corriente continua (D.C.= Direct Current), correspondientes a 2.5 V, 10 V, 50 V, 250 V y 500 V, en donde V=voltios.
    3. Para medir resistencia (x10 Ω y x1k Ω); Ω se lee ohmio. Esto no lo usaremos apenas, pues observando detalladamente en la escala extralimitada que está debajo del número 6 (con la que se mide la resistencia), verás que no es lineal, es decir, no hay la misma distancia entre el 2 y el 3 que entre el 4 y el 5; además, los valores decrecen hacia la derecha y la escala en lugar de empezar en 0, empieza en (un valor de resistencia igual a significa que el circuito está abierto). A veces usamos estas posiciones para ver si un cable está roto y no conduce la corriente.
    4. Como en el apartado 2, pero en este caso para medir corriente alterna (A.C.:=Alternating Current).
    5. Sirve para comprobar el estado de carga de pilas de 1.5 V y 9 V.
    6. Escala para medir resistencia.
    Escalas para el resto de mediciones. Desde abajo hacia arriba vemos una  de 0 a 10, otra de 0 a 50 y una última de 0 a 250

    .                                
Avómetro modelo 7. Década 1960-70
Avómetro modelo 8. Década 1970-80