Kezdőoldal » Számítástechnika » Programozás » Assembly programozás, valaki...

Assembly programozás, valaki tud segíteni?

Figyelt kérdés
Nos, az a helyzet hogy egy floppy lemezképfájl első 512 bájtjába (első szektor) írtam egy bootloadert. A második szektorba (második 512 bájt) írtam egy rövid kódot ami képes kiírni egy nagy 'H' betűt a képernyőre. A bootloader elvégzi a floppy lemez resetjét (ah(0x00), dl(0x00(az első meghajtó-floppy)), int 0x13 BIOS lemezkezelési megszakítás), ,majd elvégeztem a lemez első oldalának első cilinderének második szektorán az olvasást (ahova írtam a karakterkiíró kódot) a 0x8000:0x0000 célcímre, majd jmp utasítással a címre ugrok, de nem csinál semmit. Tulajdonképpen kernelhívást akarok csinálni bootloaderből. A lemezképfájlt Oracle VM Virtualboxban futtatom. Valaki tud segíteni?
2014. nov. 20. 16:08
1 2
 11/20 A kérdező kommentje:
Nem találgatva csinálom hanem csak nem működik a dolog ennyi.
2014. nov. 20. 19:45
 12/20 anonim ***** válasza:

Nincs direkt es:bx ugrás. Egy lehetésges megoldás az indirekt far jmp vagy a


pushf

push es

push bx

iret

2014. nov. 21. 11:28
Hasznos számodra ez a válasz?
 13/20 anonim ***** válasza:
@Reiber Péter: Óriási pirospont a Rodek-Diós jegyzetért!
2014. nov. 21. 11:29
Hasznos számodra ez a válasz?
 14/20 A kérdező kommentje:

Íme a forráskód, illetve a floppy lemezkép felépítése, remélem elég világos:


[link]

2014. nov. 21. 16:53
 15/20 A kérdező kommentje:
A boot.asm (bal felső sarok ) fájlban azt írtam hogy első sáv, az nem első sáv hanem a floppy első oldala , hiszen már a cilindert azelőtt közvetlenül megadtam, egy kicsit elírtam a forráskód azon kommentjét.
2014. nov. 21. 17:12
 16/20 anonim ***** válasza:

jmp $ kapásból teljesen felesleges a végére, mivel közvetlenül előtte feltétel nélkül elugrasz a 0x8000:0x0000 címre.


Emellett, ha jól emlékszem a régi szép időkre, csak a szektorok indexelése kezdődik 1-től, a cylinder nem, ergo rossz szektort olvasol be.

2014. nov. 21. 17:38
Hasznos számodra ez a válasz?
 17/20 A kérdező kommentje:
gyanítottam
2014. nov. 21. 17:55
 18/20 A kérdező kommentje:
Nagyon szépen köszönöm működik végre bár végtelen ideig írja ki a h betűt tehát valóban nem kell a jmp $ még egyszernagyon köszönöm ezer hálám a válaszadóknak végre elkezdhetek operációs rendszert írni :)
2014. nov. 21. 17:58
 19/20 A kérdező kommentje:
a 8.válaszadót kiemelten megdicsérem :)
2014. nov. 21. 17:59
 20/20 anonim ***** válasza:
Angol megy? [link]
2014. nov. 22. 00:49
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!