Supportnet / Forum / Anwendungen(Java,C++...)
Assembler Uhrzeit Datum und Wochentag
Frage
Wer kann mir helfen in Assembler (Compiler: a86) den Wochentag auszugeben.
Datum und Uhrzeit klappt schon ohne Probleme nur der Wochentag fehlt.
Danke im Voraus
Sunland
Antwort 1 von semi
Du kannst es von der Echtzeituhr abfragen.
Folgende Informationen stehen drin an den entsprechenden Positionen:
00h: Aktuelle Sekunde
01h: Alarmsekunde
02h: Aktuelle Minute
03h: Alarmminute
04h: Aktuelle Stunde
05h: Alarmstunde
06h: Tag der Woche (Sonntag=1, Montag=2 usw.)
07h: Tage des Monats
08h: Monat
09h: Jahr
0Ah: Statusregister A der Uhr
0Bh: Statusregister B der Uhr
0Ch: Statusregister C der Uhr
0Dh: Statusregister D der Uhr
32h: Jahrhundert (19 oder 20)
Aufruf über die Ports 70h und 71h
Die Namen der Wochentage kannst Du als eine Liste definieren
Gruß,
Michael
Folgende Informationen stehen drin an den entsprechenden Positionen:
00h: Aktuelle Sekunde
01h: Alarmsekunde
02h: Aktuelle Minute
03h: Alarmminute
04h: Aktuelle Stunde
05h: Alarmstunde
06h: Tag der Woche (Sonntag=1, Montag=2 usw.)
07h: Tage des Monats
08h: Monat
09h: Jahr
0Ah: Statusregister A der Uhr
0Bh: Statusregister B der Uhr
0Ch: Statusregister C der Uhr
0Dh: Statusregister D der Uhr
32h: Jahrhundert (19 oder 20)
Aufruf über die Ports 70h und 71h
mov al, 6h // offset von "Tag der Woche"
out 70h, al // An Port 70h ausgeben
in al, 71h // Inhalt der Speicherzelle holen
Die Namen der Wochentage kannst Du als eine Liste definieren
TEXT DB 'So',00
DB 'Mo',00
DB 'Di',00
DB 'Mi',00
usw.
Gruß,
Michael
Antwort 2 von Sunland
Hi Semi
Vielen dank schonmal für den Code...
aber könntest du mir vielleicht den kompletten code angeben. Krieg das irgendwie nicht hin.
cu and big thx
race
Vielen dank schonmal für den Code...
aber könntest du mir vielleicht den kompletten code angeben. Krieg das irgendwie nicht hin.
cu and big thx
race
Antwort 3 von semi
Hallo,
ich werde heute abends mal nachschauen. Ich habe momentan keinen Assembler zur Hand. Außerdem habe ich keine Ahnung, wie die Programmstruktur bei as86 aussieht.
Gruß,
Michael
ich werde heute abends mal nachschauen. Ich habe momentan keinen Assembler zur Hand. Außerdem habe ich keine Ahnung, wie die Programmstruktur bei as86 aussieht.
Gruß,
Michael
Antwort 4 von Sunland
Danke, ist nett
falls es dir hilft hier gibt es den a86
als freeware
http://www.eji.com/a86.zip
falls es dir hilft hier gibt es den a86
als freeware
http://www.eji.com/a86.zip
Antwort 5 von semi
Das ist 'ne Weile her, wo ich an Interrupts rumgefummelt habe aber das folgende Programm sollte laufen
Gruß,
Michael
JMP START
WEEKDAYS:
DB 'SoMoDiMiDoFrSa'
START:
MOV AL,6h ; Offset von "Tag der Woche"
OUT 70h,AL ; An Port 70h ausgeben
IN AL,71h ; Inhalt der Speicherzelle holen
DEC AL ; 1=So hat aber offset 0
MOV CX,2 ; 2 Zeichen pro Wochentagnamen
MUL CX ; Offset berechnen
MOV DX,WEEKDAYS ; Startoffset des Strings
ADD DX,AX ; Offset des akt. Wochentages dazuaddieren
MOV CX,2 ; wir geben zwei Zeichen aus
MOV BX,1 ; an stdout
MOV AH,040 ; Fkt. write
INT 33 ; und ausgeben
MOV AL,0 ; raus
MOV AH,4CH
INT 21h
Gruß,
Michael
Antwort 6 von Sunland
Jup Danke
klapp perfekt
Danke für die Mühen
cu
sunland
klapp perfekt
Danke für die Mühen
cu
sunland

