Newsgroup: it.comp.programmare
Titolo: ...E per accendere il PC?

Buongiorno a tutti!
Vi devo porre un problema che mi assilla da 1 bel po':
Per quanto ne so nella maggior parte delle schede madri nuove è
installato un chip per far sì che il PC si accenda in un dato
momento...
Il problema è: come fare a settarlo in modo che accenda il pc quando
voglio io???
Se avete idea di come si faccia accetto consigli, qualsiasi sia il
linguaggio da usare...
Thanks! :-)

 Thanks! :-)
Puoi settarlo, ma si tratta di un parametro del bios: deve modificarlo 
manualmente l'utente.

 manualmente l'utente.
Effettuando un po' di ricerche ho risolto il problema...
Effettivamente è un parametro del BIOS ma (com'è guisto!) non è niente
che non si possa risolvere con l'Assembler...
Ho scoperto che c'è un int molto carino... Riporto il pezzo della
lista di Ralph Brown che ne parla:
--------B-1A0C-------------------------------
INT 1A - TIME - SET RTC DATE/TIME ACTIVATED POWER-ON MODE (IBM)
 AH = 0Ch
 CH = hours (BCD)
 CL = minutes (BCD)
 DH = seconds (BCD)
 DL = day of month (BCD)
Return: CF clear if successful
 CF set on error (alarm already set or clock nonfunctional)
Desc: set an automatic power-on for a given time in the future
Note: IBM classifies this function as optional
SeeAlso: AH=06h,AH=0Dh,AH=0Eh,INT 4A
---------------------------------------------------
Però devo ancora testarlo...
Farò sapere se funziona (Perchè non dovrebbe??)

 Farò sapere se funziona (Perchè non dovrebbe??)
Sono interessato alla cosa. Potresti postare il codice completo?
ciao.


.MODEL small;
.STACK 100;
.DATA
Error DB "Non ha funzionato!!!$"
.CODE
start:
mov bx,@data; setta il DATA SEGMENT
mov ds,bx;
mov ah,02h;
int 1Ah; preleva l'ora
jc errore; esce se c'è un errore
push ch;salva l'ora, i minuti e i secondi
push cl;
push dh;
mov ah,04h;
int 21h; preleva la data: il dl c'è il giorno
jc errore;esce se c'è un errore
pop dh;mette l'ora nei vari registri
pop cl;
pop ch;
cmp ch,9;Se ch vale 9 deve metterci 10h!
je ch_vale_9;
cmp ch,19;lo stesso se vale 19!
je ch_vale_19;
inc ch;il pc si accenderà tra 1 ora
jmp fine
ch_vale_9:
mov ch,10h;
jmp fine;
ch_vale_19:
mov ch,20h;
fine:
mov ah,0Ch;setta il power-on
int 21h;
jnc finito; se è andato tutto bene va alla fine
errore:
mov dx,OFFSET Error; Stampa un messaggio di errore
mov ah,09h;
int 21h;
mov al,01h;esce con errore!
finito:
mov ah,4Ch;
int 21h;
end start
dovrebbe funzionare non l'ho ancora provato (sono a scuola!!)
in questo caso il PC si accende dopo un ora ma è facile settarlo
diversamente...

 start:
grazie molte. E' da una vita (8 anni!) che non bazzico più l'assembly.
Che strumenti utilizzi, ché vorrei aggiornarmi un po'...
ciao.

 ciao.
Scusascusascusa!!!
Il prg era sbagliatissimo!!!
Abbi pazienza ero a scuola ho fatto tutto di corsa (e male!!)
Posto il prg giusto:
;Accendi.asm: accende il computer un'ora dopo l'avvio del prg.
.MODEL small;
.STACK 100h;
.DATA
Error DB "Non ha funzionato!!!$"
.CODE
start:
mov bx,@data; setta il DATA SEGMENT
mov ds,bx;
mov ah,0dh;resetta il power-on
int 1ah;
mov ah,02h;
int 1Ah; preleva l'ora
jc errore; esce se c'è un errore
push cx;
push dx;
mov ah,04h;
int 1Ah; preleva la data: il dl c'è il giorno
jc errore;esce se c'è un errore
mov bl,dl;
pop dx;mette l'ora nei vari registri
pop cx;
mov dl,bl;
cmp ch,9;Se ch vale 9 deve metterci 10h!
je ch_vale_9;
cmp ch,19h;lo stesso se vale 19!
je ch_vale_19;
inc ch;il pc si accenderà tra 1 ora
jmp fine
ch_vale_9:
mov ch,10h;
jmp fine;
ch_vale_19:
mov ch,20h;
fine:
mov ah,0Ch;setta il power-on
int 1Ah;
jnc finito; se è andato tutto bene va alla fine
errore:
mov dx,OFFSET Error; Stampa un messaggio di errore
mov ah,09h;
int 21h;
mov ah,01h;
int 21h;E aspetta che l'utente prema un tasto
mov al,01h;esce con errore!
finito:
mov ah,4Ch;
int 21h;
end start
Questo sembrerebbe funzionare... Cioè, a me dice "Non ha funzionato"
ma solo quando nell'ultimo interrupt tenta di settare il Power-On (ho
provato col debugger)...
Questo (penso) perchè la mia Motherboard, anche se nuova di zecca, non
ha l'opzione RTC...
Qualcuno per favore provi e mi faccia sapere!!!
Per quanto riguarda gli strumenti, uso il buon vecchio Blocco Note e
il TASM della Borland per la compilazione...
...8 anni senza Assmbly??? Povero te :-)
Adiòs!