NASM - The Netwide Assembler
NASM Forum => Using NASM => Topic started by: nobody on August 26, 2008, 08:32:24 AM
-
Hi,below is part of my program.
It did work yesterday, but it can't be compiled sucessfully today.
THe error message is:
1501.asm:32: error: unrecognised special symbol `..start'
What's wrong? I spend lots of time, but still can't figure it out.
Compiler:nasm-0.98.39-win32
IDE:NASMIDE 1.8
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SEGMENT code
%include "dispstr.mac"
%include "dispb.mac"
%include "newline.mac"
..start:
mov AX,data
mov DS,AX
mov AX,mystack
mov SS,AX
mov SP,stacktop
..............
..............
..............
end:
mov AX,4c00H
int 21H
SEGMENT data
status DW 0
RS DB 0
PP DB 0
..............
..............
..............
SEGMENT mystack stack
RESB 64
stacktop:
-
Sorry, Nasm only works on odd-numbered days.
Seriously... Same Nasm? Same code? How about the command line to Nasm? Nasm recognises the "special symbol ..start" in "-f obj" output format - any other output format would produce that message.
You mention NasmIde (Valuable antique! Does that still work? Did yesterday, I take it...). IIRC, the output format is set in a "check box" in NasmIde. Make sure that's still set for "-f obj".
That's the only thing I can think of that would account for your problem. If you're telling Nasm "-f obj" and still seeing that error... get back to us!
Best,
Frank
-
Oops!!Even the 'hello world' can't be compiled again!!
I downloaded the nasm-2.03.01.zip & nasm-2.03.01-win32.zip this morning, and compile the hello.asm in DOS prompt directly.
D:\NASM\asm\Arthur>nasm hello.asm -l hello.lst
hello.asm:3: error: unrecognised special symbol `..start'
hello.asm:22: warning: label alone on a line without a colon might be in error
D:\NASM\asm\Arthur>nasm -fobj hello.asm
hello.asm:22: warning: label alone on a line without a colon might be in error
Shows the error message.Strange....
System problem?
;;;;;;;;;;;;;;;;;;hello.asm;;;;;;;;;;;
SEGMENT code
..start:
mov AX,data
mov DS,AX
mov AX,mystack
mov SS,AX
mov SP,stacktop
mov DX,msg
mov AH,09H
int 21H
mov AX,4c00H
int 21H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SEGMENT data
msg DB 'Hello World!!','$'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SEGMENT mystack stack
RESB64
stacktop:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
Command line problem.
nasm -f obj blablabla
!!!
The special symbol "..start" is recognised only in "-f obj" output format.
The other error (only a warning... but pay attention, it's an error!) is because you need a space between "resb" and "64".
Best,
Frank