Professional Documents
Culture Documents
En general es posible anidar tantos ciclos como sean necesarios. Esto es muy
semejante a lo que ocurra cuando definamos una instrucción que usaba otra
instrucción definida antes.
Ejecutar un BUCLE consiste en repetir “n” veces una serie de instrucciones de una
sección del programa.
ADD y ADC realizan la suma y la suma con acarreo (bit CF del registro de estado) de
dos operandos, respectivamente, y guardan el resultado en el primero de ellos.
Admiten todos los tipos de direccionamiento (excepto que ambos operando estén en
memoria).
; J = 34+f
MOV AX, F
ADD AX, 34
MOV J, AX
SUB y SBB realizan la resta y la resta con acarreo, respectivamente, de dos operandos
y guardan el resultado en el primero de ellos. Admiten todos los modos de
direccionamiento, excepto dos operando en memoria.
; J = F-34
MOV AX, F
SUB AX, 34
MOV J, AX
Estas instrucciones afectan a los bits OF, SF, ZF, AF, PF, CF del registro de estado.
DAS realizan la corrección BCD empaquetado del resultado de una resta en AL. Actúan
de manera similar a la instrucción de ajuste de la suma.
NEG realiza la operación aritmética de negado de un operando y guarda el
resultado en el mismo operando. Admite todos los tipos de direccionamiento, excepto
inmediato.
NEG reg
NEG mem
La operación que realiza es: 0 – operando.
Estas instrucciones afectan a los bits OF, SF, ZF, AF, PF, CF del registro de estado.
DAA realizan la corrección BCD empaquetado del resultado de una suma en AL.
La mayoría de las computadoras son grandiosas para las matemáticas, esto viene a
sorprender que el lenguaje ensamblador solo tiene unos operadores matemáticos
relativamente primitivos. No hay símbolos de exponenciación, no hay punto flotante, no
hay raíz cuadradas, y no existen funciones SENO y COSENO dentro del grupo de
instrucciones del 8086. Las instrucciones Matemáticas en lenguaje ensamblador están
restringidas a sumar, multiplicar, dividir y restar valores enteros con signo o sin signo.
Instrucciones Generales
Mnemónico/Operando Descripción
Instrucciones de Adición
Instrucciones de Substracción
Instrucciones de Multiplicación
Instrucciones de División
Pero no tome esto como una pronunciada negativa en matemáticas del lenguaje
ensamblador. Aún sin una librería matemática o coprocesador, se pueden utilizar
plenamente instrucciones de enteros.
2.10 MANIPULACIÓN DE LA PILA.
Memoria Baja
0000
0002 0F00:
0004
0006
0008 200
000A 100 ss:sp3
000C ss:sp2
ss:sp1
mov ax,100
push ax ; sp2
mov bx, 200
push bx ; sp3
push ax
push bx
push cx
; ------ Programa objetivo
pop cx
pop bx
pop ax
En éste ejemplo, los registros ax, bx y cx, son posiblemente utilizados; por lo
tanto, éstos registros son almacenados en el stack para preservar los valores de los
registros. Por último, los valores son retirados (pop) del stack en orden inverso,
restaurando los valores originales de los registros y manteniendo el stack en sincronía.
PUSH reg
PUSH mem
PUSH seg-reg
POP reg
POP mem
POP seg-reg
Ejemplos:
PUSH AX ;envía a la pila AX
POP DS ;carga el primer elemento de la pila en DS
BIBLIOGRAFÍA:
http://jsanchezvalles.blogspot.mx/2010/04/instrucciones-de-lenguaje-ensamblador.html
http://expo.itch.edu.mx/view.php?f=asm_25
http://www.iuma.ulpgc.es/~armas/asignaturas/calculadoras/contenido/slides_introsoft.p
df
http://www.itescam.edu.mx/principal/webalumnos/sylabus/asignatura.php?clave_asig=S
CC-1014&carrera=ISIC-2010-224&id_d=170
http://www.youtube.com/watch?v=j1HpGAOOfbo
http://danimtzc.blogspot.mx/2012/03/saltos-ciclos-operadores-logicos-y-mas.html