PIC - *.lst nach Hex konvertieren?

Hallo, ich habe hier mehrere große Files für PIC. Diese liegen mir aber nur als lst-Files vor. Wie bekomme ich die nun nach Hex? Der Assembler von Microchip kann die wohl nicht verarbeiten (oder ich was übersehen?) Denkbar sind für mich zurzeit folgende Szenarien:

  1. Mit einem Editor mühsam alle überflüssigen Code und Listnummern Zeile für Zeile entfernen und neu assemblieren
  2. Nur den Hexanteil stehen lassen, den Rest entfernen Beides ist sehr Zeitaufwendig, das Neuschreiben aber auch. Gibt es für eine bessere Lösung? (Anfänger) Guido
Reply to
Guido Speer
Loading thread data ...

Hallo Guido,

"Guido Speer" schrieb in news:c8ijtg$v58$03$ snipped-for-privacy@news.t-online.com:

Das ist unter Linux mit einem simplen colrm bzw. cut machbar. Auch mit dem ed oder vi ist das nur Minutensache, denn Du musst ja nur die ersten n Zeichen jeder Zeile beseitigen. Dann noch einmal drueberschauen und ab in den Assembler.

Das was Du dann erhaeltst ist aber kein hex-File, sondern nur der Hex-Code.

Gruss, Kurt

--
PiN - Präsenz im Netz GITmbH
Kurt Harders
http://www.pin-gmbh.com
Reply to
Kurt Harders

"Kurt Harders" schrieb im Newsbeitrag news: snipped-for-privacy@uni-berlin.de...

Schon wieder Linux ;-) Die Aussage stimmt aber nicht so richtig. Es sind ja bei vielen Zeilen sehr unterschiedliche n Zeichen. Mal nur 7, aber auch deutlich mehr.

Stimmt, aber den kann ich wandeln. Habe da irgendwo noch diverse Tools. Guido

Reply to
Guido Speer

Tja; jenes Betriebs-System liefert i.a. schon eine Reiher sehr nützlicher Tolls 'frei Haus'.

Du _kannst_ Dir auch "cygwin" ODER eines der vielen :-) anderen Unix-for- Windows-Pakete installieren. Oder das (die) nötigen Programme für normales DOS installieren (vor einer Weile waren die bei

formatting link
zu finden; vor kurzem fand ich da aber keine DOS-Tolls mehr.

Der (ehemalige) Assembler-Text beginnt (meist) immer erst nach einer bestimmten Position, und die HEX-Bytes beginnen nach der LOCATION-Angabe, also auch ab einer bestimmbaren Position.

Mit einem BASIC-Programm kannst Du diesen Bereich 'ausschneiden'. Ein UNIX-Programm namens "cut" kann das auch ("5" und "20" als Beispiel):

cut -c 5-20 Ausgabe.hex

Alternativ:

cut -c 20- Ausgabe.asm

Letzteres könntest Du neu assemblieren.

Aus Ersterem noch automatisch die Leerzeichen entfernen:

cat Ausgabe.hex | tr -d " "

Wie gesagt; ein Unix-System ist nicht erforderlich. 'Nur' die Unix-Programme...

Gruss, Holger

Reply to
Holger Petersen

Am Thu, 20 May 2004 19:58:08 +0200 schrieb Guido Speer:

Linux ist nicht schuld, wenn du keine gescheiten Editoren fuer Windows kennst. Es gibt sie aber. SciTE z.B.

formatting link
kann rechteckige Bereiche markieren. Wenn du dich mit regulaeren Ausdruecken auskennst: auch sowas kann ein ordentlicher Editor, und waere ein gangbarer Weg - aber viel zu umstaendlich. Das ist keine Frage des Betriebssystems (ausser, dass bei einer bestimmten Sorte nichts, aber auch gar nichts brauchbares dabei ist).

Dann waere das Listing lausig formatiert. Selbstverstaendlich musst du die Leerzeichen oder Tabs mitzaehlen, die fuer eine buendige Ausgabe des Assemblercodes eingefuegt wurden.

Wieso willst du aus dem Hex-Code Assembler-Code machen, wenn du den Assembler-Code bereits hast? Das, was ein Disassembler ausgibt (das ist das 'diverse Tool'), enthaelt nicht mehr die symbolischen Adressen, die den Code wesentlich verstaendlicher machen. Die muesste man dann von Hand einpflegen.

Uebrigens, fuer ganz dekadente Zeitgenossen: man kann so ein Listing auch an eine Tabellenkalkulation verfuettern. Auch da kann man einstellen, wo Spaltengrenzen liegen sollen.

Gruss Michael

Reply to
Michael Linnemann

Das konnte 'schon' WordStar auf CP/M; so etwa 'Anfang der 80er', als es nur den PC und noch keinen AT gab. Die (Win-) DOS-Programme, die das können, kamen erst sehr viel später. Und unter Linux gibt es sie auch eher selten, oder?

In einer CHIP neulich war erklärt, das selbst WORD sowas kann...

SCNR, Holger

Reply to
Holger Petersen

Joe und Emacs können es - andere Editoren benutze ich normalerweise nicht.

Achso: XEmacs läuft auch unter Windows.

cu Michael

Reply to
Michael Schwingen

Am Fri, 21 May 2004 10:51:21 +0000 (UTC) schrieb Holger Petersen:

WordStar war ein Editor mit Textverarbeitungs-Funktionen. Andere Textverarbeitungen, die nichtproportionale Schrift richtig unterstuetzen, konnten das auch. Meine persoenliche Lieblings-TV (Komforttext, allerdings auf PC) selbstredend auch.

Jeder Editor sollte sowas koennen. Nedit, den ich normalerweise verwende, kann das natuerlich - der laeuft aber nicht nativ unter Windows. SciTE laeuft unter beiden BSen. Joe kann das auch (und mit WordStar-Kommandos). Dass emacs und vi das koennen, setze ich eh voraus.

Was nuetzen regulaere Ausdruecke, wenn das Ding seine Dateien nicht lesen kann :-> Regulaere Ausdruecke sind ein notwendiges, aber nicht hinreichendes Kriterium fuer die Qualifikation als 'ordentlicher Editor'.

AOL, Michael

Reply to
Michael Linnemann

"Michael Linnemann" schrieb im Newsbeitrag news: snipped-for-privacy@haegar.fqdn.th-h.de...

sehr

Stimmt, lausig formatiert. Grund: Ich habe diese mit Acrobat-Reader aus PDF-Dateien extrahiert. Der unterschlägt fast alle Tabs, bzw wandelt sie in _ein_ Leerzeichen um, deshalb das Durcheinander. Jetzt habe ich ein _richtiges_ Konverterprogramm und damit sieht das besser aus.Nur sind auch hier, bedingt durch diverse Überschriften im Listing (wichtig grade für Anfänger), nur mit Handarbeit Erfolge zu verzeichnen. Habe das aber inzwischen an einen Bekannten ausgelagert, der hat ein Plugin für Word mit dem man Rechtecke markieren kann. Das ging dann Ruck-Zuck.

Guido

Reply to
Guido Speer

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.