brauche eure nette hilfe ! ich habe zwei BIOS ROM ics mit nur ein verschiedenes byte ! nur das zweite byte im rom ist unterschiedlich. es geht dabei um daten und befehle für ein 8088 prozessor oder (NEC V20) in zusammmenhang mit DOS 5.0 betriebssystem. leider habe ich keine daten zu dem MASCHINENCODE / ASSEMBLERCODE des 8088 gefunden. ich benötige die übersetzung in den ASSEMBLERCODE ! hier die ersten fünf bytes aus beiden ROMS ! 1tes ROM: 00 00 40 00 00 2tes ROM: 00 30 40 00 00 ich weiß das es im DOS 5.0 ein short oder near JUMP sein muß ! leider finde ich im internet keine übersetzungstabelle. vielen dank für eure hilfe
Der 8088 ist mit dem 8086 kompatibel, identisch im Instruktionssatz. Also allenfalls nach 8086 schauen, oder IAPX86, iAPX8086
Und nach einem Reset startet er an der Adresse FFFF0H. Zu Spät.
:
Bearbeitet durch User
vielleicht weiß von euch ja jemand wo ich einen DISASSEMBLER programm für den 8088 oder NEC V20 bekommen kann. danke im vorraus !
Heinz F. schrieb: > vielleicht weiß von euch ja jemand wo ich einen DISASSEMBLER > programm für > den 8088 oder NEC V20 bekommen kann. > danke im vorraus ! Google kaputt? https://www.chip.de/downloads/c1_downloads_hs_getfile_v1_29744273.html http://eji.com/a86/
:
Bearbeitet durch User
Angsthase schrieb: > AUf Adresse steht die Einsprungadresse für IRQ 0 Nö. Die Interrupt-Tabelle liegt im RAM und wird vom BIOS initialisiert.
Das mit dem Debuggen ist nicht ganz so trivial. Befehle koennen bis zu 6 byte lang sein, und man kann auch Leerplaetze im code haben. Dann weiss man nicht mehr wo eine Instruktion beginnt.
erst einmal vielen dank an alle netten spezialisten. das ida pro free programm ist einfach extrem irre gut ! aber ich habe noch ein problem mit der speicheradressierung beim 8088. ich weiß, das er mit segmenten und zeigern arbeitet. aber beim debugger blick ich nicht durch ! mein computer hat ROM Bios, RAM, FLASH ROM, CMOS RAM und STATIC RAM speicher eingebaut. ich würde gerne mit dem DEBUGGER einmal in diesen Speichern, den inhalt anschauen. beim ROM BIOS habe ich den inhalt in eine BINÄR datei kopiert und ihn auf zwei PCs untersucht. denn das konnte ich ja ausbauen und auslesen. nach dem start des debuggers konnte ich auf dem einem pc, ab Adresse 0E46:0100 die Daten und op codes sehen. aber wie finde ich die daten und op codes in den anderen speicher einheiten. die kann ich ja nicht mit einem externen ROM READER auslesen. ich verstehe das adressensystem nicht, beim 8088. mit einem anderen PC , war beim DEBUGGER der erste bereich der adresse (0E46:) anders. nur der zweite bereich (:0100) war gleich. vieleicht kann mir in dieser sache ja auch jemand von euch helfen. vielen dank im vorraus.
Heinz F. schrieb: > beim ROM BIOS habe ich den inhalt in eine BINÄR datei kopiert Na ja, nicht jeder Chip muss mit A0..An und D0..D7 oder D15 des Prozessors verbunden sein, die Leitungen können auch vertauscht sein. Daher ist es schlau, den Prozessor zu entfernen und von dort aus auf die Speicher lesend zuzugreifen z.B. mit einem ICE in circuit emulator. Das nützt aber auch nichts, wenn extern noch Banking Register oder ähnliche Adressumschaltung betrieben wird, die muss man dann gezielt ansprechen.
Das CMOS-RAM sind ein paar Speicherstellen (meist) im Uhren-Chip (RTC). Diese wird mit einer Batterie gepuffert, damit die Uhr weiter läuft wenn der PC aus ist und der Speicherinhalt wird erhalten. Im Real-Mode besteht dei Adresse aus zwei Teilen. Dem Segment und dem Offset. Beide sind 16-Bit groß. Um die Echte Adresse zu bekommen, muss man das Segment mit 16 (0x10) multiplizieren und den Offset addieren. So kommt man auf einen Adressbereich von 20 Bit, was 1 MB entspricht * 16 entspricht links-shift um 4 Bit (oder eine Hexstelle) 0E46:0100 = 0E460 + 0100 = 0E560 Eine Adresse hat somit mehrere Darstellungen. Der Offset überdeckt einen Bereich von 64 kB Interressant ist auch die Segmente ab FF01 da man damit auch wieder auf die Bereiche ab 0000 zugreifen kann.
Dirk B. schrieb: > Interressant ist auch die Segmente ab FF01 da man damit auch wieder auf > die Bereiche ab 0000 zugreifen kann. Naja - fast ...
Heinz F. schrieb: > leider habe ich keine daten zu dem MASCHINENCODE / ASSEMBLERCODE des > 8088 > gefunden. ich benötige die übersetzung in den ASSEMBLERCODE ! > hier die ersten fünf bytes aus beiden ROMS ! > > 1tes ROM: 00 00 40 00 00 > > 2tes ROM: 00 30 40 00 00 Sowas geht in debug (s.o.) ganz einfach, man gibt beispielsweise bei Adresse 100 e "Hallo Asm-World" ein oder eben die Hexwerte, die übersetzt werden sollen. Meistens hilft das, und das geht da z.B. mit u100 u steht für unassemble. Den assemblercode selbst kann man mit (in diesem Beispiel) a100 neu schreiben. Interrupts werden mit p (proceed) übergangen. man kann auch im Speicher herumnavigieren, aber wenn man ein paar 909090 Reichen überspringen möchte, geht das mit g (go) Adresse. Speichereinsicht mit d wie dump http://www.eng.uerj.br/~raul/micro/DEBUG%20Manual.pdf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.