mikrocontroller.net

Forum: PC-Programmierung Eigener Bootloader- Power Interrupts


Autor: Alf R. (bitbit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir einen primitiven Bootsektor zusammengeschrieben.
test:
      jmp test
 
      times 512-($-$$) db 0
      db 0x55
      db 0xAA
Nun würde ich gerne das Ausschalten bzw. Rebooten in diesen Bootsektor 
integrieren. Also der Bootsektor wird von Diskette geladen und der pc 
schaltet sich aus bzw. beginnt erneut mit dem Laden des Bootsektors von 
der Diskette.
Wie realisiere ich das?

Mfg bitbit

Autor: Skua C:\> (skua)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit POST:
JMP FAR F000h:FFF0h
Ohne:
INT 19h

Autor: Alf R. (bitbit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>JMP FAR F000h:FFF0h
liefert:
>>kernel.asm:1: error: symbol `F000h' undefined.
Soll das den Computer ausschalten?
Reboot mit INT 19h funktioniert.

Autor: Skua C:\> (skua)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alf R. schrieb:
>>>JMP FAR F000h:FFF0h
> liefert:
>>>kernel.asm:1: error: symbol `F000h' undefined.

Versuch mal JMP FAR 0F000h:0FFF0h
oder
DB 0EAh,0F0h,0FFh,00h,0F0h

> Soll das den Computer ausschalten?
Nein das ist der Resetvector.

> Reboot mit INT 19h funktioniert.

Autor: Skua C:\> (skua)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Google mal nach atxoff.com
und ralph brown interrupt Liste.

Autor: Bartli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>>kernel.asm:1: error: symbol `F000h' undefined.

Hexadezimalkonstanten welche mit einem Buchstaben beginnen brauchen eine 
vorangestellte 0, sonst kann sie der Assembler nicht von Bezeichnern 
unterscheiden: 0f000h sollte gehen.

Ob NASM deinen far jump so dann versteht, weiss ich auch nicht. Im 
Ernst, lies halt das Manual, es ist ja nicht so dass NASM nicht 
exzellent dokumentiert wäre...

Autor: Alf R. (bitbit)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>DB 0EAh,0F0h,0FFh,00h,0F0h
..funktioniert.
was geschieht da genau?

Und wie schalte ich den gesamten pc aus?

Autor: Skua C:\> (skua)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Alf R. schrieb:
>>DB 0EAh,0F0h,0FFh,00h,0F0h
> ..funktioniert.
> was geschieht da genau?

Das ist JMP FAR 0F000h:0FFF0h

> Und wie schalte ich den gesamten pc aus?
Habe ich nicht getestet.
debug atxoff.com
-u
0CD8:0100 33DB          XOR  BX,BX                              
0CD8:0102 B80153        MOV  AX,5301                            
0CD8:0105 CD15          INT  15                                 
0CD8:0107 33DB          XOR  BX,BX                              
0CD8:0109 B90201        MOV  CX,0102                            
0CD8:010C B80E53        MOV  AX,530E                            
0CD8:010F CD15          INT  15                                 
0CD8:0111 B80753        MOV  AX,5307                            
0CD8:0114 B90300        MOV  CX,0003                            
0CD8:0117 BB0100        MOV  BX,0001                            
0CD8:011A CD15          INT  15                                 
0CD8:011C C3            RET                                     
0CD8:011D 56            PUSH  SI                                 
0CD8:011E 65            DB  65                                 
0CD8:011F 7273          JB  0194                               
-q

Erklärungen:
http://www.ctyme.com/rbrown.htm

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.