PIC - *.lst nach Hex konvertieren?

G

Guido Speer

Guest
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
 
Hallo Guido,

"Guido Speer" <Guido.Speer@t-online.de> schrieb in
news:c8ijtg$v58$03$1@news.t-online.com:

1. Mit einem Editor mühsam alle überflüssigen Code und
Listnummern Zeile für Zeile entfernen und neu assemblieren
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.

2. Nur den Hexanteil stehen lassen, den Rest entfernen
Beides ist sehr Zeitaufwendig, das Neuschreiben aber auch.
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
 
"Kurt Harders" <news@kurt-harders.de> schrieb im Newsbeitrag
news:2h44obF8flhiU1@uni-berlin.de...
Hallo Guido,

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.
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.

Das was Du dann erhaeltst ist aber kein hex-File, sondern nur der
Hex-Code.
Stimmt, aber den kann ich wandeln. Habe da irgendwo noch diverse Tools.
Guido
 
"Guido Speer" <Guido.Speer@t-online.de> writes:


"Kurt Harders" <news@kurt-harders.de> schrieb im Newsbeitrag

Das ist unter Linux mit einem simplen colrm bzw. cut machbar.

Schon wieder Linux ;-)
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 www.simtel.net zu finden;
vor kurzem fand ich da aber keine DOS-Tolls mehr.

Die Aussage stimmt aber nicht so richtig. Es sind ja bei vielen Zeilen
sehr unterschiedliche n Zeichen. Mal nur 7, aber auch deutlich 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 <Eingabe.lst >Ausgabe.hex

Alternativ:

cut -c 20- <Eingabe.lst >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
 
Am Thu, 20 May 2004 19:58:08 +0200 schrieb Guido Speer:

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.

Schon wieder Linux ;-)
Linux ist nicht schuld, wenn du keine gescheiten Editoren fuer Windows
kennst. Es gibt sie aber. SciTE z.B. (www.scintilla.org) 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).

Die Aussage stimmt aber nicht so richtig. Es sind ja bei vielen Zeilen sehr
unterschiedliche n Zeichen. Mal nur 7, aber auch deutlich mehr.
Dann waere das Listing lausig formatiert. Selbstverstaendlich musst du
die Leerzeichen oder Tabs mitzaehlen, die fuer eine buendige Ausgabe des
Assemblercodes eingefuegt wurden.

Stimmt, aber den kann ich wandeln. Habe da irgendwo noch diverse Tools.
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
 
m.linnemann@addcom.de (Michael Linnemann) writes:

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

Schon wieder Linux ;-)

Linux ist nicht schuld, wenn du keine gescheiten Editoren fuer Windows
kennst. Es gibt sie aber. SciTE z.B. (www.scintilla.org) kann
rechteckige Bereiche markieren.
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?

Wenn du dich mit regulaeren Ausdruecken
auskennst: auch sowas kann ein ordentlicher Editor,
In einer CHIP neulich war erklärt, das selbst WORD sowas kann...

SCNR, Holger
 
In article <c8kmv9$u0m$1@kbbs.org>, Holger Petersen <hp@kbbs.org> wrote:
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?
Joe und Emacs können es - andere Editoren benutze ich normalerweise nicht.

Achso: XEmacs läuft auch unter Windows.

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

Linux ist nicht schuld, wenn du keine gescheiten Editoren fuer Windows
kennst. Es gibt sie aber. SciTE z.B. (www.scintilla.org) kann
rechteckige Bereiche markieren.

Das konnte 'schon' WordStar auf CP/M; so etwa 'Anfang der 80er', als
es nur den PC und noch keinen AT gab.
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.

Die (Win-) DOS-Programme, die
das können, kamen erst sehr viel später. Und unter Linux gibt es sie
auch eher selten, oder?
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.

Wenn du dich mit regulaeren Ausdruecken
auskennst: auch sowas kann ein ordentlicher Editor,

In einer CHIP neulich war erklärt, das selbst WORD sowas kann...
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'.

SCNR, Holger
AOL,
Michael
 
"Michael Linnemann" <m.linnemann@addcom.de> schrieb im Newsbeitrag
news:n4bj8c.ll5.ln@haegar.fqdn.th-h.de...
Die Aussage stimmt aber nicht so richtig. Es sind ja bei vielen Zeilen
sehr
unterschiedliche n Zeichen. Mal nur 7, aber auch deutlich mehr.

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

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
 

Welcome to EDABoard.com

Sponsor

Back
Top