APPLICATIONSDIVERS ★ CPC/ura ★

Interrupt Clock (Moj Micro)Applications Divers
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Amstradova sistemska ura kaže čas v tristotinkah sekunde. Deluje po tem principu, da šteje prekinitve, ki nastajajo prav tristokrat na sekundo. Kadar nastane prekinitev, procesor prekine delo in skoči na naslov 56 ali 38H. Na tem naslovu je tudi program, ki med drugimi funkcijami, kot je pregledovanje tipkovnice. povečuje uro (natančneje: števec prekinitev) za 1. Kako izkoristiti to uro. da bo kazala realni čas. ko boste kaj delali? Tu sta dva problema: 1. Sistemska ura je organizirana kot 32-bitno število, iz katerega je v premoru med prekinitvama težavno izločiti sekunde, minute in ure. 2. Nepreciznost, ker prekinitve ne nastajajo natančno tristokrat na sekundo oziroma ker frekvenca, pri kateri dela procesor, ni natančno 4 MHz.

Oba problema je mogoče odpraviti. Računalnik prestavimo v prekinitveni način 2 (IM 2) in spremenimo prekinitveni vektor tako. da bo kazal na kakšno našo rutino. V tej rutini bomo registrirali prekinitve in na vsako tristoto povečali število sekund za eno. Ko število sekund doseže 60. postavimo sekunde na ničlo in povečujemo minute; ko pridejo minute do 60. jih resetiramo in povečujemo ure... Kar zadeva organizacijo ure. smo tako odpravili problem. Ura pa še vedno ni natančna. ker se tako kot sistemska opira na periodičnost prekinitev. Zdaj lahko vsake toliko kompenziramo napako. Ker ura (vsaj pri meni) prehiteva. mi je prišlo na misel, da bi po določenem številu prekinitev zmanjšal števec prekinitev za 1. tako da bi med povečevanjem sekund za 1/300 sekunde oziroma za eno prekinitev nastal premor. Eksperimentiral sem z različnimi vrednostmi in prišel do številke 661 (po 661. prekinitvi naredimo premor). Tako se ura na 1 uro dela zmoti za 0.2-0.3 sekunde. Če pri vas ne bo tako natančna, poskusite spremeniti vrednost na naslovu 40070. vendar mislim, da ni potreben kakšen velik popravek.

Ko naša rutina opravi delo. moramo samo še skočiti na 38H. kamor bi procesor v normalnem načinu skočil sam. Ko program poveča sekunde. v spodnjem Ifevem kotu izpiše čas. Če bi radi prestavili izpisovanje na kakšno drugo lokacijo, vpišite koordinato X na naslov 40163. Y pa na 40162.

Program pretipkajte in ga posnemite s SAVE "CLOCK", B, 40000, 236. Kadar ga boste potrebovali, vpišite MEMORY 39999: LOAD "CLOCK.BIN", 40000

Program poženete in hkrati določite čas S CALL 40000, Č, Č, M, M, S, S. Pomanjkljivost te in vseh drugih ur. ki temeljijo na prekinitvah, je v tem. da med nalaganjem in snemanjem začasno prekine delo. ker operacijski sistem prepoveduje prekinitve. Po takih operacijah ura zao staja, zato jo je treba znova naravnati. kot sem opisal.

Moj Micro

★ PUBLISHER: Moj Micro
★ ANNÉE: 1990
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTHOR: Dragan Obrenovič (32000 Čačak)
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Interrupt  Clock    (Moj  Micro)    LISTING    SLOVENIANDATE: 2021-12-07
DL: 131
TYPE: PDF
SiZE: 33Ko
NOTE: 1 page/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Big Letter Clock (Schneider Aktiv)
» Applications » RSX Clock (Popular Computing Weekly)
» Applications » RSX Clock (Happy Computer)
» Applications » Analogue and Digital Clock (The Amstrad User)
» Applications » Clock (Popular Computing Weekly)
» Applications » Interrupt Clock (Amstrad Action)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 262 millisecondes et consultée 623 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.