4 Stimmen

DOS-Ausführung von Assembler-Code

Ich schreibe ein Stück Assembler, das ein tsr registriert und dann beendet.

Ich kämpfe damit, herauszufinden, wie ich das richtig in ein Format zusammensetze, das ich in Dos ausführen kann.

Ich habe Zugang zu Ubuntu 9.04 und Windows xp. (Linux-Methode wird bevorzugt). Wenn jemand mir sagen kann, wie ich meinen Code in ein ausführbares Dos-Format zusammenstellen kann und wie ich ihn dann in Dos ausführe, würde ich das sehr zu schätzen wissen!

0 Stimmen

TSR's? DOS? Plötzlich ist es wieder wie 1985. Unterstützt XP überhaupt TSRs?

0 Stimmen

microsoft.com/resources/documentation/Windows/xp/all/proddocs/ Ich schätze, Sie können das immer noch tun. Erstaunlich.

0 Stimmen

Jetzt bin ich neugierig - was macht Ihr tsr? Oder ist es nur eine Lernerfahrung?

2voto

Für den Fall, dass jemand mit der gleichen Frage wie ich hier vorbeikommt, hier die Antwort, die ich schließlich gefunden habe. Es ist eine kostenlose Entwicklungsumgebung, mit der man leicht Dos-Programme erstellen kann:

http://www.winasm.net/

Die Entwicklungsumgebung erledigt die gesamte Backend-Arbeit mit Masm, das ebenfalls installiert werden muss, aber alle Assemblierungs- und Verknüpfungsaufgaben übernimmt.

1voto

matja Punkte 3804

Wenn es sich um eine ausführbare .COM-Datei handelt, brauchen Sie nur ein "org 0x100" am Anfang und assemblieren mit "nasm -f bin", unter Verwendung von nasm, das für jedes Betriebssystem entwickelt wurde.

Für eine .EXE benötigen Sie einen DOS-Linker, d.h. den, der mit TASM/MASM geliefert wird. Ich bin mir nicht sicher, ob es einen portablen 16-Bit-DOS-Linker gibt, die meisten neigen dazu, 32-Bit-Programme zu linken, die unter einem DOS-Extender laufen.

0 Stimmen

Okay, ich war in der Lage, mit NASM zu montieren, aber ich bin verwirrt über die Verknüpfung Teil. Ich heruntergeladen masm und versuchen, herauszufinden, wie es zu verknüpfen

1voto

dante Punkte 129

WENN Sie masm verwenden, dann ist ein 16-Bit-Linker verfügbar ... http://blogs.pcworld.com/communityvoices/archives/2007/10/using_masm32_wi.html - sollte Ihnen helfen.

0 Stimmen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X