• Sábado 12 de Julio de 2025, 07:26

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.


Temas - 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
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

4
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

Páginas: [1]