Llamada de Interrupción Del BIOS

2
Llamada de interrupción del BIOS Las llamadas de interrupción del BIOS son una facili- dad que los programas DOS, y otro tipo de programas co- mo cargadores de arranque, usan para invocar las funcio- nes del BIOS. Algunos sistemas operativos también usan el BIOS para probar e inicializar recursos de hardware durante las primeras etapas del arranque. Este artículo trata específicamente sobre las llamadas de función de los BIOS usados en los computadores compatibles con el IBM PC, es decir, los computadores de la arquitectura x86. 1 Invocando una interrupción Invocar una interrupción puede hacerse usando la ins- truccción INT en lenguaje ensamblador de los procesa- dores x86. Por ejemplo, para imprimir un carácter a la pantalla usando la interrupción 10h del BIOS, las siguien- tes instrucciones deberán ser ejecutadas: MOV AH, 0Eh ; Imprime carácter en la pantalla MOV AL, '!' ; carácter a imprimir INT 10h ; Llamada a las funciones de video del BIOS 2 Tabla de interrupciones Abajo se encuentra una lista de interrupciones del BIOS. Note que algunos BIOS (particularmente los viejos) no soportarán todas estas interrupciones. 3 Hooks del DOS El IBMBIO.COM del PC DOS, y el su equivalente, el IO.SYS del MS-DOS, se enganchaban (hook) al INT 13 para la detección del cambio del disco floppy, llamadas para formateo de pistas, corregir errores de límites en el DMA, trabajar alrededor de problemas en el IBM PC ROM BIOS del “01/10/84” que modela el código FC an- tes de la primera llamada. El vector de interrupción 13 puede apuntar a un hook de software en vez de la rutina en el BIOS, con el que algunos virus búlgaros son cono- cidos para usar en contra del software de monitoreo de virus. [1] 4 INT 18h: Ejecuta el BASIC en ROM El INT 18h tradicionalmente saltaba a una implementa- ción de BASIC almacenada en ROM, el Cassette BASIC. Esta llamada típicamente sería invocada si el BIOS no po- día identificar ningún volumen booteable en el inicio. (En el momento en que el IBM PC fue lanzado, en 1981, el BASIC en ROM fue una característica clave). A medida que el tiempo pasó y el BASIC ya no fue despachado en todos los PC, esta interrupción simplemente exhibiría un mensaje de error indicando que no fue encontrado ningún dispositivo booteable (el famoso “No ROM BASIC”, o un mensaje más explicativo en versiones posteriores del BIOS). En otras versiones del BIOS se solicitaba al usua- rio insertar un volumen booteable y presionar una tecla, y después que el usuario lo hiciera, retornaría al bootstrap loader para tratar de cargar de nuevo. 5 Véase también BIOS IBM PC ROM BIOS Direcciones base de entrada/salida IBM PC DOS, MS DOS IBM BASIC 6 Referencias [1] 090912 www2.informatik.uni-halle.de «empty». 7 Enlaces externos The x86 Interrupt List (a.k.a. RBIL, Ralf Brown’s Interrupt List) Embedded BIOS Users Manual http://hdebruijn.soo.dto.tudelft.nl/newpage/ interupt/out-0100.htm Turbo Pascal examples for reading sectors HTML version of Ralf Brown Interrupt List 1

description

j

Transcript of Llamada de Interrupción Del BIOS

  • Llamada de interrupcin del BIOS

    Las llamadas de interrupcin del BIOS son una facili-dad que los programas DOS, y otro tipo de programas co-mo cargadores de arranque, usan para invocar las funcio-nes del BIOS. Algunos sistemas operativos tambin usanel BIOS para probar e inicializar recursos de hardwaredurante las primeras etapas del arranque.Este artculo trata especcamente sobre las llamadasde funcin de los BIOS usados en los computadorescompatibles con el IBM PC, es decir, los computadoresde la arquitectura x86.

    1 Invocando una interrupcin

    Invocar una interrupcin puede hacerse usando la ins-trucccin INT en lenguaje ensamblador de los procesa-dores x86. Por ejemplo, para imprimir un carcter a lapantalla usando la interrupcin 10h del BIOS, las siguien-tes instrucciones debern ser ejecutadas:MOV AH, 0Eh ; Imprime carcter en la pantalla MOVAL, '!' ; carcter a imprimir INT 10h ; Llamada a lasfunciones de video del BIOS

    2 Tabla de interrupciones

    Abajo se encuentra una lista de interrupciones del BIOS.Note que algunos BIOS (particularmente los viejos) nosoportarn todas estas interrupciones.

    3 Hooks del DOS

    El IBMBIO.COM del PC DOS, y el su equivalente, elIO.SYS del MS-DOS, se enganchaban (hook) al INT 13para la deteccin del cambio del disco oppy, llamadaspara formateo de pistas, corregir errores de lmites enel DMA, trabajar alrededor de problemas en el IBM PCROM BIOS del 01/10/84 que modela el cdigo FC an-tes de la primera llamada. El vector de interrupcin 13puede apuntar a un hook de software en vez de la rutinaen el BIOS, con el que algunos virus blgaros son cono-cidos para usar en contra del software de monitoreo devirus.[1]

    4 INT 18h: Ejecuta el BASIC enROM

    El INT 18h tradicionalmente saltaba a una implementa-cin de BASIC almacenada en ROM, el Cassette BASIC.Esta llamada tpicamente sera invocada si el BIOS no po-da identicar ningn volumen booteable en el inicio. (Enel momento en que el IBM PC fue lanzado, en 1981, elBASIC en ROM fue una caracterstica clave). A medidaque el tiempo pas y el BASIC ya no fue despachado entodos los PC, esta interrupcin simplemente exhibira unmensaje de error indicando que no fue encontrado ningndispositivo booteable (el famoso No ROM BASIC, oun mensaje ms explicativo en versiones posteriores delBIOS). En otras versiones del BIOS se solicitaba al usua-rio insertar un volumen booteable y presionar una tecla, ydespus que el usuario lo hiciera, retornara al bootstraploader para tratar de cargar de nuevo.

    5 Vase tambin BIOS IBM PC ROM BIOS Direcciones base de entrada/salida IBM PC DOS, MS DOS IBM BASIC

    6 Referencias[1] 090912 www2.informatik.uni-halle.de empty.

    7 Enlaces externos The x86 Interrupt List (a.k.a. RBIL, Ralf Browns

    Interrupt List) Embedded BIOS Users Manual http://hdebruijn.soo.dto.tudelft.nl/newpage/

    interupt/out-0100.htm Turbo Pascal examples for reading sectors HTML version of Ralf Brown Interrupt List

    1

  • 2 8 TEXT AND IMAGE SOURCES, CONTRIBUTORS, AND LICENSES

    8 Text and image sources, contributors, and licenses8.1 Text

    Llamada de interrupcin del BIOS Fuente: http://es.wikipedia.org/wiki/Llamada%20de%20interrupci%C3%B3n%20del%20BIOS?oldid=78360917 Colaboradores: Sabbut, BOT-Superzerocool, GermanX, Hprmedina, ZroBot, Sergio Andres Segovia, KLBot2, Ralgisboty Annimos: 5

    8.2 Images

    8.3 Content license Creative Commons Attribution-Share Alike 3.0

    Invocando una interrupcin Tabla de interrupciones Hooks del DOS INT 18h: Ejecuta el BASIC en ROM Vase tambin Referencias Enlaces externos Text and image sources, contributors, and licensesTextImagesContent license