PREGUNTAS CONTESTADAS - Ensamblador

 Hay un total de 123 Preguntas.<<  >> 

    Pregunta:  2392 - COMO MANEJAR EL PUERTO SERIAL
Autor:  otto rene morales morales
Necesito saber las instrucciones, para poder manejarlo,como enviar informacion y recibir a traves de el, es para un juego entre 2 maquinas gracias por la respuesta.
  Respuesta:  Quark_I Roa Systems
Primero debes saber una cosa...
el número del puerto de E/S por el cual va a salir o entrar la señal que deseas enviar o recibir... esa dirección debe estar generalmente dada en Hexadecimal...

Me parece que bajo el Turbo Assembler de Borland, la instrucción que quieres son IN y OUT... (no estoy al 100% seguro de ellas, pero en cualquier buen libro de ensamblador las encuentras)...

puedes hacer más sencillo tu programa si lo haces en Borlan Turbo C++ o en Borland Turbo Pascal...
las instrucciones, por ejemploen pascal, en realidad no lo son, sino es que controlas una variable llamada Port$, en la que es del tipo array, pones dentro de ella el número de puerto en formato hexadecimal de pascal y asignas el valod que quieres enviar....

de esta manera:
Port$[Numero de puerto en hexadecimal de pascal]:= Valor a enviar;

para leer, asignas el valor de la variable a otra de tipo nomérico... de la siguiente manera...

Var
x:Integer;
Begin
x:=Port$[Numero del puerto en hexadecimal de pascal];

End.

espero que te sirva esto, si tienes alguna duda, escribe a mi email... ya he realizado trabajos que manejan los puertos de E/S de la PC...

    Pregunta:  2715 - COMO ENVIAR ARCHIVOS A TRAVES DEL PUERTO SERIE
Autor:  monica brizuela
Necesito saber cómo enviar archivos y cómo hacer un tipo chat en ensamblador, pues necesito conectar tres máquinas. Gracias por su ayuda.
  Respuesta:  alberto gonzalez
espero te sirvan te envio los siguientes programas
por la largada de la respuesta, esta en un fichero
  Respuesta:  Pedro Pablo
Lo que pretendes hacer no es trivial... Programar el puerto serie desde ensamblador, si se quiere hacer bien, con interrupciones y ese tipo de cosas, no es sencillo. Hay información detallada sobre eso en el libro PC-Interno de Michael Tischer. En él vienen dos programas de ejemplo, uno que sirve para hacer chat mediante el puerto serie, y otro que sirve para intercambiar ficheros, también desde el puerto serie. No recuerdo en qué lenguaje estaban (C, supongo).
El libro tiene varias "versiones", porque lo han ido actualizando con el tiempo. En las versiones 1.0 y 2.0 viene explicado en el libro el programa. En el 5.0 el texto no viene impreso en el propio libro, sino que tienes que leerlo desde el CD-ROM adjunto.

También viene algo de información sobre el puerto serie en "El Universo Digital", aunque este libro no lo encontrarás en las tiendas. Había que pedirlo al autor por correo electrónico (no recuerdo la dirección, pero el autor se llamaba algo así como Ciriaco García de Celís, y era profesor de la universidad de Valladolid, tal vez si lo buscas por ahí tengas suerte). De todas formas en este libro no se llegaba a hacer un ejemplo, me parece.

Espero que te sirva.

    Pregunta:  4515 - RUTINAS EN EL SECTOR DE BOTEO DEL DISCO
Autor:  Rodrigo López
Hola amigos!

Necesito saber que debo hacer para almacenar una rutina pequeña en el sector de boteo del disco, para que ésta se cargue cuando se inicia el sistema.
Sé que hay muchos programadores expertísimos en la webdelprogramador, así que les agradecería mucho que me ayudaran alumbrándome con sus conocimientos.
Tengo esta inquitud desde que me leí el libro de Andrew Tanenbaum de sistemas operativos (donde presenta al sistema operativo MINIX, en el que se basó LINUX en sus comienzos), y ahora me dió por querer hacer un pequeño núcleo... (vamos a ver si lo logro).
Desde ya, muchas gracias.
Chao!
  Respuesta:  Marco Antonio Gomez
Tienes que meter tu rutina en el primer sector del disco (pista 0, cabeza 0, sector 1).
Puede ocupar como mucho 512 bytes (pues es el tamaño del sector).
La BIOS, cuando enciendes el ordenador, mira en la unidad de 3 1/2, y lee ese sector.
Si detecta que es de arranque, lo carga en la posición de memoria 0000:7C00 (lo que puedes tener en cuenta a la hora de hacer tu rutina), y la ejecuta.
Si el sector no es de arranque, busca en el disco duro, etc.
El orden de búsqueda depende de como tengas configurada la BIOS. Si está configurada para que vaya directamente al disco duro, pasará del disco...

¿Y cómo sabe la BIOS cuando un sector es de arranque y cuando no? Mirando los dos últimos bytes del sector.
Si los dos últimos bytes contienen el valor "55AA", la BIOS interpreta que el sector es de arranque, y lo ejecuta.

Resumiendo: tienes que hacer un programa en ensamblador que ocupe como mucho 512 bytes, donde los dos últimos no forman parte del programa, y contienen "55AA".
Luego los grabas en el primer sector del disco, y ya lo tienes.

El arranque de un sistema operativo lo que hace en esos 512 bytes, es localizar en el disco donde está el código para arrancar el sistema (que ocupa más de 512 bytes), para montar el sistema de ficheros, el gestor de memoria, etc.

Una cosa interesante es cargar un sector de arranque de un sistema operativo y desensamblarlo para ver como funciona.
Si quieres el del MS-DOS explicado, pidemelo en "[email protected]", y te mando un fichero explicativo que hicimos mi hermano y yo hace algún tiempo.

Espero que te sirva!

    Pregunta:  4562 - CAMBIO DE .EXE -> .LST
Autor:  David Hernandez Hernandez
Disculpen quisiera saber si alguien de ustedes tiene alguna idea de como confrontar un porblema de convertir un archivo ejecutable en DOS y convertirlo en un archivo(*.lst)?
  Respuesta:  Javier
Hola. Un archivo .lst se genera cuando se crea el obj despues de compilar un programa. se utilizaba para generar informes en la epoca en que se programaba en assembly. Este archivo contenia el codigo fuente, con un encabezado en el cual constaba el titulo, espacio en memoria que utilizaba, cantidad de lineas, saltos de paginas para impresion, etc. Lo que deberias hacer es utilizar un desensamblador (si tu ejecutable es un .com sera mas sencillo), y probablemente luego debas volver a compilar y linkear.
Adios
  Respuesta:  Victor Pacheco
No he escuchado de un Decompiler, a excepcion del que trae Visual Basic, que descompila los ejecutables hechos en ese mismo programa, mas no los de otro.

Y la respuesta para el cuate que te contesto sin responderte, ojala sus dudas las escribiera a los correos, porque desaprovecha el espacio para contestar las preguntas. Un archivo LST es el que guarda la lista de los SIMBOLOS utilizados en un programa ensamblador. Este no es la tabla de simbolos, y se crea por instruccion del usuario cuando compila un archivo OBJ.

Saludos
  Respuesta:  pep t.
La extensión lst para que las necesitas?

Sabes que despues de compilar un codigo fuente, aparece un obj. a partir de eso debes tener claro que haras con ese programa.

si lo keires compilar sin reserva de espacio de memoria osea que el s.o se encartge de contralr las direcciones debes compilarlo como "com"

Si lo compilaas directametne te aperecera un EXE.

nose si te habra servido al respuesta.
un saludo

de todas maneras..la extension lst. (que es?)

    Pregunta:  4614 - PROGRAMAS EN EL SECTOR DE BOOTEO...
Autor:  Rodrigo López G.
Holas!
Necesito información acerca de cómo cargar aplicaciones en el sector de arranque del disco (si es que se puede...).
La idea es hacer que cuando se inicie el sistema, lo primero que haga el equipo sea leer este programita (algo así como lo que deben hacer los sistemas operativos).

Si alguien tiene alguna información, agradecería mucho que me ayudara.

Gracias desde ya!!!
Chao!!
  Respuesta:  Juan Oyarzo
Lo primero que tienes que tener claro es
que quieres hacer despues que hayas probado tu rutina la puedes insertar en el sector 0 cilindro
0 del disco duro , tu rutina tiene que apuntar a
interrupciones de la bios y no DOS ej.
INT10 video INT13 disco duro INT14 puertos seriales, etc.

Suerte

    Pregunta:  4633 - COMO LIGAR EN PROGRAMAS .
Autor:  marco antonio Lopez Manzano
La pregunta es la siguiente:

Quisiera saber la forma de como ligar ensamblador con borland C, visual basic, Visual C++ Y Visual Fox Pro.
Otras interrupciones a parte del int 10h y int 21H, o en caso que no nos puedan decir la forma de ligar envien unas paguinas principales.sobre los temas.
  Respuesta:  Oscar L
Aqui hay un ejemplo compilado con BC++ y TASM:

Codigo en C++:
#include <stdio.h>

extern "C" int suma(int a, int b); //indica que se encuentra en un archivo .obj aparte.

void main() {
int x = suma (25,15);
printf ("Suma de 15+25=%d ",x);
getchar();
}

codigo en ensamblador:
public _suma
.model small
.code

_suma proc near
push bp
mov bp,sp
mov ax, [bp+4] ;25
mov bx, [bp+6] ;15
add ax,bx
pop bp
ret
_suma endp

end

Notas:
-se declara _suma ya q C++ por default añade un "_" a todas las funciones.
-C++ espera el valor de retorno en AX.
-los archivos deben tener diferente nombre para que el compilador genere dos archivos .obj diferentes; de lo contrario se sobreescribira uno y el linker no podra unirlos en el .exe
  Respuesta:  Juan Pablo Giraldo Rendon
A través del programa de tlink se dejan unir todos los obj que sean necesarios.
Además c y sus versiones compilan assembler asi :
asm {
codigo en assembler
}

En el libro de assembler de peter norton existen al final un grupo de elementos para conectar objetos.

    Pregunta:  4953 - PUNTERO DEL RATON EN MODO 13
Autor:  David Ponce
Cuando llamas al cursor del sistema en modo grafico, aparece una flecha. Me gustaria saber en que posicion de memoria esta almacenado el dibujo para poder editarlo. Gracias.
  Respuesta:  Gregorio Cobá Gala
No necesitas conocer la dirección del cursor del mouse. Puedes crear un cursor personalizado con 2 arreglos de bytes. Donde el primer arreglo deberá contener los bits del primer plano del mouse y el segundo arrelgo deberá contener los bits del fondo del mouse.

Si necesitas más información envíame un correo y te detallo el uso del mísmo...

    Pregunta:  5416 - COMO IDENTIFICO UN FAX MODEM
Autor:  Jordan Boris Gallardo Osorio
Hola:

resulta que yo tengo en mi casa algunas targetas de fax-modem, pero no he podido hacerlas funcionar. Digo esto porque pensaba que mirando el Chipset principal de la tarjeta lograría bajar el driver de alguna parte, pero no he podido hacerlo, no he podido identificar el la marca del fax modem ( la mayoria de las tarjetas tienen un chipset Rockwell y son de 33600 Kbps).

Si me pueden ayudar, me sería muy grato.

atte.
  Respuesta:  mario monzon
Hola, no se si sea oportuna mi respuesta, pero lo que puedes haces es bajar un programa que se llama aida32, lo instalas y te reconoce el hardware, en este caso la tarjeta de fax modem, alli mismo te indica el link de donde puedes bajar el driver, ya con el driver instalado te vas a panel de control y buscas la opcion instalar o desinstalar programas, opcion componentes de windows, comunicaciones y checas la opcion de fax, para activar el software que te servira para manejar el fax, solo tienes que hacer una configuracion sencilla como numero de telefono y nombre de remitente y es todo.
  Respuesta:  Abraham Calderón López
Solamente accesa a www.driverguide.com, despues en el recuedro amarillo da clic en la liga que dice member login
username: temp
password: 512
y despues busca la marca y el numero de serie o modelo de tu fax/modem, !Es muy sencillo¡
!SUERTE¡
  Respuesta:  Armando Cruz
Con la informacion del chipset en cuestion, visita www.driversguide.com, te registras rapidamente para accesar a la seccion de descargas como miembro, y en la opcion de busqueda basica introduces una parte de la cadena o la cadena completa del chipset, especificas sistemas operativo y casi seguro lo encuentras. Sobre todo para los modems rockwell...

saludos.
  Respuesta:  pep tenesa
EL problema no esta en el chip.
Para configurar un modem, primero intenta hacer una cosa.
Configurarlo como modem standar y si el chip es rockwell. ( vete a la direccion de internet del fabricante e intenata comentarles tu tema.)
De todas maneras, hoy en dai un modem vale 4000 pelas, osea que te saldria mas barato comprar uno nuevo.si no intenta con el standart, acostumbra a funcionar.
y te haces un acceso gratuito de internet.
si funciona, solo debs mirara cualqueir software de fax y te funcionara.
UN saludo

    Pregunta:  5570 - COMO PUEDO COMUNICARME CON OTRA COMPUTADORA (CHAT)
Autor:  Jorge Guanin
Como puedo comunicarme hacia otra computadora, simulando un tipo de evento algo parecido al chat.
Si alguien puede ayudarme le estare muy agradecido.
  Respuesta:  pep t.
Para poder comunicarte, remotamente con otro equipo, puedes intetntarlo con el PC anyware.
o sino algo mejor,
Haz una pag. wem . simplemente en html y algo de JavaScript y desde el mismo starmedia te puedes hacer un chat privado
"http://www.starmedia.com"

un saludo

    Pregunta:  5886 - COMO REALIZAR CALCULOS SIN EL PROCESADOR MATEMÁTICO
Autor:  Ricardo Gutierrez Perez
La duda que tengo es que en la escuela me pidieron
que investigue como realizar un programa en ensamblador que realice operaciones con numeros
reales, y el maestro nos comento que no trabajaramos con el procesador matematico directamente, que investigaramos otros medios.

Este programa se utilizara para la realizacion de
un compilador, por lo que el resultado de una operacion de numeros reales se retornara en numeros reales.

Si me puden ayudar se los agradecere.

Gracias!
  Respuesta:  J4V1
Puesto q el copro trabaja con notacion IEEE y al final termina usando para realizar las operaciones numeros enteros puedes intentar simular al coprocesador con los registros habituales. Seguramente tendras limitaciones en cuanto a la exactitud o el rango de numeros representables si quieres q el algoritmo no se complique mucho. Bueno espero q tengas suerte con ello y se te ocurra la formula para resolver el problema
--->J4V1<---

|<  <<  1 2 3 4 5 6 7 8 9 10 11  >>  >|