Neue Antwort schreiben 
 
Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Kann hier jemand 8086er Assembler?
freaked Offline
× ∫яεαкεδ εησυġн × ζιgнтѕтαя ×

Beiträge: 17.046
Registriert seit: Jul 2008
Beitrag #1
Kann hier jemand 8086er Assembler?
Zitat: The hardware clock only counts up to 4095 days from the
"zero" date, which was previously set at 1984.01.01. This
release changes the "zero" date to 1992.01.01. M24CLK will
therefore fail again after 2003.03.18.

Nun, wer kann die ASM im Anhang so anpassen, dass es ab 2016 für wieder 4095 Tage funktioniert und mir ggf. sagen was er geändert hat?
  m24clk11.zip (Größe: 11,78 KB / Downloads: 1)

nun, nimmer so wichtig. hab was von at&t gefunden, geht bei mir auch
das wurde vorausschauend gemacht, man kann in der config.sys die aktuelle jahrszahl angeben.
  CLOCKFIX.ZIP (Größe: 3,01 KB / Downloads: 0)


Angehängte Datei(en)
.zip  CLOCKFIX.ZIP (Größe: 3,01 KB / Downloads: 2)
.zip  m24clk11.zip (Größe: 11,78 KB / Downloads: 4)

(Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2016 22:41 von freaked.)
06.08.2016 22:24
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
gandro Offline
Quälgeist

Beiträge: 8.950
Registriert seit: Jul 2008
Beitrag #2
RE: Kann hier jemand 8086er Assembler?
Kurz darüber geflogen scheint die Hardware intern den 1.1.80 als Nullpunkt zu verwenden (steht so bisschen im Widerspruch zu 1984 aus dem Zitat?). Der Code verwendet einen BIAS Offset von 12 Jahren, der wird beim Auslesen dazuaddiert, beim Schreiben wieder davon abgezogen. Beispiel INPUT und OUTPUT:

Code:
INPUT:
          mov       ah,-2               ; Use INT 1A.FE
          int       1ah                 ;   to read from hardware clock
          add       bx,cs:BIAS
          mov       [di],bx             ; bx: # days since 80.01.01

Du kannst versuchen das selber anzupassen, siehe Zeile 143:

Code:
BIAS      dw        (366+3*365)*3       ; # days between 1980.01.01
                                        ;            and 1992.01.01

= 3 * 366 + 9 * 365 = 3 Schaltjahre und 9 normale Jahre. Für 2016 als Nullpunkt musst du also 9 Schaltjahre und 27 normale Jahre nehmen, also lustigerweise genau 3x länger.

Code:
BIAS      dw        (366+3*365)*9

Da ist jetzt eine 9 anstatt eine 3, weil 3*3 = 9. Ansonsten 9*366+27*365. Das liegt immer noch im 16-Bit Range und sollte daher keine Probleme machen, wobei ich mir den Rest vom Source-Code noch nicht angeschaut habe..

Wie du den Source-Code kompilierst kann ich dir aber spontan nicht gerade sagen, da der Offset aber fix ist könnte man evtl. auch das Binary patchen..

Nachtrag: Der ursprüngliche BIAS war offenbar 4 Jahre, darum die Multiplikation mit 3..
(Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2016 11:24 von gandro.)
06.08.2016 23:07
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
gandro Offline
Quälgeist

Beiträge: 8.950
Registriert seit: Jul 2008
Beitrag #3
RE: Kann hier jemand 8086er Assembler?
Nachtrag: Okay, hier ist ein gepatches Binary, ich habe die Zahl 12 Jahre (=0x111F Tage) durch 36 Jahre (=0x335D Tage) ersetzt im Binary (Offset 0036, in Little-Endian). Ob das wirklich sonst nichts kaputt macht kann ich aber nicht versprechen, Verwendung auf eigene Gefahr b2


Angehängte Datei(en)
.zip  M24CLK_PATCHED.zip (Größe: 532 Bytes / Downloads: 2)
(Dieser Beitrag wurde zuletzt bearbeitet: 06.08.2016 23:18 von gandro.)
06.08.2016 23:17
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
freaked Offline
× ∫яεαкεδ εησυġн × ζιgнтѕтαя ×

Beiträge: 17.046
Registriert seit: Jul 2008
Beitrag #4
RE: Kann hier jemand 8086er Assembler?
Du bist ein wahnsinn öö werd ich morgen testen

06.08.2016 23:31
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
freaked Offline
× ∫яεαкεδ εησυġн × ζιgнтѕтαя ×

Beiträge: 17.046
Registriert seit: Jul 2008
Beitrag #5
RE: Kann hier jemand 8086er Assembler?
gand0r, es funktioniert, datum wird richtig gesetzt:
[Bild: WP_20160807_13_34_27_Rich.jpg]

bist ein sehr schlaues kerlchen :gay: alle olivettinutzer sagen danke

(Dieser Beitrag wurde zuletzt bearbeitet: 07.08.2016 12:42 von freaked.)
07.08.2016 12:42
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
gandro Offline
Quälgeist

Beiträge: 8.950
Registriert seit: Jul 2008
Beitrag #6
RE: Kann hier jemand 8086er Assembler?
:banane:
07.08.2016 13:03
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Blue Offline
Seit dem 17.10.2006 dabei!

Beiträge: 21.529
Registriert seit: Jul 2008
Beitrag #7
RE: Kann hier jemand 8086er Assembler?
da fehlt ein copyright hinweis !_!
07.08.2016 13:48
Alle Beiträge dieses Benutzers finden Diese Nachricht in einer Antwort zitieren
Neue Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste