Curso Ensamblador

Páginas: 25 (6053 palabras) Publicado: 21 de noviembre de 2013

Indice
1. Sistemas numéricos
2. Operaciones con bytes
2.1. AND
2.2. OR
2.3. XOR
2.4. NOT
3. El juego de registros
4. Comenzamos !!!
5. Operaciones
5.1. INC y DEC
5.2. ADD y SUB
5.3. NEG y NOT
5.4. MUL y DIV
6. Flags
6.1. Instrucciones de comparación (CMP y TEST)
7. Las instrucciones de salto
7.1. Saltos incondicionales
7.2. Saltos condicionales
7.3. Bucles
8. La pila
8.1.La orden CALL
9. Interrupciones
10. Resto de órdenes
10.1. XCHG
10.2. LEA
10.3. LDS y LES
10.4. DELAYs
10.5. Instrucciones de cadena
10.6. Datos
10.7. Acceso a puertos I/O
10.8. Anulación de interrupciones
11. Estructura COM
12. Estructura EXE
13. Apéndice A: Juego de instrucciones
14. Apéndice B: Numeración negativa
15. Agradecimientos y dedicatorias

1. Sistemas NuméricosComencemos por los sistemas de numeración que más utilizaremos al programar. El básico va a ser el sistema hexadecimal, aunque debemos de explicar antes el binario, el sistema de numeración que utiliza el ordenador.

Los números que conocemos están escritos en base 10. Esto significa que tenemos, desde el 0 hasta el 9, diez símbolos para representar cada cifra. Es decir, cada cifra ir de 0 a 9,y al superar el valor "9", cambiar a 0 y sumar uno a su cifra de la izquierda: 9+1: 10.

El sistema binario utiliza tan sólo dos símbolos, el "0" y el "1". Imaginemos que tenemos el número binario "0". Al sumarle una unidad, este número binario cambiar a "1". Sin embargo, si volvemos a añadirle otra unidad, a este número en formato binario ser el "10" ( aumenta la
cifra a la izquierda,que era 0, y la anterior toma el valor mínimo ).

Sumemos ahora otra unidad: el aspecto del número ser "11" ( tres en decimal ). Y podríamos seguir:

Binario : 0 ; 1 ; 10 ; 11 ; 100 ; 101 ; 110; 111 ; 1000 ; 1001 ; 1010,...
Decimal : 0 1 2 3 4 5 6 7 8 9 10

Esto nos permite establecer un sistema bastante sencillo de conversión del binarioal decimal;

He aquí los valores siendo n el valor de la cifra:
Cifra menos significativa:
n*2^0 = 1 si n=1 o 0 si n=0

Segunda cifra:
n*2^1 = 2 si n=1 o 0 si n=0

Tercera cifra:
n*2^2 = 4 si n=1 o 0 si n=0

Cuarta cifra:
n*2^3 = 8 si n=1 o 0 si n=0

Etc,...

Y así continuaríamos, aumentando el número alque se eleva 2. Traduzcamos entonces el número binario '10110111'

2^7+ 0 +2^5+2^4+ 0 +2^2+2^1+2^0 = 128 + 0 + 32 + 16 + 4 + 2 + 1 = 183
1 0 1 1 0 1 1 1

De todos modos, esta transformación la he puesto símplemente para que se comprenda con mas claridad cómo funcionan los números binarios. Es mucho más aconsejable el uso de una calculadora científica que permita realizarconversiones entre decimales, hexadecimales y binarios. Se hace su uso ya casi imprescindible al programar.

La razón del uso de los números binarios es sencilla. Es lo que entiende el ordenador, ya que interpreta diferencias de voltaje como activado ( 1 ) o desactivado ( 0 ), aunque no detallaré esto. Cada byte de información está compuesto por ocho dígitos binarios, y a cada cifra se le llama bit.El número utilizado en el ejemplo, el 10110111, sería un byte, y cada una de sus ocho cifras, un bit.
Y a partir de ahora, cuando escriba un número binario, lo haré con la notación usual, con una "b" al final del número ( ej: 10010101b )

Ahora me paso al hexadecimal, muy utilizado en ensamblador. Se trata de un sistema de numeración en base dieciseis. Por tanto, hay dieciseis símbolos para cadacifra, y en vez de inventarse para ello nuevos símbolos, se decidió adoptar las primeras letras del abecedario. Por lo tanto, tendremos ahora:

Hex Dec
1 --> 1
2 --> 2
3 --> 3
4 --> 4
5 --> 5
6 --> 6
7 --> 7
8 --> 8
9 --> 9
A --> 10
B --> 11
C --> 12
D --> 13
E --> 14
F --> 15
10 --> 16
11 --> 17
Etc,...

Como vemos, este sistema nos planteas bastantes...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Curso lenguaje ensamblador
  • Curso de lenguaje ensamblador
  • Curso básico de Ensamblador
  • Ensamble
  • ensamble
  • Ensamblador
  • Ensambles
  • Ensamblado

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS