distintas formas de contar - cs.buap.mxhilario_sm/slide/ensamblador 2012-ok... · primos de 4 bits....
TRANSCRIPT
-
+ 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