Anfänger sucht MASM
-
Problem hat sich erledigt! Kann gelöscht werden.
Kann sein, dass jemand ein ähnliches Problem hat. Ich durchsuche grade das Forum. Bitte nicht meckern!
Ich habe mir in der Bücherei ein Buch geliehen, dass einem Anfänger Assembler beibringt. "Assembler" von Reiner Backer.
Er verwendet im "Hello World"-Beispiel den Assembler MASM. Laut dem Buch kann man den auf http://msdn.microsoft.com/ oder http://www.movsd.com/masm.htm downloaden, das scheint aber veraltet.
Ich hab bei Google "MASM -32 Download" eingegeben. Auf der ersten Seite war nichts. Ich hab mir gedacht, dass vieleicht jemand von euch MASM hat und mir sagen kann, wo er es her hat. Kann man den gleichen Code auch mit MASM32 (oder so) kompilieren? Ich hatte sowas mal probiert, hat aber nicht geklappt.
Das Beispielprogramm war folgendes:DATEN SEGMENT Meldung db "Assembler ist gar nicht so schwer." db "$" DATEN ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATEN Anfang: mov ax,DATEN mov ds,ax mov dx,offset Meldung mov ah,9 int 21h mov ah,4Ch int 21h CODE ENDS END Anfang
Ist da ein Fehler drin, oder war der Assembler falsch?
Was ich noch gefunden hatte war MASMSetup.exe (http://www.microsoft.com/downloads/details.aspx?FamilyId=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en). Da braucht man MS visual C++ EE für, sonst klappts nicht (ich hab Dev-C++). Soll ich mir die Probierversion von Visual C++ Downloaden und danach wieder löschen?Außerdem brauche ich noch LINK (auch von MS). Danach hab ich noch gar nicht gesucht.
Kann mir irgendjemand irgendwie weiterhelfen?
-
Ich habe den TASM gefunden. Davon ist in dem Buch auch die Rede. Ich hab probiert das damit zu machen.
Folgendes ergebnis:CMD schrieb:
H:\TASM\BIN>TASM H:\FELIX\AssemblerZeug\PROJEKTE\test1\asm1
Befehl oder Dateiname nicht gefunden
Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland InternationalAssembling file: H:\FELIX\AssemblerZeug\PROJEKTE\test1\asm1.ASM to asm1.OBJ
**Fatal** Command line: Can't locate file: H:\FELIX\AssemblerZeug\PROJEKTE\test1
\asm1.ASM
Error messages: 1
Warning messages: None
Passes: 1
Remaining memory: 448kDie Datei ist wirklich da!
Aber irgendwie kommt mir der lange Pfad unprofessionell vor...
Oder vieleicht benutze ich den CMD falsch?
Liegt der Fehler daran?
-
Ich glaube das erledigt sich langsam von selbst.
.obj File geht jetzt.
Aber:
H:\TASM\BIN>TLINK asm1.obj Turbo Link Version 7.1.30.1. Copyright (c) 1987, 1996 Borland International Warning: No stack H:\TASM\BIN>ASM1.exe h►º ï☺p ▬ ë♥ï☺p ï☺p ╣♠↨☻@↨☻ ♥↨☻F↨☻ý♠_♣: ë♥T ë♥n ë♥ê ë♥ó ë♥ ♥↨↨☻ñ ↨☻¬ ↨ ☻µ☻─ ↨☻ï♣↨☻♫♀↨☻¶♀↨☻▼♀↨☻¡♠↨☻¡♠↨☻ñ 7♣↨☻‗╚ └r►º ☺♣‗┌Ì♦♦♦å►º É►º Ü►º ©►º T☻p ‗♦éЩ►º ©►º ©►º @♦►♫_♣Û«►º ¯ ©►º ─#☻╬©►º ©►º ©►º ©►º ©►º ©►º ©►º ©►º ©►º ©►º ©► º ©►º è♦↨☻ ♥↨☻v ↨☻‗╠ └¾¯ ¾¯ ►4æý¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ♦éо¯ ¾¯ ¾¯ L♠↨☻¾¯ ¾¯ ¾¯ ¾¯ ¾¯ ┤☼ └¾¯ ¾¯ 5 ë♥6%☻╬╝ ë♥╔ É█ ë♥ã♀↨☻ ☺ë♥ H:\TASM\BIN>
(+ Piepsen)
Das war nicht, was ich wollte... (Ich probiers nochmal mit einem anderen Editor)
(Oder mit dem Verbesserungsvorschleg aus dem andern Thread)
Wenn ihr schlechte Laune habt und glaubt ich bewältige das Problem schon alleine, könnt ihr meinen Thread auch löschen.
Gute Nacht!
-
Such dir einen aus...
http://www.c-plusplus.net/forum/viewtopic-var-t-is-93353-and-highlight-is-link16.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-108963-and-highlight-is-link16.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-115366-and-highlight-is-link16.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-83982-and-highlight-is-link16.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-66065-and-highlight-is-link16.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-45732-and-highlight-is-link16.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-44302-and-highlight-is-link16.html
http://www.c-plusplus.net/forum/viewtopic-var-t-is-38995-and-highlight-is-link16.html
-
[edit: hab quatsch geschrieben]
Ich bekomme mit dem andern Linker ein .com Programm. Wie starte ich das?
-
na wie eine exe halt
aber starte es lieber aus der shell sonst isses gleich wieder wech
-
asm1.asm schrieb:
DATEN SEGMENT
Meldung db "Assembler ist gar nicht so schwer."
db "$"DATEN ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATEN
_Anfang: mov ax, offset DATEN
mov ds,axmov dx,offset Meldung
mov ah,9
int 21hmov ah,4Ch
int 21hCODE ENDS
END _Anfang
cmd schrieb:
H:\>cd TASM\BIN
H:\TASM\BIN>TASM asm1.asm
Befehl oder Dateiname nicht gefunden
Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland InternationalAssembling file: asm1.asm
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 447kH:\TASM\BIN>Linker\LINK /TINY asm1.obj;
Microsoft (R) Segmented Executable Linker Version 5.60.339 Dec 5 1994
Copyright (C) Microsoft Corp 1984-1993. All rights reserved.LINK : warning L4045: name of output file is 'asm1.com'
H:\TASM\BIN>asm1.com
H:\TASM\BIN>
Es passiert nichts. Tut mir Leid, falls die Antwort offensichtlich ist, aber für mich nicht. Brauche ich das "TINY"?
-
Ich habs mit einem andern Code aus einem von den Tutorials Probiert. Klappt jetzt. Hatte vieleicht was mit dem Stapelsegment zu tun(?).