como usar las instrucciones...
JMP, JA, JG, JAE , JGE , JB , JL ,JBE, JLE , JE ,JNE, JZ ,JNZ
como es el funcionamiento de cada una de las instrucciones anteriores, favor explicar con uno o varios
ejemplos donde se haga necesario su uso. Impleméntando el debug, anexe el listado de código y documente los resultados obtenidos
en los registros en cada instrucción.
Nota:
Los ejemplos deben involucrar las instrucciones : (MOV,
ADD, SUB, INC, DEC, MUL, DIV, XCHG, CMP, LOOP)
como es el funcionamiento de cada una de las instrucciones anteriores, favor explicar con uno o varios
ejemplos donde se haga necesario su uso. Impleméntando el debug, anexe el listado de código y documente los resultados obtenidos
en los registros en cada instrucción.
Nota:
Los ejemplos deben involucrar las instrucciones : (MOV,
ADD, SUB, INC, DEC, MUL, DIV, XCHG, CMP, LOOP)
Hola, a ver si con algunos ejemplos lo entiendes:
Suma:
mov al,0 ; el registro al toma el valor 0
add al, 2 ; sumamos al registro al 2, entonces al=0+2=2
cmp al,2 ;compara lo que hay en al con 2
je incremento ; (je = saltar si son iguales)si son iguales saltamos al trozo de codigo con la etiqueta incremento, si en kugar de poner je ponemos jne saltamos en caso de que el contenido de al sea distinto a 2(jne=saltar si no es igual), si ponemos jg (salta si al es mayor estricto q 2); si ponemos jl (salta si es menor estricto que 2)..........
Saludos.
Suma:
mov al,0 ; el registro al toma el valor 0
add al, 2 ; sumamos al registro al 2, entonces al=0+2=2
cmp al,2 ;compara lo que hay en al con 2
je incremento ; (je = saltar si son iguales)si son iguales saltamos al trozo de codigo con la etiqueta incremento, si en kugar de poner je ponemos jne saltamos en caso de que el contenido de al sea distinto a 2(jne=saltar si no es igual), si ponemos jg (salta si al es mayor estricto q 2); si ponemos jl (salta si es menor estricto que 2)..........
Saludos.
Hola, más cosas
SUB es restar, por ejemplo:
mov al,2 ; el registro al toma el valor 2
sub al,1 ; restamos al registro al 1 y almacena el resultado en al, es decir , al=al-1=2-1=1, luego al=1
JMP es un salto directo, es decir, si ponemos:
jmp Suma ; esta instruccion nos lleva al trozo de codigo con etiqueta Suma
INC es para incrementar:
inc al ;incrementa el contenido de al en una unidad, si al tiene por ejemplo en ese momento 2 al hacer esta instrucción al seria igual a 3.
DEC es para decrementar, igual q el caso anterior pero decrementa, es decir
dec al; decrementa en una unidad el contenido de al en ese momento
MUL es para multiplicar:
mov al,2 ; tenemos el al el valor 2
mul al, 3; multiplica lo q hay en al por tres, entonces,
al=al*3=2*3=6, por tanto, al vale ahora 6
SUB es restar, por ejemplo:
mov al,2 ; el registro al toma el valor 2
sub al,1 ; restamos al registro al 1 y almacena el resultado en al, es decir , al=al-1=2-1=1, luego al=1
JMP es un salto directo, es decir, si ponemos:
jmp Suma ; esta instruccion nos lleva al trozo de codigo con etiqueta Suma
INC es para incrementar:
inc al ;incrementa el contenido de al en una unidad, si al tiene por ejemplo en ese momento 2 al hacer esta instrucción al seria igual a 3.
DEC es para decrementar, igual q el caso anterior pero decrementa, es decir
dec al; decrementa en una unidad el contenido de al en ese momento
MUL es para multiplicar:
mov al,2 ; tenemos el al el valor 2
mul al, 3; multiplica lo q hay en al por tres, entonces,
al=al*3=2*3=6, por tanto, al vale ahora 6
