Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Assembly: Kellonaika assemblyllä

haxor [11.11.2002 20:32:58]

#

Miten saisin BIOS:sista otettua päivämäärän ja kellonajan assemblyllä? (Tämäkin tulee siihen mun käyttikseen (16-bittiseen)) Eli tuon varmaan saa samalla lailla kuin dossissakin.

haxor [11.11.2002 20:33:40]

#

Muokkaustoiminto olis kova.. mutta mutta mitään dossin keskeytyksiä EI saa käyttää, koska tuo mun käyttöjärjestelmä ei ole DOS pohjainen.

thefox [11.11.2002 21:01:01]

#

Heh, luonnollisesti ei saa käyttää.. eihän noita QB "DOS pohjaisia käyttiksiä" voi käyttiksiksi kutsuakaan (näin esimerkkinä).
Joka tapauksessa, homma hoituu BIOS-keskeytyksellä 01Ah, funktioilla 2 ja 4.

INT 1A,2 - Read Time From Real Time Clock (XT 286,AT,PS/2)
Eli AH = 02

Mitä nyt tuosta sitten tarvitset niin..
  Carryflag (CF) on 0 jos onnistui, 1 jos epäonnistui :)
  CH = tunnit (Binary Coded Decimal, BCD)
  CL = minuutit (BCD)
  DH = sekunnit (BCD)
Käytännössä: Klo on hh:mm:ss 09:04:12 ->
CX = 0904 ja DH = 12.

Eli eipä siitä sen enempää.. sitten toi 4:nen...

INT 1A,4 - Read Real Time Clock Date (XT 286,AT,PS/2)
Eli AH = 4

Ja tuosta sitten...
  Carryflag (CF) on 0 jos onnistui, 1 jos epäonnistui :)
  CH = vuosituhat (19 tai 20, BCD)
  CL = vuosi (BCD)
  DH = kuukausi (BCD)
  DL = päivä (BCD)
Eli käytännössä: Jos pvm on marraskuun 15:sta, 1986 niin:
CX = 1986 ja DX = 1115.

Kannattaa muuten hankkia joku keskeytysreferenssi.. :x
Toivottavasti ei tullu virheitä noihin..

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta