Turbo Assembler
Turbo Assembler
Hallo zusammen.
Das Internet ist sehr verschwiegen was Themen angeht, die seit 1998 nicht mehr Relevant sind. daher muss ich hier wohl wieder mal ein Thema starten.
Benutzt hier jemand den BORLAND TASM?
Wenn ja: JMP L1
JMP L2
L1:
Wie kann ich da Libraries erstellen? Ich habe ne Datei mit Prozeduren drin und will die gerne zu einer library zusammenfügen. Wie geht das. 2. Wie kann ich die dann linken?
JMP L3
L2:
Welchen Assembler benutzt du und ist er angenehm zu handhaben?
L3:
mfG
Das Internet ist sehr verschwiegen was Themen angeht, die seit 1998 nicht mehr Relevant sind. daher muss ich hier wohl wieder mal ein Thema starten.
Benutzt hier jemand den BORLAND TASM?
Wenn ja: JMP L1
JMP L2
L1:
Wie kann ich da Libraries erstellen? Ich habe ne Datei mit Prozeduren drin und will die gerne zu einer library zusammenfügen. Wie geht das. 2. Wie kann ich die dann linken?
JMP L3
L2:
Welchen Assembler benutzt du und ist er angenehm zu handhaben?
L3:
mfG
Re: Turbo Assembler
L2: Ich benutze MASM 5 und MASM 6 und die Handhabung ist vergleichbar mit TASM und NASM. Libraries habe ich jedoch noch nie benutzt.oDOSseus hat geschrieben:Hallo zusammen.
Das Internet ist sehr verschwiegen was Themen angeht, die seit 1998 nicht mehr Relevant sind. daher muss ich hier wohl wieder mal ein Thema starten.
Benutzt hier jemand den BORLAND TASM?
Wenn ja: JMP L1
JMP L2
L1:
Wie kann ich da Libraries erstellen? Ich habe ne Datei mit Prozeduren drin und will die gerne zu einer library zusammenfügen. Wie geht das. 2. Wie kann ich die dann linken?
JMP L3
L2:
Welchen Assembler benutzt du und ist er angenehm zu handhaben?
L3:
mfG
Ich habe hier TASM 5 und dort gibt es einen Ordner mit dem Namen "EXAMPLES". Dort findet man einen weiteren Ordner mit dem Namen "ALIASDOS".
Dort ist neben einer "LIBRARY.C" auch eine "README.TXT" und eine "MAKEFILE" enthalten wo es erklärt wird wie man Libraries einbindet.
Dirk
jmp L3
Re: Turbo Assembler
Lustiger weise entdecke ich jetzt Erst die EXE TLIB
damit kann ich Libraries erstellen
Aber irgendwie klappt dann das INT 15h nicht mehr. Seltsam. INT 21h klappt noch
Ma debuggen
damit kann ich Libraries erstellen
Aber irgendwie klappt dann das INT 15h nicht mehr. Seltsam. INT 21h klappt noch
Ma debuggen
Re: Turbo Assembler
Ach jetzt wo du es erwähnst finde ich die nun auch.oDOSseus hat geschrieben:Lustiger weise entdecke ich jetzt Erst die EXE TLIB
Vieleicht hilft dir die "TLIB.TXT" im Ordner "DOC" weiter. Für mich sind das alles dort noch böhmische Dörfer.damit kann ich Libraries erstellen
Aber irgendwie klappt dann das INT 15h nicht mehr. Seltsam. INT 21h klappt noch
Wenn du mal so ein kleines Beispiel posten könntest, dann verstehe ich es möglicherweise wie man es macht.
Wie gross ist denn die exe geworden?Ma debuggen
Dirk
Re: Turbo Assembler
Meine EXE ist 854 bytes groß.
MODEL ist TINY
Meine APM.LIB is exakt 1.024 bytes groß.
Sollte es da vllt. probleme geben?
EDIT1
Mein MODEL ist jetzt SMALL und der Stack ist 256 groß.
Jetzt klappts. Weiß wer warum?
EDIT2
Wenn ich MODEL SMALL und STACK 64 mache, dann klappts wieder nicht.
Ergo: Der Stack ist mit 64 so klein, dass es einen overflow gibt (oder? nen anderen grund kanns doch eig. nich geben)
MODEL ist TINY
Meine APM.LIB is exakt 1.024 bytes groß.
Sollte es da vllt. probleme geben?
EDIT1
Mein MODEL ist jetzt SMALL und der Stack ist 256 groß.
Jetzt klappts. Weiß wer warum?
EDIT2
Wenn ich MODEL SMALL und STACK 64 mache, dann klappts wieder nicht.
Ergo: Der Stack ist mit 64 so klein, dass es einen overflow gibt (oder? nen anderen grund kanns doch eig. nich geben)
Zuletzt geändert von oDOSseus am Mo 20. Sep 2010, 21:30, insgesamt 1-mal geändert.
Re: Turbo Assembler
Oh, das ist schön klein.oDOSseus hat geschrieben:Meine EXE ist 854 bytes groß.
MODEL ist TINY
Nö, warum denkst du das?Meine APM.LIB is exakt 1.024 bytes groß.
Sollte es da vllt. probleme geben?
Dirk
Re: Turbo Assembler
Wir haben beide gleichzeitig getippt xD
siehe oben
siehe oben
Re: Turbo Assembler
Das würde ich auch vermuten. Allerdings weiss ich ja nicht wie der Stack in der Anwendung benutzt wird.oDOSseus hat geschrieben:Wenn ich MODEL SMALL und STACK 64 mache, dann klappts wieder nicht.
Ergo: Der Stack ist mit 64 so klein, dass es einen overflow gibt (oder? nen anderen grund kanns doch eig. nich geben)
Für meine reinen Assembler-Anwendungen verwende ich meist nur 16 Byte oder 32 Byte für den Stack. Das genügte bei mir bisher immer. Push/Pop-Befehle benutze ich äusserst selten,
anstelle dessen verwende ich lieber den Datenbereich um Werte zwischen zu speichern und so tief verschachtelte Unterprogrammaufrufe kommen auch eher selten vor.
Wenn man jedoch in der config.sys den Wert dort auf "stacks=0,0" setzt, dann braucht jede Anwendung einen grösseren Stack wenn sie DOS-IRQs benutzt, da DOS dafür dann selber keinen
eigenen Stack dafür mehr bereitstellt und alle Anwendungen nun einen ausreichend grossen Stack selber dafür bereitstellen müssen. Frag mich aber nicht wie gross der dann sein muss.
Ich habe in meiner config.sys "stacks=8,512" eingetragen.
Dirk
Re: Turbo Assembler
Okay.
Dann finde ich mich damit ab, dass INT 15 einen SSEEEHR großen Stack braucht oder aber, dass das aufrufen einer unterprozedur den Stack sehr stark belastet.
Ist ja auch egal, jetzt Funktioniert die Libraray, die übrigens nur zwei prozeduren enthält:
Shutdown
Reboot
xD. Mit ASM zu rebooten kennen wahrscheinlich die meisten und der shutdown befehl ist im thread shutdown.com erläutert.
Dann finde ich mich damit ab, dass INT 15 einen SSEEEHR großen Stack braucht oder aber, dass das aufrufen einer unterprozedur den Stack sehr stark belastet.
Ist ja auch egal, jetzt Funktioniert die Libraray, die übrigens nur zwei prozeduren enthält:
Shutdown
Reboot
xD. Mit ASM zu rebooten kennen wahrscheinlich die meisten und der shutdown befehl ist im thread shutdown.com erläutert.