Kedves Starters! Nagyon szepen koszonom az irasodat.
> Processzorfuggo. A 8086-os processzor mar nem a 0 cimrol indit, hanem
> valahonnan az F000:0 cim kornyekerol. Itt kell lennie a loader-nek.
Mire a 8085 elkeszult, mar regen letezett assembler.
A loadernel me'g hoskori szgepre gondoltam, amikor me'g csak
kapcsolokkal meg lampakkal (meg lyukkartyaval) kommunikaltunk a geppel.
Amit irsz a 8086-rol, ertem,
de gondolom ez a loader mar regen nem assemblert tolt be, hanem
kesz oprendszert. Kerlek, egyelore me'g ne beszeljunk oprendszerrol.
Egyelore a program forditasat es cserelgeteset igyekszem
tisztazni magamban. Hoskori gepen.
>>loader a sajat ROMjabol a RAM tetejebe HWesen betoltodik es elindul
>Nem, ugy tudom, az eredeti helyen a ROM-bol indul es eldonti, hogy
>masolja-e magat vagy sem.
Vegulis igaz, egy loader proginak tenyleg nem kell RAM, eleg neki ROM is.
Jo, akkor a ROM kezdodik a teljes megcimezheto tartomany tetejen valahol?
Es onnan futott es masolta be magat a loader az alatta levo RAMba?
Jol ertem? Eppenseggel sokkal logikusabbnak hangzik,
mint az elso elkepzelesem...
>>- assemblert kartyarol betoltik a RAMba
>Ez mar felhasznalofuggo - altalaban nem az inditasi folyamat resze.
Ha't lehet tovabbra is kezzel forditani gepi kodra, de minek?
Vagy mire mondod, hogy az assembler betoltese felhasznalofuggo?
>Indulaskor csak gepi programok futnak.
Marmint mit nevezel gepi proginak? Mas nem is kepes futni.. :-)
>>- elinditjak az assemblert, hogy forditsa le a "betuk es szamok sorat"
>>- a gepi kod a nullas cimtol indulva megjelenik a RAMban
>Ma mar szinte sehol sem a fizikai memoria elejere forditjak a programot.
Vilagos, ma mar ezer helyen atirjak a cimeket, na de a hoskorban...! :-))
Amikor me'g csak egy loader volt felul (ROMban), akkor me'g alatta volt
az assembler?, alatta a txt?, es az ala, nullara forditodott az igazi progi?
>Az exe formatum relokacios tablat tartalmaz,
Ezt me'g nem hallottam, de ehhez me'g kell futnom jo par metert...
>> Ha szabvanyos a csatlakozasi felulet, es az,
>Nem - a regebbi eszkozok meg nem intelligensek es a "rutin" a gepben
>levo program resze: a megfelelo parancsokat kell kiadnia az IO porton.
Ertem. Haladunk. :-)
>A floppy nem igazan intelligens eszkoz! Vezerelni kell, idozitesre kell
>figyelni (fol kell porgetni, megvarni, pozicionalni - ezen kivul
>byte-onkent jon az adat es ha nem olvassak, elvesz), stb. Nem sok, de
>azert par KB gepi program kell hozza.
Hoskori flopirol beszelunk, ugye? Annak a pozicionalasat
kellett anno a felhasznaloi progi(ba epitett rutin)nak vegeznie tehat?
Ha igy allunk, akkor mar ertem, hogy mire lesz jo egy kulon flopi rutin.
De a mai flopik tele vannak IC-kkel, biztosan oka van...
>A DOS nem tudja (ott ROM BIOS van),
A mai flopiknak nincs olyan feluletuk, hogy
tap, fold, parhuzamos x bit vezetekek, es szokasos handshake jelek?
A mai flopira sem lehet rabizni a tobbit?
Ma is a BIOSban levo (vagy a kesz OS's) rutin vezerli a fejet?
Eleg fura lenne.
Annyit emlegeted az oprendszert, hogy az az erzesem tamad, hogy
lehet, hogy maris nagyon kozel vagyok hozza, csak me'g nem tudok rola?
Nekem me'g mindig nem vilagos, hogy mit is (hogyan is) csinal egy OS.
Ezt megerteni az egyik nagy celom!
---
Kedves NAR! Neked is koszonom a hozzaszolast!
>>Gyakorlatilag semmibol,
>>egy sima ciklus par MOV utasitassal a koze'pen, nem?
> Nem egeszen. Ott kezdodik a dolog, hogy a felhasznaloi program
>file-okkal foglalkozik, az oprendszer felsobb retege mar blokkokkal.
>De a floppy meghajto ezen reteg szamara is egy "absztrakt" feluletet
>nyujt: a blokkok egy sorozatat. Ez a reteg (nalad ez volt a
>"felhasznaloi" program) szamara nem erdekes, hogy egy vagy ket fej van a
>floppy-ban, savonkent 16 vagy 18 blokk van, 80 vagy 90 blokk van egy
>oldalon.
Igen, eppen ez az utolso kerdesem Startesnek kicsit feljebb.
En is ugy erzem, hogy ma ma'r biztos, hogy flopinak szabvanyos felulete van,
es a PC egyik reszet sem erdekli, hogy a flopi hogyan oldja meg.
De vajon annak idejen, amikor me'g haz vagy szoba meretuek voltak
a szgepek, es me'g nemigen volt oprendszer, csak loader, meg assembler
meg a felhasznaloi progi, akkor ki intezte a lyukkartya fej mozgatasat?
A progi vagy irtak erre kulon rutint, ami szinten ott varakozott a RAMban,
hogy a programmutato vegre o"ra' is mutasson neha... ?
Valszeg elobb a progi intezte, aztan irtak rutint.
Csak azt szeretnem latni, hogy ebbol pontosan hogyan fog felepulni
a BIOS es az elso oprendszer.
BM
|
1) objektumokon keresztül
pl. excelt: bevcsettinted a references-ben az ms Excel -t
dim XL as Excel.application
set XL= new Excel.application
xl.Workbooks.Add "c:\excelfile.xls"
2) ShellExecute api-val:
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" ( _
ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Sub Command1_Click()
ShellExecute Me.hwnd, "", "c:\fejl.xls", "", "", 0
End Sub
|