PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Assembler / WinAsm Studio will nicht


mofa84
2005-06-27, 15:53:34
Wo ist da der Fehler? Ich erstelle ein neues Projekt, dann hab ich automatisch diesen Code:
; A 16-bit DOS HelloWorld program originally by RedOx. Produces a small model .EXE executable.

; To assemble and link from within WinAsm Studio, you must have a special 16-bit linker,
; such as the one in the archive at this URL- http://win32assembly.online.fr/files/Lnk563.exe
; Run the archive to unpack Link.exe, rename the Link.exe file to Link16.exe and copy it
; into the \masm32\bin folder.

.MODEL small
.stack 100h

.data
msg db "This is a 16-bit DOS .EXE executable",13,10,"Hello, World!",13,10,"$"; The string must end with a $

.code
start:
mov ax,@data ; Get the address of the data segment
mov ds,ax ; Set the DS segment

mov dx,offset msg ; Get the address of our message in the DX
mov ah,9 ; Function 09h in AH means "WRITE STRING TO STANDARD OUTPUT"
int 21h ; Call the DOS interrupt (DOS function call)

mov ax,0C07h ; Function 0Ch = "FLUSH BUFFER AND READ STANDARD INPUT"
int 21h ; Waits for a key to be pressed.

mov ax, 4C00h ; the exit fuction [4C+no error (00)]
int 21h ; call DOS interrupt 21h
end start
Wenn ich dann "Go All" mache, also compilieren und linken will bekomm ich diese Fehlermeldung (Pfade müssten stimmen):
F:\Assembler\WASM\masm32\bin\ML /c /I"F:\Assembler\WASM\masm32\Include" "F:\Assembler\32\DosExe.asm"

Make error: Cannot create process.

Make finished. 1 error(s) occured.Das was oben steht mit dem 16-Bit-Linker hab ich auch schon versucht. Kann das an XP liegen? Ich hab so das Gefühl dass wenn ich eine bereits fertige DOS-EXE laufen lasse das Ganze verdammt langsam ist (NTVDM).

zeckensack
2005-06-27, 16:04:17
RTFM (http://www.winasm.net/index.php?pid=2)!
Since the WinAsm Studio download does not include Microsoft Macro Assembler (MASM), you will need to obtain the MASM package via other means.Das ist nur eine Entwicklungsumgebung. Es ist kein Assembler enthalten.

Bzw ...You must install Masm32 at the root of one of your partitions (i.e. C:\Masm32, D:\Masm32, etc.).

mofa84
2005-06-27, 17:16:23
den Masm hab ich ja. Und auch wenn ich ihn ins Root tue kommt die gleiche Fehlermeldung.

Diese Zeile macht mich irgendwie stutzig: "Make error: Cannot create process."

Gast
2005-06-27, 17:24:33
RTFM (http://www.winasm.net/index.php?pid=2)!
Das ist nur eine Entwicklungsumgebung. Es ist kein Assembler enthalten.

Bzw ...

schon blöd, wenn man erstmal rtfm schreibt, aber nicht genau weiss ob der andere dies bereits getan hat. grober fehler der pseudo-gurus.

mofa84
2005-06-27, 17:30:51
jetzt geht's, lag an der Link16.exe.

Coda
2005-06-27, 20:00:58
Ein gut gemeinter Rat: Halte dich soweit wie möglich von 16bit x86 Programmierung fern - Die Hölle ist schöner.

32bit ist schon viel angenehmer, auch wenn x86 generell ziemlich viele Ecken und Kanten hat. Hat ja auch schon paar Jährchen aufm Buckel ;)

zeckensack
2005-06-27, 20:21:52
schon blöd, wenn man erstmal rtfm schreibt, aber nicht genau weiss ob der andere dies bereits getan hat. grober fehler der pseudo-gurus.Die Fehlermeldung passte sowohl zum ersten Punkt den ich aus dem Quickstart zitiert habe, als auch zum zweiten. Also von daher ...

mofa84
2005-06-27, 23:01:00
Ein gut gemeinter Rat: Halte dich soweit wie möglich von 16bit x86 Programmierung fern - Die Hölle ist schöner.

32bit ist schon viel angenehmer, auch wenn x86 generell ziemlich viele Ecken und Kanten hat. Hat ja auch schon paar Jährchen aufm Buckel ;)ich mach das auch nicht aus Spaß an der Freude sondern für die FH - wir müssen da auch keine sonderlich anspruchsvollen Aufgaben lösen, da wären die 32Bit-Grundkenntnisse wahrscheinlich schon mehr als wir jetzt insgesammt können müssen.