• Viernes 19 de Abril de 2024, 13:28

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - juanito20

Páginas: [1]
1
ASM (Ensamblador) / Como Crear Una Nueva Interrupcion
« en: Lunes 26 de Febrero de 2007, 05:23 »
RESUMEN
1 como modifico el vector de interrupciones?
2 como subo a memoria un conjunto de instrucciones?
..............................................................................

Necesito hacer un sistema de arranque y un minishell, el cual sera capaz de realizar algunas funciones basicas como DETECTAR cantidad de cabezas, sectores,pistas y cilindros de alguna unidad, LEER un sector, y determinar TAMANO del disco. Todavia no se si podre hacer las funciones, espero que si, pero lo que me preocupa y que definitivamente no tengo idea de como hacer es que debo crear esas funciones y, subirlas a memoria y crear nuevas interrupciones que ejecuten esas funciones de manera que el minOS al recibir un comando, ejemplo:
Konzole/:>TAMANO C

lo que haga el sistema sea una simple llamada a una interrupcion con el paramentro en algun registro, o sea, algo asi:

MOV AH, 80h ; el 80h es puro ejemplo
INT 99 ;

A todo esto mis preguntas son,
1 como modifico el vector de interrupciones?
2 como subo a memoria un conjunto de instrucciones?

Ya tengo el shell y el sistema de arranque, lo que me faltan son las funciones y como crear las nuevas interrupciones.

2
ASM (Ensamblador) / Boot Disk En Disco Duro
« en: Miércoles 7 de Septiembre de 2005, 09:13 »
hola, bueno yo estaba con el proyecto de un boot disk (en A), ya lo hice, el "sistemita" es un pequeño conjunto de rutinas basicas bios de tiempo, deteccion de unidades y reinicio del cpu, resulta que ahora necesito implementar esto en el disco duro, inicialmente yo asumia que iba a ser lo mismo que el anterior con la diferencia de indicarle al programa que escribe en la unidad que en lugar de usar la unidad 0 usara la 80h pero no me funcionó, por que será?, que debo cambiar, entiendase que en Diskette ya trabaja bien, adjunto el codigo que uso para escribir en diskette:
#include <bios.h>
#include <stdio.h>
void main(int argc, *char argv[] ) {
        FILE *ptr_file_in;
        unsigned char buffer[512];
        int jairou= atoi(argv[2]);
        int jairos= atoi(argv[3]);
        if( (ptr_file_in = fopen(argv[1], "rb") ) == NULL) {
                printf("Error loading file\n");
                exit(0); }
        fread(&buffer, 512, 1, ptr_file_in);
         while( biosdisk(3, jairou, 0, 0, jairos, 1, buffer) );

 /*biosdisk(cmd, drive, head, track, sector, Nsectors, buffer)*/

        fclose(ptr_file_in); }
/*Funcionamiento del programa wrt2dsc nombrearchivo unidad sector */

3
ASM (Ensamblador) / Re: Como Puedo Escribir En Sector 0 De A
« en: Miércoles 31 de Agosto de 2005, 02:57 »
hola, gracias por la ayuda, ya se como escribir en el sector 0, averigue sobre una rutina de C llamada biosdisk y hare uso de ella, pero, ahora descubri que lo que debo escribir no es ni un exe ni un com (o almenos eso entiendo), sino un .bin el cual no se como generar con tasm, y ademas el codigo que he hecho no compila asi no mas creo que es porque no tiene la estructura normal de un programa corriente de ensamblador por lo que entiendo que debo traducir directamente a unos y ceros pero no se como, gracias

4
Delphi / Escribir En Sector 0 Para Boot Disk
« en: Martes 30 de Agosto de 2005, 08:29 »
Hola, necesito elaborar u diskette booteable, para lo cual ya tengo las rutinas que debe hacer el programa pero no se como hacer que se escriba en el sector 0

5
ASM (Ensamblador) / Como Puedo Escribir En Sector 0 De A
« en: Martes 30 de Agosto de 2005, 08:15 »
Como hago para escribir en el boot sector del floppy

6
C/C++ / Re: Crear O Modificar Un Disco De Arranque
« en: Martes 30 de Agosto de 2005, 08:13 »
Como escribo en el sector 0, como puedo referenciar sectores, pistas, cabezas?

7
ASM (Ensamblador) / Re: Como Bootear Una Maquina
« en: Domingo 28 de Agosto de 2005, 19:52 »
Hola, es mi primer post y soy algo novato en asm, estoy trabajando en este proyecto y lo que no logro comprender bien es como escribir en el diskette, entiendo lo del sector 0, y cargar en memoria 7C00, pero me he encontrado con que aparentemente hay que escribir ceros y unos, o un .bin, en realidad no comprendo como, vi el ejemplo aki mostrado (el de BOB) pero lo que necesito saber es como funciona el COPYBOOT.EXE, y tengo la misma duda de otro colega que preguntaba por los parametros, gracias a quien lea esto!

Páginas: [1]