Mult 4 Bytes 8080

Embed Size (px)

DESCRIPTION

MICROPROCESADOR 8080 MULTIPLICACION DE 4 BYTES

Citation preview

; *******************************************************************************; UNIVERSIDAD MAYOR DE SAN ANDRES; FACULTAD DE INGENIERIA; CARRERA DE INGENIERIA ELECTRONICA; ETN 801 - MICROPROCESADORES; ********************************************************************************; Programa: Multiplicacion de 2 bytes por 2 bytes, usando desplazamiento; a la izquierda; Procesador : 8080/8085; Univ. Ren Alonzo Choque Saire; 10/06/05; ********************************************************************************; ************** DATOS **********************************.dseg.org 0400hMCando .byte 0 ;Multiplicando.byte 2MCador .block 0 ;Multiplicador.byte 4Prod .block 4 ;ProductoAuxCando .block 4 ;Multiplicando AuxiliarAuxCador .block 2 ;Multiplicador Auxiliar; ************** PROGRAMA **********************************.cseg;INICIAR VARIABLESmvi h, 0 ;Borrar Productomvi l, 0shld Prodshld Prod + 2shld AuxCandolhld MCando ; Transfiriendo Multiplicandoshld AuxCando +2lhld MCador ;Transfiriendo Multiplicadorshld AuxCadormvi e,16 ;Contador del proceso;ANALIZAR BITSContinuar: ana a ;CY = 0lda AuxCadorrarsta AuxCadorlda AuxCador + 1rarsta AuxCador + 1; Desicion Bit = 0 o 1jnc Bit0; Si bit es igual a 1 ;ACTUALIZAR PRODUCTOmvi d,4 ;Contadorlxi h,Prod +4lxi b,AuxCando + 4ana a ;CY = 0;CicloCiclo0: dcx hdcx bldax badc mmov m,adcr djnz Ciclo0;DESPLAZAR MULTIPLICANDO AuxiliarBit0:mvi d,4lxi h,AuxCando + 4ana aCiclo1: dcx hmov a,mralmov m,adcr djnz Ciclo1; ULTIMO PROCESO ?dcr ejnz Continuarhlt.end