Entwickler-Ecke
Algorithmen, Optimierung und Assembler - [MASM] *.obj Dateien linken: 16bit klappt, 32bit nicht
Leuchtturm - Di 25.12.07 20:23
Titel: [MASM] *.obj Dateien linken: 16bit klappt, 32bit nicht
Hi,
erstmal sorry falls ich in der falschen Sparte poste.
Ich habe also diese asm-Datei assembliert:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| .MODEL Small .STACK 100h .DATA Meldung DB "Hallo Welt$" .CODE Start: mov ax,@data mov ds,ax mov dx, OFFSET Meldung mov ah,09h int 21h mov ah, 4Ch int 21h END Start |
Danach habe ich eine hallo.obj Datei.
Diese versuche ich nun mit dem MASM Linker für 32 bit zu linken.
| Fehler hat folgendes geschrieben: |
LINK: error: Segment reference in fixup record
hallo.obj: fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt |
Mit dem 16bit-MASM-Linker funktioniert es komischerweise.
Könnte mir jemand sagen was ich falsch mache bzw was an dem Code falsch ist.
Vielen dank im voraus.
mfG
Leuchtturm
PS: Der Code ist aus dem Buch
Assembler - Grundlagen der Programmierung [
http://www.amazon.de/Assembler-Grundlagen-Programmierung-Joachim-Rohde/dp/3826614690/ref=pd_bbs_sr_2?ie=UTF8&s=books&qid=1198606868&sr=8-2]
DrRzf - Mi 26.12.07 23:26
Ich bin zwar nicht der ober Assembler Meister (reicht grad um mal nen schlechtgemachten kopierschutz zu umgehn :-) ) aber was mir hier seltsam vorkommt:
ist das nicht eine Dos interruptroutine um text auszugeben ?
Dos = 16 bit system
wie passt das dann zu 32 bit ?
hab ich da grad nen Denkfehler ?
Reinhard Kern - Do 27.12.07 04:23
DrRzf hat folgendes geschrieben: |
ist das nicht eine Dos interruptroutine um text auszugeben ?
Dos = 16 bit system
|
Ergänzung: es gibt in 32 bit auch kein "Model Small", das ist 16bit Real Mode.
Gruss Reinhard
DrRzf - Do 27.12.07 04:47
hatte ich doch keinen Denkfehler ?
Leuchtturm - Do 27.12.07 11:10
Vielen Dank.
Ich habe das genau so gemacht wie es in dem Buch beschreiben war und mich deshalb gewundert warum das nicht funktioniert.
Reinhard Kern - Do 27.12.07 19:21
Leuchtturm hat folgendes geschrieben: |
Vielen Dank.
Ich habe das genau so gemacht wie es in dem Buch beschreiben war und mich deshalb gewundert warum das nicht funktioniert. |
Hallo,
nach dem Inhaltsverzeichnis ist das Buch auf dem Stand MSDOS mit Windows 3.11, 32 bit-Fragen werden kurz auf den letzten Seiten behandelt. Das kann man für eine Einführung als Vorteil oder als Nachteil sehen, aber du brauchst sicher ein System, auf dem DOS wenigstens gut emuliert wird. Möglicherweise nützt dir das Buch unter Vista nicht mehr viel, ganz sicher nicht unter 64bit.
Ich habe genauso (echte) Programme geschrieben, aber das war vor 25 Jahren oder so.
Gruss Reinhard
Leuchtturm - Do 27.12.07 20:44
Reinhard Kern hat folgendes geschrieben: |
Hallo,
nach dem Inhaltsverzeichnis ist das Buch auf dem Stand MSDOS mit Windows 3.11, 32 bit-Fragen werden kurz auf den letzten Seiten behandelt. Das kann man für eine Einführung als Vorteil oder als Nachteil sehen, aber du brauchst sicher ein System, auf dem DOS wenigstens gut emuliert wird. Möglicherweise nützt dir das Buch unter Vista nicht mehr viel, ganz sicher nicht unter 64bit.
Ich habe genauso (echte) Programme geschrieben, aber das war vor 25 Jahren oder so.
Gruss Reinhard |
Das Buch in der zweiten Auflage erklärt im 1.Teil die Gundlagen von Assembler unter DOS.
Im 2.Teil wird dann auf die Windowsprogrammierung mit ASM eingegangen. Und danach über optimierungen und reverse engineering gesprochen :wink:
Außerdem benutze ich WinXP und das Porgramm läuft in der Console ganz gut.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!