martes, 19 de febrero de 2019

1.7 PROCESO DE ENSAMBLADO Y LIGADO

1.7 PROCESO DE ENSAMBLADO Y LIGADO

Para poder crear un programa se requieren varias herramientas: Primero un editor para crear el programa fuente. Segundo un compilador que no es más que un programa que “traduce” el programa fuente a un programa objeto. Y tercero un enlazador o linker , que genere el programa ejecutable a partir del programa objeto.

lunes, 18 de febrero de 2019

Manual 2 Aportacion de CAMPOS ALVARADO BRUCELEE JAVIER

https://drive.google.com/file/d/1cG1pwjwfdwhkudnGl1zOLOtKyhhby422/view?usp=sharing

Ejemplo While

 
      

import math
def calculo():
    opc2=1
    while opc2 !=4:
        opc=0
        print "Menu de opciones"
        print "Seleccione la opcion"
        print "1.- Determinar si el numero es par"
        print "2.- Sacar seno y coseno de dos numeros"
        print "3.- Logaritmo de un numero"
        print "4.- Salir"
        opc = int(input("Opcion:"))
        if opc==1:
            print "Ingrese un valor:"
            a = int(input())
            residuo = a % 2
            if residuo == 0:
                print "Es un numero par"
            else:
                print  "Es un numero impar"
        elif opc==2:
            a = int(input("Ingrese un valor:"))
            b = int(input("Ingrese otro valor:"))
 
            # procedimiento de la maestra Zzz..
            sin1 = math.sin(a)
            cos1 = math.cos(a)
            sin2 = math.sin(b)
            cos2 = math.cos(b)
 
            #print "Seno del valor 1: ", sin1
            #print "Coseno del valor 1: ", cos1
            #print "Seno del valor 2: ", sin2
           # print "Coseno del valor 2: ", cos2
 
            # procedimiento mio :p
            print "El coseno del valor 1 es: ", math.cos(a)
            print "El seno del valor 1 es: ", math.sin(a)
            print "El coseno del valor 2 es: ", math.cos(b)
            print "El seno del valor 2 es: ", math.sin(b)
        elif opc==3:
            a = int(input("Ingrese un valor para logaritmo: "))
            print "El logaritmo del valor es: ", math.log10(a)
        else:
            opc2=4



Librerias Python

 
      

import math
 
 
print "Ingrese el valor de un cateto:"
a = int (input(""))
 
print "Ingrese el valor del otro cateto:"
b = int ( input(""))
 
 
res = math.hypot(a, b)
 
print "La hipotenusa del triangulo es: "  , res



Ejemplo IF

 
      
     
import time
 
h= input("Introduzca un numero:")
if h%2 == 0 :
    print "Es numero par"
else:
    print "Es numero impar"






Div ejemplo1

 
      
     aqui va el codigo

ORG 100h

call inicializar
call divaxbx
hlt;terminar proceso

inicializar:
mov ax,9
mov bx,9
ret

divtaxbx:
div bx
ret




Mult Eejemplo1

 
      

ORG 100h

call inicializar
call multaxbx
hlt;terminar proceso

inicializar:
mov ax,8
mov bx,9
ret

multaxbx:
mul bx
ret






miércoles, 13 de febrero de 2019

Mult Ejemplo 2

 
      
   .model small ;Modelo de memoria m?s utilizado
.stack

.data        ;definición de datos(variables), donde se almacenara información
.code
   chr1  db ? ;primer digito
   chr2  db ? ;segundo digito
   chr3  db ? ;multiplo
   chr4  db ?
   r1    db ? ;resultado 1
   r2    db ? ;resultado 2
   r3    db ?
   r4    db ?
   ac    db 0 ;acarreo
   ac1   db 0
.startup
   ;cls
   mov ah,00h     ;Function(Set video mode)
   mov al,03      ;Mode 80x25 8x8 16
   int 10h        ;Interruption Video

   mov ah,01h     ;Function(character read) Guarda en AL
   int 21h        ;Interruption DOS functions
   sub al,30h     ;ajustamos valores
   mov chr1,al    ;[chr1].chr2 * chr3 = ac.r1.r2

   mov ah,01h     ;Function(character read) Guarda en AL
   int 21h        ;Interruption DOS functions
   sub al,30h     ;Ajustamos valores
   mov chr2,al    ;chr1.[chr2] * chr3 = ac.r1.r2

   mov ah,02h     ;Function(character to send to standard output)
   mov dl,'*'     ;Character to show
   int 21h

   mov ah,01h     ;Function(Read character) Guarda en AL
   int 21h        ;Interruption DOS Functions
   sub al,30h     ;Transform(0dec = 30hex)
   mov chr3,al    ;chr1.chr2 * [chr3] = ac.r1.r2
  
   mov ah,01h     ;Function(Read character) Guarda en AL
   int 21h        ;Interruption DOS Functions
   sub al,30h     ;Transform(0dec = 30hex)
   mov chr4,al    ;chr1.chr2 * [chr3] = ac.r1.r2

   mov ah,02h     ;Character to send to standar output
   mov dl,'='     ;
   int 21h        ;Interruption DOS functions

   ;Realizamos operaci?n   
  
   mov al,chr4  ;unidad del segundo numero
   mov bl,chr2  ;unidad del primer numero
   mul bl       ;multiplicar
   mov ah,0     ;limpiamos ah0
   aam          ;separamos de hex a dec
   mov ac1,ah   ;decenas del primera multiplicacion
   mov r4,al    ;unidades del primera multiplicacion
            
   mov al,chr4  ;unidades del segundo numero
   mov bl,chr1  ;decentas del primer numero
   mul bl       ;multiplicar
   mov r3,al    ;movemos el resultado de la operacion a r3
   mov bl,ac1   ;movemos el acarreo a bl
   add r3,bl    ;sumamos resultado mas acarreo
   mov ah,00h   ;limpiamos ah por residuos
   mov al,r3    ;movemos el resultado de la suma a al
   aam          ;separamos  de hex a dec
   mov r3,al    ;guardamos unidades en r3
   mov ac1,ah   ;guardamos decenas en ac1
  
      

   mov al,chr3    ;al = chr3
   mov bl,chr2    ;bl = chr2
   mul bl         ;AL = chr3*chr2 (BL*AL)
   mov Ah,0h      ;
   AAM            ;ASCII Adjusment
   mov ac,AH      ;ac = AH (Acarreo)
   mov r2,AL      ;r2 = AL       (Unidad del resultado)

   mov al,chr3    ;AL = chr3
   mov bl,chr1    ;BL = chr1
   mul bl         ;AL = chr1*chr3 (BL*AL)
   mov r1,al      ;r1 = AL       (Decena del resultado)
   mov bl,ac      ;BL = Acarreo anterior
   add r1,bl      ;r1 = r1+ac (r1 + Acarreo)
   mov ah,00h     ;
   mov al,r1      ;AL = r1 (Asignaci?n para el ajust)
   AAM            ;ASCII Adjustment
   mov r1,al      ;r1 = AL
   mov ac,ah      ;ac = AH (Acarreo para la Centena del resultado)
  
  
   ;suma final
   ;R4 resulta ser las unidades de mul y no se toma en cuenta ya que se pasa entero
  
  
   mov ax,0000h   ;limpiamos ax
  
   mov al,r3      ;movemos el segundo resultado de la primera mult a al
   mov bl,r2      ;movemos primer resultado de la segunda mult a bl
   add al,bl      ;sumamos
   mov ah,00h     ;limpiamos ah
   aam            ;separamos hex a dec
   mov r3,al      ;r3 guarda las decenas del resultado final
   mov r2,ah      ;r2 se utiliza como nuevo acarreo
  
   mov ax,0000h   ;''''
  
   mov al,ac1     ;movemos el acarreo de la primera mult a al
   mov bl,r1      ;movemos segundo resultado de la segunda mult a bl
   add al,r2      ;sumamos el nuevo  acarreo de la suma anterior  a al
   add al,bl      ;sumamos al a bl
   mov ah,00h     ;limpiamos el registro ah
   aam            ;separamos de hex a dec
   mov r1,al      ;r1 guarda las centenas
   mov r2,ah      ;ah se sigue utilizando como acarreo
  
   mov al,r2      ;movemos el acarreo a al
   mov bl,ac      ;movemos ac a bl
   add al,bl      ;sumamos al a bl
   ;aam            ;separamos hex a dec
   mov ac,al      ;mov al a ac como nuestro acarreo final
  
 
  
   ;Mostramos resultado
   mov ah,02h 
   mov dl,ac
   add dl,30h
   int 21h        ;Mostramos ac (millar)

   mov ah,02H
   mov dl,r1
   add dl,30h
   int 21h        ;Mostramos r1 (centena)

                 
  
   mov ah,02H
   mov dl,r3
   add dl,30h
   int 21h        ;Mostramos r3 (decena)
  
   mov ah,02H
   mov dl,r4
   add dl,30h
   int 21h        ;unidad
  
.exit
end