Distintas formas de contar - cs.buap.mxhilario_sm/slide/ensamblador 2012-ok... · primos de 4 bits. Realice la tabla de ... Decodificador de BCD a display de siete segmentos. 0 1

  • Upload
    vodat

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

  • + 0 1

    0 0 1

    1 1 10*

  • 4510+ 2110

    6610

    + 0 1

    0 0 1

    1 1 10*

    Acarreo (Carry)

  • Ejemplo:

    Acarreo 1 1 1 1 1 1 1

    1 1 1 1 1 1 0

    + 1 0 1 0 + 1 0 1

    0 1 0 1 0 1 1

    1 1 1 1 0 1 1 1 0

  • - 0 1

    0 0 1*

    1 1 0

    Cuando se presenta una resta 0-1, se

    presta del primer digito no cero, donde

    cada cero que interviene se convierte en

    1 y el 1 que presto se convierte en 0, el

    que solicito el prstamo se resta 10-1=1 y

    los dems bits restantes se restan de

    forma estndar

  • - 0 1

    0 0 1*

    1 1 0

    -

    - -

  • - 0 1

    0 0 1*

    1 1 0

    1 1 0 0 0 1

    - 1 0 0 1 1

    0

    Paso 1

    0 1 1 1

    1 1 0 0 0 1

    - 1 0 0 1 1

    1 0

    Paso 2

    0 1

    0 1 1 1

    1 1 0 0 0 1

    - 1 0 0 1 1

    1 1 1 1 0

    Paso 3

    Cuando se presenta una resta 0-1, se

    presta del primer digito no cero, donde

    cada cero que interviene se convierte en

    1 y el 1 que presto se convierte en 0, el

    que solicito el prstamo se resta 10-1=1 y

    los dems bits restantes se restan de

    forma estndar

  • Longitud de palabra

    El nmero de bits que forma la palabra

    Nmero de componentes del vector

    Ejemplo: 1010 longitud de 4 bits

  • Ejemplo: Se quiere disear un circuito combinacional que detecte nmeros

    primos de 4 bits. Realice la tabla de verdad y elabore un programa que

    describa su funcin

    Si se considera que la

    entrada X es un vector de 4

    bits y que F es la funcin de

    salida.

  • Decodificador de BCD a display de siete

    segmentos

  • 0

    1

    1 0

    0

    1. Se elige el sustraendo* y se

    halla el complemento a uno

    (invertir los 1s 0s y los

    0s 1s).

    2. Luego se suma ese

    complemento al Minuendo.

    3. A ese resultado se le suma 1,

    sin tener en cuenta el primerdigito de la izquierda.

    * Si el sustraendo no es de la

    misma longitud que el minuendo

    se agregan ceros a la izquierdahasta que alcance la misma

    longitud que el minuendo.

    (CA1)

  • 1. Se elige el sustraendo* y se halla

    el complemento a dos (invertir

    los 1s 0s y los 0s 1s

    para despus sumarle uno).

    2. Luego se suma ese complemento

    al Minuendo

    3. A ese resultado no se tiene en

    cuenta el primer digito de laizquierda.

    * Si el sustraendo no es de la

    misma longitud que el minuendo

    se agregan ceros a la izquierdahasta que alcance la misma

    longitud que el minuendo.

    0

    1

    1 0

    (CA2)

  • BIT.Toda la memoria del ordenador se compone de dispositivos electrnicos que

    pueden adoptar nicamente dos estados, que representamosmatemticamente por 0 y 1. Cualquiera de estas unidades de informacin se

    denomina BIT, contraccin de binary digit en ingls.

    BYTE.Cada grupo de 8 bits se conoce como byte u octeto. Es la unidad de

    almacenamiento en memoria, la cual est constituida por un elevado nmero

    de posiciones que almacenan bytes. La cantidad de memoria de que disponeun sistema se mide en:

    Kilobytes (1 Kb = 1024 bytes)

    Megabytes (1 Mb = 1024 Kb)

    Gigabytes (1 Gb = 1024 Mb)Terabytes (1 Tb = 1024 Gb) o Petabytes (1 Pb = 1024 Tb).

    ESTRUCTURA ELEMENTAL DE LA

    MEMORIA.

  • Los bits en un byte se numeran de derecha a izquierda y de 0 a 7,

    correspondiendo con los exponentes de las potencias de 2 que reflejan el

    valor de cada posicin. Un byte nos permite, por tanto, representar 256

    estados (de 0 a 255) segn la combinacin de bits que tomemos.

    NIBBLE.Cada grupo de cuatro bits de un byte constituye un nibble, de forma que los

    dos nibbles de un byte se llaman nibble superior (el compuesto por los bits 4

    a 7) e inferior (el compuesto por los bits 0 a 3). El nibble tiene gran utilidad

    debido a que cada uno almacena un dgito hexadecimal:

    7 6 5 4 3 2 1 0

    nibble superior nibble inferior

  • Nmeros + y - binario

    N-1 N-2 2 1 0

    Bit mas significativo

    (MSB)

    Bit menos significativo

    (LSB)

    El signo de un nmero esta determinado por el MSB

    si el MSB=1 El nmero es

    si el MSB=0 El nmero es +

  • Ejemplo:

    Si se desea representar nmeros de 22

    Long. de palabra=2

    00 0

    01 1

    10 -0

    11 -1

    +

  • Ejemplo:

    Si se desea representar nmeros de 24

    Long. de palabra=4

    0000 +0

    0001 +1

    0010 +2

    0011 +3

    0100 +4

    0101 +5

    0110 +6

    0111 +7

    1000 - 0

    1001 -7

    1010 -6

    1011 -5

    1100 -4

    1101 -3

    1110 -2

    1111 -1

    +

    0 15

    Sin signo

    0

    +7

    Con signo

    -7

  • Nmeros con signo

    1. Aplicar CA2 al nmero

    Ejemplo: (16)10 (00010000)2

    (00010000)2 CA2 (11110000)2

    + -

    0 0 0 1 0 0 0 0

    + 1 1 1 1 0 0 0 0

    1 0 0 0 0 0 0 0 0

    0

  • Ejemplo: 24 rango: [ - 24-1, + 24-1-1 ]

    rango: [- 7, + 7 ]

    [- 2n-1-1, + 2n-1-1]

  • Complemento a dos

  • * 0 1

    0 0 0

    1 0 1

  • Ejemplo:

    1 0 1 1 1110* 1 0 1 *5101 0 1 1 5510

    0 0 0 0+ 1 0 1 1__

    1 1 0 1 1 1

  • MULTIPLICACIN POR SUMAS Y

    CORRIMIENTOS

    Como se puede observar en el ejemplo, la

    multiplicacin puede realizarse en una

    forma ms sistematizada como se indica

    enseguida, de acuerdo a los bits del

    multiplicador, comenzando por el LSB hacia

    el MSB. El algoritmo descrito a continuacin

    es especialmente til si la multiplicacin va

    hacer realizada por una mquina digital

    (circuitos o computadora digital).

  • 1) Si el primer bit en el multiplicador es 1, anote el multiplicando como

    resultado parcial.

    2) Si el primer bit del multiplicador es 0; anote ceros como resultado parcial.

    3) Se recorre el multiplicando un lugar a la izquierda.

    4) Por cada 1 en el multiplicador despus del primer bit sume el

    multiplicando al resultado parcial. Enseguida recorra el multiplicando un

    lugar a la izquierda.

    5) Por cada cero en el multiplicador despus del primer bit, no sume,

    nicamente recorra el multiplicando un lugar a la izquierda.

    6) Repita el procedimiento hasta incluir todos los bits del multiplicador.

    Algoritmo

  • DIVISIN POR RESTAS Y

    CORRIMIENTOS

    En forma similar a la multiplicacin, la divisin se puede

    sistematizar para realizarla por restas y corrimientos.

    En este algoritmo el cociente es obtenido bit por bit, as,

    cada siguiente slo puede ser 0 1. As comenzando de

    izquierda a derecha, si se puede substraer el divisor del

    dividendo, se anotar un 1 en el cociente, en caso

    contrario el dgito ser 0. Despus de cada paso se hace

    un corrimiento del divisor hacia la derecha.

  • 1 1 1 0 0 0 1 1

    or 0 1 1 0 1 1 0 0

    1 1 1 0 1 0 1 1

  • 1 1 1 0 0 0 1 1

    and 0 1 1 0 1 1 0 0

    0 1 1 0 0 0 0 0

  • NAND=not(a and b)

    NOR=not (a or b)

    XOR=X representa la

    condicin de que cualquiera de

    las entradas: A o (OR) B sea 1,e Y la condicin de que A y

    (AND) B no (NOT) sean 1

    (NAND).

    not 0 1 1 0 1 1 0 0

    1 0 0 1 0 0 1 1

  • Operaciones en Sistema Octal

    + 0 1 2 3 4 5 6 7

    0 0 1 2 3 4 5 6 7

    1 1 2 3 4 5 6 7 10

    2 2 3 4 5 6 7 10 11

    3 3 4 5 6 7 10 11 12

    4 4 5 6 7 10 11 12 13

    5 5 6 7 10 11 12 13 14

    6 6 7 10 11 12 13 14 15

    7 7 10 11 12 13 14 15 16

    Suma8

  • Ejemplos.

    1 1 1 1 1

    174068 4613.524 8630548 261.37 8

    --------------- ----------------

    102560 8 5075.114 8

    Nota: En base diez utilizamos el punto decimal para separar las

    unidades y los dgitos despus del punto representan dcimas,

    centsimas, milsimas, etc. Qu valores representan los

    smbolos despus del punto en base 8?

  • {0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20}

    {0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20}

    {0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20}

    {0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20}

  • La representacin de los nmeros en complemento a dos es la ms usada en

    los sistemas digitales, por la incapacidad que tienen de restar nmeros entre s.

    La representacin en complemento a dos permite realizar restas de dos

    nmeros usando sumas para ello.

    Resta usando Representacin en

    Complemento a Dos

  • 4385 4385

    -1215 complemento a diez 8784 +8785

    + 1

    8785 13170

    Si el dgito de mayor orden es 1 entonces el resto del resultado es la resta de

    los nmeros (4385 - 1215 = 3170) y tiene signo positivo.

    Ahora 1215 1215 6830

    -4385 complemento a diez +5615 C10 3169+1=3170

    06830

    Como el quinto dgito es cero (bit ms alto) entonces el resultado obtenido es el

    complemento a diez de la resta y por consiguiente debe obtenerse nuevamente

    el complemento a diez de 6830 , el cual es 3170 y el resultado es negativo.

    Restas de nmeros decimales usando

    complemento CA2.

  • Restas de nmeros octales usando

    complemento CA2.

    37278- 22348 55438

    + 1855448

    CA2

    37278 37278- 22348 + 55448

    1 14738

    De a +

  • Complemento de un nmero N en base b

  • Sustraccin con complemento

    base b

  • Multiplicacin8

    * 0 1 2 3 4 5 6 70 0 0 0 0 0 0 0 0

    1 0 1 2 3 4 5 6 7

    2 0 2 4 6 10 12 14 16

    3 0 3 6 11 14 17 22 25

    4 0 4 10 14 20 24 30 34

    5 0 5 12 17 24 31 36 43

    6 0 6 14 22 30 36 44 52

    7 0 7 16 25 34 43 52 61

  • Ejemplos.

    14

    25

    427 8* 56 8

    ----------

    3212

    2563

    ------------31042

  • Operaciones en Sistema

    Hexadecimal

    + 0 1 2 3 4 5 6 7 8 9 A B C D E F

    0 0 1 2 3 4 5 6 7 8 9 A B C D E F

    1 1 2 3 4 5 6 7 8 9 A B C D E F 10

    2 2 3 4 5 6 7 8 9 A B C D E F 10 11

    3 3 4 5 6 7 8 9 A B C D E F 10 11 12

    4 4 5 6 7 8 9 A B C D E F 10 11 12 13

    5 5 6 7 8 9 A B C D E F 10 11 12 13 14

    6 6 7 8 9 A B C D E F 10 11 12 13 14 15

    7 7 8 9 A B C D E F 10 11 12 13 14 15 16

    8 8 9 A B C D E F 10 11 12 13 14 15 16 17

    9 9 A B C D E F 10 11 12 13 14 15 16 17 18

    A A B C D E F 10 11 12 13 14 15 16 17 18 19

    B B C D E F 10 11 12 13 14 15 16 17 18 19 1A

    C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B

    D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C

    E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D

    F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E

    Suma16

  • Ejemplos.

    1 1 1 1 1

    9A30C 16 7DB11.4C2 16

    62F4B.21E 16 16 --------------- ----------------

    102560 8 5075.114 8

    Nota: En base diez utilizamos el punto decimal para

    separar las unidades y los dgitos despus del punto

    represntan dcimas, centsimas, milsimas, etc. Qu

    valores representan los smbolos despus del punto

    en base 8?

  • * 0 1 2 3 4 5 6 7 8 9 A B C D E F

    0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    1 0 1 2 3 4 5 6 7 8 9 A B C D E F

    2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E

    3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D

    4 0 4 C 10 14 18 1C 20 24 28 2C 30 34 38 3C

    5 0 14 A 1E 23 28 2D 32 37 3C 41 46 4B

    6 0 B 2A 2A 30 54 3C 42 48 4E 54 5A

    7 0 2A 31 38 3F 46 4D 54 5B 65 69

    8 0 38 40 48 50 58 60 68 70 78

    9 0 48 51 5A 63 6C 75 7E 87

    A 0 5 64 6E 78 82 8C 96

    B 0 6E 79 84 8F 9A A5

    C 0 84 90 9C A8 B4

    D 0 9C A9 B6 C3

    E 0 B6 C4D2

    F 0 D2 E1

    Mu

    ltip

    lic

    ac

    in

    16

  • Conversin directaBinario a octal:

    se agrupa el nmero binario en tros, y

    se rellena a la izquierda con ceros para

    completar los grupos si es necesario.

    cada grupo se interpreta como un

    dgito en octal.

    Octal a binario.

    traducimos trmino por trmino a

    grupos de tres dgitos binario cada uno.

  • 101001011101001100010112 4 5 6 4 6 1 38

  • 101001011101001100010115 2 E 9 8 B16

  • Conversin de un nmero X en

    base b a base c

    1. Se convierte de base b a decimal y de

    decimal a base c (con b>1, c>1)

    b decimal c

    2. Se desea encontrar la representacin de

    X en base c, sea y dicho nmero en

    base c

    a) X/c

    b) La operaciones se hacen en base b

  • Ejemplo 1

    1110111012 (3452 )5

    111011101 101

    -101 1011111

    01001

    -101

    1001

    -101

    1000

    -101

    0111

    -101

    10 =2

    1) X/c

    2) La operaciones se hacen en base b

    Xb Yc

    1011111 101

    0111 10011

    -101

    0101 = 5

    10011 101

    - 101 11

    01001

    -101

    0100 = 4

    11 101

    11 = 3 0

  • 5356 (3023)4

    122

    4 535

    13

    -12

    15-12

    3

    20

    4 122

    12

    02

    3

    4 20

    -20

    0

    Ejemplo 2

    0 1 2 3 4 5 10 11 12 13 14 15 20 21 22 23 24 25 30 31 32 33 34 35 40

    * 0 1 2 3 4 5

    0 0 0 0 0 0 0

    1 0 1 2 3 4 5

    2 0 2 4 10 12 14

    3 0 3 10 13 20 23

    4 0 4 12 20 24 32

    5 0 5 14 23 32 41

  • De base decimal a base 2

    1. Se multiplica el nmero por la

    base

    2. Termina hasta que la parte

    fraccionaria sea 0 o hasta un

    nmero fijo de dgitos que se desea obtener

    3. Para formar el nmero binario se

    considera solamente la parte

    entera

    Ejemplo

    .12510 (.001)2

    0.12510x 2

    0.250

    x 2

    0.50

    x 21.0

    Nota: Este proceso es el mismo para obtener de decimal otra base. Lo

    nico que cambia es el valor de la base con que se trabaja