PREGUNTAS CONTESTADAS - Ensamblador

 Hay un total de 123 Preguntas.<<  >> 

    Pregunta:  33175 - MOSTRAR HORA DEL SISTEMA
Autor:  pablo aroca
Como puedo hacer un programa que me envie la hora del sistema en ensamblador.?
  Respuesta:  Germain Hernandez Gomez
Mira para poder usar el reloj, se utiliza el servicio
MOV AH,2CH
INT 21H
AHI TE GUARDA LA HORA EN EL REGISTRO CH
LOS MINUTOS EN EL REGISTRO CL
LOS SEGUNDOS EN EL REGISTRO DH
Y LOS MILISEGUNDOS EN EL REGISTRO CL (MAXIMO 99)

LEJEMPLO:
SUPONGAMOS QUE SON LAS 2:45 PM
EN REGISTRO CH SE GUARDA EN NUMERO 14
EN REGISTRO CL SE GUARDA EN NUMERO 45

Y ASI CON LOS SEGUNDOS Y MILISEGUNDOS

SI QUIERES MANDAME UN CORREO Y TE MANDO UN PROGRAMA QUE ES UN PIANO CON UN RELOJ, QUE ACABO DE TERMINAR

YA QUE ES ALGO COMPLICADO MANEJAR EL RELOJ PARA LOS QUE APENAS EMPIEZAN A PROGRAMAR EN EMSAMBLER
  Respuesta:  CésarAugusto NAvarro Gómez
Lo que puedes haer es utilizar unafunción del DOS (Int 21h) o bien puedes accesar directamente al RTC (Reloj de tiempo real) y obtener los valores de ahí la dirección de puerto del RTC es la 70h y el número de registro son el 0,2 y 4 para horas minutos y segundos.
Si tienes dudas envíame un correo

    Pregunta:  33338 - HACER QUE REINICIE LA COMPUTADORA
Autor:  Rosa Elena González
Necesito hacer en assembler un programita que reinicie el sistema cuando se ejecute... alguien puede ayudarme con el código fuente?
  Respuesta:  Gabriel Amezquita D
Si estas trabajando en modo real solo activa la interrupcion 19

cd 19 int 19

y con eso se reeinicia

tambien puedes saltar a la memoria rom ( donde esta el programa BIOS boot )

jmp F000:0000

si estas trabajando en modo protegido, no es tan facil reiniciar el equipo

    Pregunta:  33436 - COMO MOSTRAR POR PANTALLA SALTOS DE PÁGINA EN ENSAMBLADOR
Autor:  Jordi
Estoy mostrando datos por pantalla y me interesaría realizar saltos de página para mostrar diferentes frases consecutivas. Alguien sabe como realizarlo?
Gracias.
  Respuesta:  C. Augusto
Puedes manejarlo imprimiendo una cadena de caracteres que tenga los valores 13,10,....,"$" según el número de líneas que quieras saltar pon el número 10

    Pregunta:  34181 - CALCULAR LA LONGITUD DE UN NOMBRE
Autor:  Francisco
Alguien sabe de que manera puedo calcular la longitud de un
nombre en ensamblador.
Espero qu me puedan ayudar.
  Respuesta:  David Cañadas
Es importante saber a qué te refieres con un nombre: ¿nombre de archivo? ¿cadena en memoria? Por otra parte, ese nombre... ¿está almacenado como ASCII$, como ASCIIZ...?

¿O te refieres a un nombre (word) como capacidad de registro?

Salu2.

    Pregunta:  34188 - EL CÓDIGO PARA CALCULAR LA RAIZ CUADRADA EN ENSAMBLADOR.
Autor:  Elizabeth López Vindell.
Me gustaria que me hicieran el grandisimo favor de ayudarme y de contestarme su respuesta hacerca d este programa de calculo de raiz cuadrada en ensamblador lo mas pronto posible.
  Respuesta:  Rubén Pastor V.
Aunque soy experto en Delphi, y no utilizo mucho ensamblador recuerdo que para realizar una raiz cuadrada lo mejor es entrar en el modo 80x87 y ejecutar la instrucción FSQRT. Te devolverá resulado de grán precision.

rutina:

FINIT
FILD (variable con valor: dword)
FSQRT
WAIT
FISTP (variable resultado: dword)

pero esto es muy general, debes buscar más información

    Pregunta:  34777 - MANEJO DE DISCO
Autor:  jose luis lizcano
necesito saber en que sector del diskette empieza el directorio claro en terminos normales junto con el numero de cilindro , cabeza, pista y que funciones del ensamblador me sirven para acceder al directorio y manipular los nombres de los archivos pues necesito hacer un progarama que simule el comando undelete del dos
  Respuesta:  David Cañadas
Creo que tienes un pequeño lío. Por una parte, no necesitas saber cilindro, cabeza ni pista para simular un undelete, y por otra parte, no existen funciones propiamente en ensamblador para acceder a los directorios.

Primero es importante que sepas las especificaciones del sistema de ficheros que estás usando (presumiblemente FAT32, pero puede ser cualquier otro). Esto te servirá para conocer cómo acceder a directorios, archivos, etc.

Por otra parte, no existen en ensamblador instrucciones específicas para acceder a disco. Depende de lo que quieras hacer, puedes usar el despachador de servicios del DOS (interrupción 21H), o bien acceder a medios en bajo nivel mediante la interrupción 13H.

Debes tener en cuenta que un undelete no es más que un cambio de un byte en el nombre del archivo. Cuando borras un archivo, DOS sustituye el primer carácter del nombre en la FAT por el código 229 ASCII. De lo que se trata es de cambiar ese código a uno válido para recuperar el fichero. Ojo: aunque exista esa entrada en la FAT el fichero puede haber sido borrado "físicamente". Entonces, quizás sí sea bueno que compruebes con anterioridad si está íntegro.

Salu2.

    Pregunta:  35466 - RECIBIR POR PUERTO SERIE EN HC12
Autor:  Héctor Julián Rodríguez Rodríguez
Necesito saber cómo se hace la recepción por puerto serie usando el microcontrolador 68HC812A4 de Motorola. El programa ejemplo que viene con el micro no nos sirve (o sí?) porque el micro recibe por el puerto serie el caracter que es digitado desde el teclado, para ejecutar una de las subrutinas del programa (envía solamente un byte a la vez cada que se presiona una tecla) y necesitamos que el micro lea del puerto cada vez que le es enviado un dato al registro. Se le va a conectar un receptor de GPS, el cual envía constantemente datos en forma serial, por eso el micro debe leer la información apenas llegue. Hemos logrado tomar parte de ese programa ejemplo para enviar a pantalla lo que le es digitado. Sin embargo, envía el mismo caracter acompañado de un caracter extra a su derecha (el caracter ^à, ejemplo: si se digita ´m´ devuelve en la pantalla m^à ) y no sabemos si este mismo sistema con el que se recibe caracteres digitados nos puede servir para enviar una serie de datos seguidos donde no se presionan teclas.
  Respuesta:  Goeus
Primero debes saber porque modo de comunicacion quieres manejar datos, SPI o SCI, porque creo que no sabes ni cual estas usando, si no sabes mucho de los tipos de comunicacion, pues a estudiar, si quieres adecuar el programa que dices que viene de prueba( supongo que es una tarjeta de desarrollo) debes de depurar el codigo, lo mas seguro es que tenga una rutina de espera para la transmision de datos, si es eso, solo debes de quitar dicha rutina para que la trasmision sea continua o modificarla o en el mejor de los casos, que programes la interfaz a tu gusto.

Auf Wiedersehen

    Pregunta:  35617 - ENLAZAR TURBO C CON .ASM
Autor:  JC Mora
Necesito enlazar un archivo de turbo c con uno de ensamblador por medio de un proyecto (prj) de turbo c. El siguiente error me es desplegado: Undefined symbol in module, a pesar de que los nombre de las funciones externas concuerdan y las convenciones de C son cumplidas.

Agradecido de antemano
JC
  Respuesta:  Googol Plex
Hola!
¿Llamas a las funciones desde ensamblador con el subrayado delante? ¿Estás compilando las funciones como funciones C en lugar de como funciones C++?

Fichero C:

extern "C" {
void miFuncion() {
// Hacemos lo que corresponda.
}
}

Fichero ASM:

; ....
CALL _miFuncion ; Date cuenta del "_" antes del nombre de la función.

Al enlazar en el proyecto el .obj del fichero asm anterior, debería enlazar correctamente

    Pregunta:  35743 - COMO PROGRAMO LOS PUERTOS DE ENTRADA Y SALIDA
Autor:  alejandro camacho
quiero saber como programar puertos de entrada y salida en lenguaje ensamblador y por favor un ejemplo
  Respuesta:  Astor
A que te referis con programar los puertos de entrada/salida ?
El mapa de I/O es utilizado por el micro para comunicarse con los registros internos de distintos dispositivos, desde un puerto paralelo hasta un HD.
Seria bueno que seas mas especifico con lo que deseas hacer. Los microprocesadores tienen dos instrucciones IN y OUT que leen y escriben en el registro de la forma

IN AX, dir_puerto (podes usar tambien DX para hacer direccionamiento indirecto)

OUT dir_puerto, AX

Te recomiendo que le pegues una mirada al PPI (82c55) que es un dispositivo para ayudar a manipular y manejar los puertos. (el verdadero uso es para no estar haciendo pooling constantemente sobre un puerto a ver si ya leyo o escribio).

Espero haberte ayudado, cualquier cosa escribi nuevamente con mas detalles.

Astor, desde BS AS

    Pregunta:  35783 - INFORMACIÓN ACERCA DE MASM
Autor:  tonny brito
hola a todo de este maravilloso foro, mi pregunta es donde puedo conseguir algun tutorial o informacion de de como usar masm etc.
  Respuesta:  Ivan Aliaga
Esta es una pagina para aprener MASM 6.0 para dos en un dia, pero esta en ingles. la direccion es: http://yanorel.pcupdate.easyspace.com/masm/ewtoc.html

|<  <<  3 4 5 6 7 8 9 10 11 12 13  >>  >|