Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Ensamblador > como le hago
-Foros de debate

Ensamblador
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

como le hago
Enviado por SIL el día 27 de octubre de 2005

hola porfas quisiera q me ayudaran en una trabajo
me pidieron hacer 5 programas en uno y esta retranca
por favor si alguien me pudiera explicar las instruccciones INT 10 y XOR del debug me salvaria
bueno
espero q alguien se de la molestia de ayudarme porfis
gracias
bye

 
Re: como le hago
Enviado por hiei el día 29 de octubre de 2005

la operacion XOR es de logica binaria. Por cada bit de los registros/literales inbolucrados se hace esta operacion:
a b q
0 0 0
0 1 1
1 0 1
1 1 0
Si tenemos en AL
00001011
Y en BL
10110101
entonces, al hacer XOR AL, BL obtendremos en AL
10111010
Como nota interesante (y que supongo que sera por eso que preguntas) el hacer
XOR reg, reg
Donde reg es cualquier registro (AX, AL, AH, BX, etc.) el registro toma el valor 0 (como se puede deducir de la tabla de verdades XOR mas arriva)

La instriccon INT genera una interrupcion de software (en tu caso la 0x10 que es el servicio de video de la BIOS)
En la pagina http://www.ii.uam.es/~gdrivera/labetcii/int_dos.ht... tienes una descripcion (muy minima pero creo que suficiente) de las interrupciones tanto del DOS como de la BIOS (tambien la 10h)

Por las dudas, (si no es pasalo por alto) el programa:
mov ah, 0F
int 10
xor ah, ah
int 10
int 20
Borra la pantalla. Primero, toma el modo de video actual (llamando a la INT 10 con AH, en 0F) y luego (con lo que quedo en AL que es el modo actual que retorno la primera int 10) ponemos a cero AH (funcion 00) para activar el modo de video (el que esta en AL) con la proxima int 10 que borrara la pantalla (por defecto, pero podemos hacer que no la borre si ponemos un valor determinado en otro registro)
Para mas informacion, te serviria mirar la lista de interruopciones de un tal Ralf_no_se_que_mas que la puedes bajar de: http://www.ii.uam.es/~gdrivera/labetcii/util.htm
Con el la parte A y B creo que tendras suficiente.

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network