001 
            26.08.2016, 10:31 Uhr 
            Olli 
            
  
 
  | 
          <06> sollte das 7. Segment sein. Der Wert danach (0xB712) Die defekte (relative) RAM Adresse.
  https://github.com/OlliL/P8000/blob/master/firmware/MON16/p.test.s
 
 
 | Quellcode: |  
      ld    ERRPAR_ID, #%00EA !Fehlerparameter fuer Fehler 73, 74                             <r6>, r7, r5, r4 !
  [..........]
  !----------------------------------------------- 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 ---!
  RATE5:     ld    r8, #%74    !Fehler 74: 'A' or '5' Data  Fault!     andb    rh1, #%03    !Loeschen Bit2-7(rh1)!     calr    WR_TESTNR    !Ausgabe der Testschrittnummer!
      ld    r5, #%AAAA    !zuerst %AAAA in RAM eintragen! RATE6:     ld    r12, r6        !r12=Segnr. Zieladresse:=Segnr. Quelladresse!     ld    r13, #%0002    !r13=Offset Zieladresse:= %0002!     xor    r7, r7        !r7=Offset Quelladresse:= %0000!     ld    r0, #%7FFF    !r0=WORD-Anzahl fuer ldir!     set    r9, #%0F     ldctl    FCW, r9        !segmentierten Mode einstellen!     ld    @r6, r5     ldir    @r12, @r6, r0    !ganzes Segment mit r5 beschreiben!
      xor    r7, r7        !r7=Anfangs-Offset-Adresse fuer Vergleich:=%0!     ld    r0, #%8000    !r0=Anzahl der Worte fuer Vergleich!     cpir    r5, @r6, r0, nz    !Test ab Adr. 0 (max. bis Segmentende), bis                  zu einer Stelle, wo r5 nicht im RAM steht!     dec    r7, #2        !r7 zeigt auf fehlerhafte RAM-Adresse!     ld    r4, @r6        !fehlerhafte Adresse lesen!     res    r9, #%0F     ldctl    FCW, r9        !nichtsegmentierten Mode einstellen!     calr    BY_WO_CMP    !Vergleich r4/r5; ggf. Fehler 74!     cpb    rl5, #%55     jr    z, RATE7    !naechster Testschritt!     ld    r5, #%5555    !Test mit Datenwort %5555!     jr    RATE6
  |  
 
  -- P8000 adventures: http://pofo.de/blog/?/categories/1-P8000 Dieser Beitrag wurde am 26.08.2016 um 10:31 Uhr von Olli editiert. |