🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Strange Assembly Error

Started by
0 comments, last by yaboiryan 4 years, 8 months ago

I am trying to make a map editor with Assembly and C...

 

Everything used to work, but now, I get these errors:

 


cd C:\Editor
wmake -f C:\Editor\Editor.mk -h -e C:\Editor\Editor.exe
wasm SOURCE\MEASM.ASM -i="C:\WATCOM/h" -mf -6r -d1 -w4 -e25 -zq
SOURCE\MEASM.ASM(2): Error! E032: Syntax error
SOURCE\MEASM.ASM(3): Error! E032: Syntax error
SOURCE\prologue.mac(1): Error! E032: Syntax error
SOURCE\prologue.mac(1): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(4): Error! E535: Procedure must have a name
SOURCE\prologue.mac(4): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(6): Error! E523: Segment name is missing
SOURCE\prologue.mac(6): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(11): Error! E535: Procedure must have a name
SOURCE\prologue.mac(11): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(14): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(14): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(15): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(15): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(19): Error! E506: Block nesting error
SOURCE\prologue.mac(19): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(22): Error! E535: Procedure must have a name
SOURCE\prologue.mac(22): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(24): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(24): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(25): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(25): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(28): Error! E535: Procedure must have a name
SOURCE\prologue.mac(28): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(30): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(30): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(31): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(31): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(32): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(32): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(33): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(33): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(34): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(34): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(37): Error! E535: Procedure must have a name
SOURCE\prologue.mac(37): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(39): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(39): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(40): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(40): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(41): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(41): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\prologue.mac(42): Error! E525: Data emitted with no segment
SOURCE\prologue.mac(42): Note! N591: included by file SOURCE\MEASM.ASM(4)
SOURCE\MEASM.ASM(5): Error! E032: Syntax error
SOURCE\MEASM.ASM(6): Error! E032: Syntax error
SOURCE\MEASM.ASM(9):  
Error(E42): Last command making (C:\Editor\MEASM.obj) returned a bad status
Error(E02): Make execution terminated
Execution complete

 

 

I haven't used assembly for a while, and I don't really remember how to fix these errors.

Here is the main assembly file:

 


        IDEAL
        JUMPS
        include "prologue.mac"
        P386            ; 386 specific opcodes and allows all the necessary crap...
        P387            ; Allow 386 processor


        MASM
        .MODEL FLAT     ;32-bit OS/2 model
        .CODE
        IDEAL

        PUBLIC          SetPalette2_
        PUBLIC          SetVGAmode_
        PUBLIC          SetTextMode_
        PUBLIC          inkey_
        PUBLIC          PutHex_

;==============================================================================
; void SetPalette2(unsigned char *PalBuf,short count);
;==============================================================================

Proc    SetPalette2_ near
        push    esi

        mov     esi,eax
        mov     cx,dx
        mov     bx,0
        cld
        mov     dx,3C8H
sp210:
        mov     al,bl
        out     dx,al
        inc     dx
        lodsb
        out     dx,al
        lodsb
        out     dx,al
        lodsb
        out     dx,al
        dec     dx
        inc     bx
        loop    sp210

        pop     esi
        ret
        endp


;==============================================================================
; void SetVGAmode(void);
;==============================================================================
Proc    SetVGAmode_  near
        push    ebp
        mov     ax,13h
        int     10h             ; Set 320x200x256
        pop     ebp
        ret
        endp

;==============================================================================
;
;==============================================================================
Proc    SetTextMode_ near
        push    ebp
        mov     ax,3
        int     10h
        pop     ebp
        ret
        endp

;==============================================================================
;
;==============================================================================
Proc  inkey_ near
        xor     eax,eax
        mov     ah,1            ;see if key available
        int     16h
        jz      ink080          ;nope
        xor     ax,ax
        int     16h
        jmp     short ink090

ink080:
        xor     ax,ax
ink090:
        ret
        endp

;==============================================================================
;
;==============================================================================
Proc    HexOut_ near
        and     al,15
        cmp     al,10
        jb      short hex010
        add     al,7

hex010:
        add     al,'0'
        stosb
        ret
        endp

;==============================================================================
; void PutHex(char *buf,UINT mCode);
;==============================================================================
Proc    PutHex_ near
        push    edi
        mov     edi,eax
        mov     eax,edx
        shr     al,4
        call    HexOut_
        mov     eax,edx
        call    HexOut_
        xor     al,al
        stosb
        pop     edi
        ret
        endp
        end

 

This file includes another file that I found on the Internet a while ago called "Prologue.MAC"

 

Here is the code for it:

 


P386


Macro	 SETUPSEGMENT

SEGMENT _TEXT	PARA PUBLIC 'CODE'
	ASSUME	CS:_TEXT

	Endm

macro   PENTER  STORAGE
;; 17 - Enter a procedue with storage space
;; Procedure enter, uses the 286/386 ENTER opcode
	push	ebp
	mov	ebp,esp
        IF      STORAGE
	sub	esp,STORAGE
        ENDIF
ENDIF
        endm

macro   PLEAVE
;; 18 - Exit a procedure with stack correction.
	mov	esp,ebp
	pop	ebp
        endm

macro   PushCREGS
;; 19 - Save registers for C
        push    es
	push	ds   ;The Kernel is responsible for maintaining DS
	push	esi
	push	edi
        cld
        endm

macro   PopCREGS
;; 20 - Restore registers for C
	pop	edi
	pop	esi
	pop	ds ;The Kernel is responsible for maintaining DS
        pop     es
        endm

 

 

Can I have an Idea of what I could do to fix these errors?

 

 

I am using OpenWatcom compiler. I *have* gotten Watcom to work before. In fact, this is one of the first few times it has not worked with me... 

 

 

Thanks in advance!

 

 

-yaboiryan

This topic is closed to new replies.

Advertisement