Ensamblador
ENSAMBLADOR
1. Sistemas Numéricos
Un sistema numérico es un conjunto de reglas y símbolos que nos permiten escribir números. Números: reales negativos y positivos, y enteros negativos y positivos.
Representación de números enteros no negativos Sea R (base o radio) un número mayor o igual que 2, entonces pueden representarse números enteros como una cadena dedígitos escogidos entre 0, 1, 2, ..., R1. Donde la cadena es la representación en base R del entero. La base de un sistema numérico es el número de dígitos que pueden aparecer en cada posición en el sistema numérico. Ejemplo: R=3 dígitos={0,1,2} Base 10 Base 3 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, .... 0, 1, 2, 10, 11, 12, 20, 21, 22, 100, 101, 102, 110, 111, 112, 120,121, 122,
Conversión entre bases Sea el número akak-1….a1, un entero en base R. Para convertir este número de base R a base Q utilizamos la conversión: k-1 k-2 0 akR +ak-1R +…+a1R (Expresión uno) Donde R es la base en la que se encuentra el número (base actual), k es el número de dígitos que conforman el número y Q es la nueva base (se debe trabajar con aritmética en base Q). Se le conoce comoRepresentación Polinomial. Ejemplos: 1) Convertir (100110)2 ( )10 R=2 k=6 Q=10 a6=1, a5=0, a4=0, a3=1, a2=1, a1=0 6-1 6-2 6-3 6-4 6-5 6-6 5 4 3 2 1 0 1*2 +0*2 +0*2 +1*2 +1*2 +0*2 = 1*2 +0*2 +0*2 +1*2 +1*2 +0*2 = 5 2 1 1*2 +1*2 +1*2 = 32+4+2 = 38 Finalmente obtenemos que: (100110)2 (38)10 2) Convertir (4302)5 ( )3 1
MC Beatriz Beltrán Martínez
R=5 Q=3 k=4 a4=4, a3=3, a2=0, a1=2 Se debetrabajar con aritmética en base 3, por lo tanto necesitamos las tablas de suma y multiplicación en base 3. 3 2 1 0 3 2 0 4*5 +3*5 +0*5 +2*5 = 11*12 +10*12 +2*12 = 11*11122+10*221+2*1 = 200112+2210+2 = 210101 Realizando las sumas y multiplicaciones debidas en base 3, obtenemos: (4302)5 (210101)3 Conversión de números de base R a base 10 (donde R10) Algoritmo 1. (Regla de Horner para la evaluaciónde polinomios) 1. i k, num 0 2. Mientras i1 hacer num num*R+ai i i-1 fin_mientras 3. Fin Ejemplo: Convertir (4302)5 ( )10 Conversión de números de base 10 a base S (donde S 10) Algoritmo 2. 1. i 1, q 0, p 0 2. Repetir q [x/s] (parte entera) p x-q*s (residuo) ai p, i i+1, x q hasta q=0 3. Fin Ejemplo: Convertir (577)10 (
)3
Conversión de números de base X a base10 (donde X 10) Números fraccionarios Algoritmo 3. 1. i m, num 0 2 .Mientras i>1hacer num (num+bi)/X i i-1 fin_mientras 3. Fin 2
MC Beatriz Beltrán Martínez
Ejemplo: Convertir (.A06)16(
)10
Conversión de números de base 10 a base S (donde S 10) Números fraccionarios Algoritmo 4. 1. i 1 2. Mientras i m hacer X x*s Y [x] (parte entera) X x-y, bi y, i i+1fin_mientras 3. Fin Donde m es el número de dígitos que se desean obtener, x es el número a convertir inicialmente, S es la nueva base y bi es el i-ésimo dígito del número en base s tomando el orden b1b2…bm Conversión de potencias de 2 Para convertir números de base 2 a base k, donde k puede expresarse como una x potencia de 2, es decir, k=2 donde x>1 y es un número entero, se llevan a cabo lossiguientes pasos: 1. Se agrupan de x en x los dígitos que se encuentran a la izquierda del punto, comenzando a partir de él y aumentando ceros a la izquierda cuando es necesario. 2. Se agrupan de x en x los dígitos que se encuentran a la derecha del punto comenzando a partir de éste y aumentando ceros a la derecha cuando sea necesario. 3. Se sustituyen los grupos por los dígitos correspondientes en labase k. Ejemplo: 4 (1110010100.011011)2 ( )16 Donde 16=2 0011 1001 0100 . 0110 1100 Resultado: 3 9 4 . 6 C (1110010100.011011)2 a (394.6C)16 Para convertir números de base k=2 a base 2, se sustituye cada dígito en base k por los x dígitos binarios correspondientes. Ejemplo: (7402.61)8 ( )2 7 4 0 2 . 6
3 x
1
Donde 8=2 Resultado:
3
MC Beatriz Beltrán Martínez
111 100 000 010...
Regístrate para leer el documento completo.