Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Operaciones aritméticas – PLC




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    STC / CLC, FUN 40 / 41
    FUNCIÓN: ESTAS INSTRUCCIONES GESTIONAN EL FLAG DE ACARREO,
    O FLAG CY.
    EL FLAG CY SE UTILIZA EN LAS OPERACIONES MATEMÁTICAS, PARA DETECTAR:
    EXISTENCIA DE OVERFLOW EN EL RESULTADO DE UNA SUMA
    (ADD)
    EXISTENCIA DE RESULTADO NEGATIVO EN UNA SUBSTRACCIÓN
    (SUB)
    LD 0000
    STC(40)
    LD NOT 0000
    CLC(41)
    LD 1904
    OUT 1000

    Monografias.com

    SUMA BDC: ADD, FUN(30) /1 (Série C)
    LA INSTRUCCIÓN ADD EJECUTA LA SUMA ENTRE DOS DATOS DE 16 BIT
    (CANALES Y/O CONSTANTES) EN FORMATO BCD
    AL RESULTADO SE LE SUMA EL ACARREO SUMANDO 1 SI CY= ON
    LOS PARÁMETROS DE LAS INSTRUCCIONES SON 3:
    A1,A2 = SUMANDOS (#, IR, SR, HR, TIM, CNT)
    R = RESULTADO (IR, HR) = A1+A2+CY
    A1
    A2
    R
    LD 0000
    STC(40)
    ADD(30)
    HR00
    #0001
    HR00

    Monografias.com

    SUMA BDC: ADD, FUN(30) /2 (Série C)
    EN EL CASO DE ACARREO (CY = 1), LA SUMA DE LOS DOS SUMANDOS
    HA SUPERADO EL LÍMITE 9999. EL RESULTADO EFECTIVO ES ENTONCES
    10000+R
    EN EL CASO DE SUMA CON 8 O MÁS CIFRAS BCD, (SUMA COMBINADA)
    SE DEBERÁ RESETEAR CY SÓLO PARA LA PRIMERA SUMA.
    SI EL RESULTADO DE LA OPERACIÓN SUMA ES = 0, ENTONCES EL FLAG
    EQ = 1
    SI LOS SUMANDOS NO ESTÁN EN FORMATO BCD, LA OPERACIÓN NO SE
    EJECUTA Y ENTONCES ER = 1

    Monografias.com

    RESTA BDC: SUB, FUN(31) /1 (Série C)
    LA INSTRUCCIÓN SUB EJECUTA LA SUBSTRACCIÓN DE DOS DATOS DE
    16 BIT EN FORMATO BCD
    AL RESULTADO SE LE RESTA EL ACARREO O BIEN SE LE SUMA -1 SI
    CY = ON
    LOS PARÁMETROS DE LA INSTRUCCIÓN SON 3:
    Mi = MINUENDO (#, IR, SR, HR, TIM, CNT)
    Su = SUSTRAENDO (#, IR, SR, HR, TIM, CNT)
    R = RESULTADO (IR, HR) = Mi – Su – CY
    Mi
    Su
    R
    LD 0000
    STC(40)
    SUB(31)
    #0100
    00
    05

    Monografias.com

    RESTA BDC: SUB, FUN(31) /2 (Série C)
    SEGÚN LOS VALORES QUE TENGAN Mi Y Su, SE TIENEN LOS SIGUIENTES
    CASOS:
    (Gp:) RESULTADO
    (Gp:) CY
    (Gp:) EQ
    (Gp:) DATOS
    (Gp:) Mi > Su
    (Gp:) Mi = Su
    (Gp:) Mi < Su
    (Gp:) R= Mi – Su
    (Gp:) R= 0
    (Gp:) R= Mi + (10000-Su)
    (Gp:) 0
    (Gp:) 0
    (Gp:) 1
    (Gp:) 0
    (Gp:) 1
    (Gp:) 0

    SI Mi Y Su NO ESTÁN EN EL FORMATO BCD, LA OPERACIÓN NO SE
    EJECUTA, Y ER = 1

    Monografias.com

    EJEMPLO DE PROGRAMACIÓN (Série C)
    SUMA DE DATOS DE HASTA 8 DÍGITOS
    APLICACIÓN: SE TRATA DE SUMAR DOS DATOS QUE PUEDEN TENER UNA
    LONGITUD DE HASTA 8 DÍGITOS.
    ESTE PROGRAMA PUEDE LLEVARSE A CABO UTILIZANDO DIRECTAMENTE LA
    INSTRUCCIÓN DE SUMA DE DOBLE LONGITUD PERO LO HAREMOS USANDO LA
    INSTRUCCIÓN ADD NORMAL.
    LOS DATOS A SUMAR SON LOS SIGUIENTES:
    DATO A: 4 DÍGITOS MAYORES
    4 DÍGITOS MENORES
    DATO B: 4 DÍGITOS MAYORES
    4 DÍGITOS MENORES
    DM1
    DM0
    DM3
    DM2
    EL RESULTADO SE GUARDARÁ EN :
    DÍGITO NUM 9
    4 DÍGITOS MAYORES
    4 DÍGITOS MENORES
    DM6
    DM5
    DM4
    El programa debe poder detectar si alguno de los datos A o B no está en formato
    BCD. Utilizar el CARRY en las instrucciones suma.

    Monografias.com

    MULTIPLICACIÓN BCD: MUL, FUN(32) (Série C)
    FUNCIÓN: MULTIPLICA EL CONTENIDO DE LOS DATOS ESPECIFICADOS
    EN LA INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A UN
    REGISTRO.
    MUL
    A
    B
    C
    A, B = CANALES /CONSTANTES
    R = REGISTRO RESULTADO

    Monografias.com

    MULTIPLICACIÓN BCD: MUL, FUN(32) (Série C)
    MUL
    10
    #0021
    DM100
    3300
    0034
    X
    0021
    =
    714
    CH 10
    DM100= (CH 10) X 21

    Monografias.com

    DIVISIÓN BCD: DIV, FUN(33) (Série C)
    FUNCIÓN: DIVIDE EL CONTENIDO DE LOS DATOS ESPECIFICADOS EN LA
    INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A DOS REGISTROS
    (COCIENTE Y RESTO).
    DIV
    A
    B
    C
    A = DIVIDENDO
    R = COCIENTE
    B = DIVISOR
    R+1 = RESTO
    A, B = CANAL / CONSTANTE

    Monografias.com

    DIVISIÓN BCD: DIV, FUN(33) (Série C)
    DIV
    10
    #4
    LR10
    3300
    133
    CH 10
    33
    1
    LR 10
    LR 11
    4
    (CH 10) = (LR 10) X 4 + LR 11

    Monografias.com

    OPERACIONES ARITMETICAS (CS1)/1
    -(410), -L(411), -C(412), -CL(413) – Resta Binaria
    +(400), +L(401), +C(402), +CL(403) – Suma Binaria
    +B(404), +BL(405), +BC(406), +BCL(407) – Suma BCD
    -B(414), -BL(415), -BC(416), -BCL(417) – Resta BCD
    +F(454) – Suma Coma Flotante
    +D(845) – Doble Suma en coma flotante
    -F(455) – Resta Coma Flotante
    -D(846) – Resta en coma flotante de doble precisión

    Monografias.com

    +(400) y +B(404)
    Suma 2 números binarios o BCD de 16 bits.
    Au: Palabra del primer sumando.
    Ad: Plabra del segundo sumando.
    R: Palabra del resultado.
    El rango para +(400) es de -32.768 a 32.767.Para +B(404) es de 0000 a 9999
    (Gp:) +B(404)
    Au
    Ad
    R

    (Gp:) +(400)
    Au
    Ad
    R

    Binario
    BCD

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter