026
11.02.2011, 21:57 Uhr
Enrico
Default Group and Edit
|
Zitat: | Mobby5 schrieb Ha, MAXSEG=<3F> Bier sauf!
Was passiert eigentlich bei dem RAM-Test, wenn eine Adressleitung "fehlt" (nicht umschaltet)? |
Gratuliere!
Also bei den Adressen weis ich das jetzt nicht, aber die Datenleitungen werden auf Verkopplung geprüft. Gück doch mal in die Doku. Da steht doch was gemacht wird.
Oder doch gleich so:
Quellcode: | Testschritt 70 (0000 'P') Test auf externen Speicher (hoechstes Segment) ---------------------------------------------!
!Beginnend bei Segment 0 wird jeweils bei den Offsetadressen %8000 und %FFFE getestet, ob RAM vorhanden ist (auf der Adresse wird die Segmentnummer des betrachteten Segments eingetragen und rueckgelesen). Wenn auf beiden Adressen kein RAM vorhanden ist, ist die vorherige Segmentadresse die hoechste. --- Fehler 70, wenn kein Segment vorhanden ist ---!
!------------------------ Testschritt 71 (0001 'O') Test Segmentadressen ------------------------!
!Beginnend beim hoechsten Segment wird bis zum Segment 0 auf den Offset- adressen %8000 und %FFFE die im vorherigen Testschritt auf diesen Adressen eingetragenen Segmentnummern rueckgelesen und mit der Segmentnummer des betrachteten Segments verglichen. --- Fehler 71, wenn der Vergleich auf beiden Adressen eines Segments negativ ausfaellt ---!
!------------------------------------------------------------------ Testschritte 72, 73, 74, 75, 79 (0100, 0101, 0102, 0103, 0104 'W') RAM-Test (ausser Segment 0) ------------------------------------------------------------------!
! --- Fehler 72, 73, 74, 75 - siehe RAM_TEST_SEG --- --- Fehler 79 wenn kein fehlerfreies Segment groesser 0 vorhanden ist ---
INTERNAL RAM_TEST_SEG procedure entry
!----------------------------------- Testschritt 72 (0100) Test auf fehlerhafte Speicheradresse -----------------------------------!
!Die 15 Adressen (0003,0006,000C,0018,0030,0060,00C0,0180,0300,0600,0C00,1800, 3000,6000,C000) des betrachteten Segments werden beschrieben und wieder rueckgelesen. --- Fehler 72, wenn eine Speicherzelle fehlerhaft rueckgelesen wurde ---!
!-------------------------------- Testschritt 73 (0101) Test auf fehlerhafte Datenleitung --------------------------------!
!Die Adresse %8000 des betrachteten Segments wird nacheinander mit den Werten 0001,0002,0004,0008,0010,0020,0040,0080,0100,0200,0400,0800,1000,2000,4000, 8000,0001 (jeweils ein Bit gesetzt) beschrieben und wieder rueckgelesen. --- Fehler 73, wenn ein Wert fehlerhaft rueckgelesen wurde ---!
!----------------------------------------------- Testschritt 74 (0102, 0103) Test auf fehlerhafte '%AAAA'- bzw. '%5555'-Daten -----------------------------------------------!
!Das ganze betrachtete Segment wird mit dem Datenwert %AAAA bzw. %5555 beschrieben und wieder rueckgelesen. --- Fehler 74, wenn ein %AAAA- bzw. %5555-Wert fehlerhaft rueckgelesen wurde ---!
!-------------------------------------------------------------- Testschritt 75: Test auf RAM-Paritaetsfehler (ausser Segment 0) Testschritt 76: Test auf RAM-Paritaetsfehler (Segment 0) --------------------------------------------------------------!
!Das ganze betrachtete Segment wird mit dem Monitormaschinenkode (0-%1FFF, 8x) beschrieben und wieder rueckgelesen. --- Fehler 75, wenn waehrend des Ruecklesens ein Paritaetsfehler auftrat --- --- Bei Testschritt 76 erfolgt keine Fehlerausgabe. Stattdessen stuerzt das System bei Auftreten eines Paritaets-NMI ab, da das Programm nicht im Segment 0, sondern im hoechsten Segment laeuft ---!
(Anscheinend ist die Paritätskontrolle per I/O ein/ausschaltbar)
|
-- MFG Enrico Dieser Beitrag wurde am 11.02.2011 um 21:59 Uhr von Enrico editiert. |