MFA 8085 - Assembler Übertragungsproblem

Gast #128622
Lesenswert?
• ▲
▼
Hallo alle zusammen, hoffe ihr könnt mir bei meinem Problem
weiterhelfen.
In meiner Ausbildung zum Kummunikationselektroniker muss ich mich mit
der Programmierung eines MFA 8085 auseinander setzen. Zu diesem Zweck
stehen in meinem Ausbildungsbetrieb rund 8 MFAs an drei verschiedenen
Rechnertypen. Vor kurzem wurde nun unsere IT-Infrastruktur auf
Win2000/XP umgestellt und da fängt das Problem an.
Seit dieser Umstellung wird der Assembler-Code, den ich zuvor im Editor
erstelle, nicht mehr korrekt übertragen (so ist zumnindest meine
Annahme).

Ein Beispiel:

verwendeter Assembler-Code (Richtigkeit spielt in diesem Fall keine
Rolle, da das Problem mit jedem Code auftritt)

assembler
0e000
lc
lxi sp,0fc32
in 01
out 02
end

Diesen Code füge ich per Editor/Kopieren -> Hyperterminal einfügen ->
COM1-Port -> MFA ein (per Maus und nicht per Strg+V).
Im Hyperterminal erscheint anschließend nur das hier:

KMD > ASSEMBLER
 START-ADR =0000 D


stattdessen bei WinNT 4.0


KMD > ASSEMBLER
 START-ADR =E000 E000
E000             LC
E000 31 32FC     LXI SP,0FC32
E003 DB 01       IN 01
E005 D3 02       OUT 02
E007             END

Wenn ich allerdings jeden Assembler-Befehl einzeln kopiere funktioniert
alles korrekt.


Um dem Problem auf die Spur zu kommen habe ich mal den Com-Port
ausgelesen.

Hier die Auslesung des Vorgangs bei einem WinNT 4.0 - Systems:

TD
a  s        s        e        m       b        l        e        r
 cr
                         e  0  0     0 cr
                                    l  c cr
                                      l  x  i     _  s  p  ,  0  f  c  3
 2 cr
                                 i  n  _  0  1 cr
                                                                       o
 u  t  _  0  2 cr
                                          e  n  d
RD
A  S bs bl  S bs bl  E bs bl M bs bl  B bs bl  L bs bl  E bs bl  R bs
bl   bs  S  S  E  M  B  L  E  R cr lf cr  _ bs    S  T  A  R  T  -  A
 D  R  _  =  E  0  0  0    E     0  0     0   bs lf cr cr  E  0  0  0
  _  _  _  _  _  _  _  _  _  _  _    L     C cr cr lf cr cr  E  0  0
0    _  _  _  _  _  _  _  _  _  _  _  _  L     X  I    S  P  ,  0  F
C  3  2 cr cr  E  0  0  0    3  1    3  2  F  C lf cr cr  E  0  0  3
  _  _  _  _  _  _  _  _  _  _  _  _  I  N    0  1 cr cr  E  0  0  3
  D  B  _  0  1 lf cr cr  E  0  0  5  _  _  _  _  _  _  _  _  _  _  
  _  O     U  T  _  0  2 cr cr  E  0  0  5  _  D  3    0  2 lf cr cr
E  0  0  7    _  _  _  _  _  _  _  _  _  _  _    E  N  D



Hier die Auslesung des selben Vorgangs bei einem Win2000/XP-System:

TD
A S bs bl  S bs bl  B bs bl  R bs bl  E bs bl  0 bs bl  N bs bl  0 bs
bl  O bs bl   bs  S  S  E  M  B  L  E  R  cr  lf  cr lf cr  _ bs    S
 T  A  R  T  -  A  D  R  _  =  0  0  0  0  _  D

RD
a s  s  e  m  b  l  e  r cr  0  e  0  0  0 cr  i  n  _     0  1 cr  o
u  t  _  0  2 cr  e  n  d


Nun weiß ich allerdings auch nicht mehr weiter, woran es liegen könnte.

Das Hyperterminal und dessen Treiber habe ich bereits testweise durch
die NT-Version ersetzt, zeigte allerdings keine Wirkung.
Für jede Lösung des Problems oder Tipps zur Ursachenfindung wäre ich
sehr dankbar.
Gast #128624
Lesenswert?
• ▲
▼
Könnte es sein, daß hier keine Handshakeleitungen verwendet werden?

Dein "Protokoll" ist annähernd unlesbar, aber es sieht so aus, als
würde in einem Fall CR+LF als Zeilentrenner gesendet werden, im anderen
Falle scheint nur CR gesendet zu werden.
Die vielen Backspaces, die Du mitsendest, lassen auf ein grundlegendes
weiteres Problem schließen.

Warum kopierst Du "mit der Maus" Texte in die Zwischenablage, um sie
im Terminalprogramm "einzufügen"?

Wieso kein anständiger Datentransfer mit 'nem dafür vorgesehenen
Protokoll wie X-Modem/Kermit?
Gast #128625
Lesenswert?
• ▲
▼
Danke für die schnelle Antwort. Das mit den Handshakeleitungen überprüfe
ich gleich mal.

Das mit der Maus und dem Protokoll wurde mir so in der Berufsschule
beigebracht. Aber danke für den Tipp, werde mich da gleich mal mit
befassen.
Gast #128626
Lesenswert?
• ▲
▼
Bin jetzt doch noch auf den Fehler gekommen.

Die Datenübertragung zwischen PC und MFA war für den 8085 zu schnell.
Ich hab nun eine Zeilen- und Zeichenverzögerung von 50 Millisekunden
dazugegeben und jetzt funktioniert alles einwandfrei.

Nochmals Danke Rufus T. Firefly für den Tipp mit dem Protokoll.
Gast #1127962
Lesenswert?
• ▲
▼
du musst einfach wenn das kommt bei XP:

KMD > ASSEMBLER
 START-ADR =0000 D

dahinter E000 schreiben

dann müsste was am MFA ausgegeben, wenn der code richtig ist

P.S. beim MFA 8085 ist IN 12 und OUT 13 :)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.