Avatar billede krestionsen Nybegynder
08. marts 2003 - 10:32 Der er 11 kommentarer og
1 løsning

Assembly fejl

Når jeg compiler mit assembly program i masm32 v7, så får jeg disse fejl i alle mine program.

linje 88: error A2006: undefined symbol : Start
linje 56: errot A2004: symbol type conflict
linje 88: error A2148: invalid symbol type in expression : Start

Jeg har ikke vedlagt hele koden da den er temmelig lang.
og de linjer som den fortæller der er fejl i er:*1 = linje 56, *2 = linje 88

Start: ;This is where program execution begins:
*1mov  AX,MyData ; Set up our own data segment
mov  DS,AX  ; Can't load segment reg.directly

*2END Start    ; The procedure named
Avatar billede soreno Praktikant
08. marts 2003 - 10:44 #1
Har du også problemer med et minimalt eksempel - det var jo rart at vide om det er et opsætningsproblem.. :-)

F.eks. (Example1 -> minimum):

      .386
      .model flat, stdcall
      option casemap :none  ; case sensitive

; #########################################################################

      include \masm32\include\windows.inc
      include \masm32\include\user32.inc
      include \masm32\include\kernel32.inc

      includelib \masm32\lib\user32.lib
      includelib \masm32\lib\kernel32.lib

; #########################################################################

    .code

start:

    jmp @F
      szDlgTitle    db "Minimum MASM",0
      szMsg        db "  --- Assembler Pure and Simple ---  ",0
    @@:

    push MB_OK
    push offset szDlgTitle
    push offset szMsg
    push 0
    call MessageBox

    push 0
    call ExitProcess

    ; --------------------------------------------------------
    ; The following are the same function calls using MASM
    ; "invoke" syntax. It is clearer code, it is type checked
    ; against a function prototype and it is less error prone.
    ; --------------------------------------------------------

    ; invoke MessageBox,0,ADDR szMsg,ADDR szDlgTitle,MB_OK
    ; invoke ExitProcess,0

end start
Avatar billede krestionsen Nybegynder
08. marts 2003 - 10:50 #2
Det virker fint nok dit eksempel, der kommer ingen fejl.
Avatar billede krestionsen Nybegynder
08. marts 2003 - 10:50 #3
Hvis du vil se hele programmet kan jeg godt sætte det ind?
Avatar billede soreno Praktikant
08. marts 2003 - 10:51 #4
Ja, prøv bare at poste det.
Avatar billede krestionsen Nybegynder
08. marts 2003 - 10:59 #5
MyStack    SEGMENT STACK        ;

DB      64 DUP ('STACK!!!') ;
MyStack    ENDS
MyData    SEGMENT

Eat1      DB      "Eat at Joe's...",'$'
CRLF      DB      0DH,0AH,'$'

MyData    ENDS
MyProg    SEGMENT

          assume CS:MyProg,DS:MyData
Main      PROC

Start:    ;
          mov  AX,MyData  ;
          mov  DS,AX      ;

          lea  DX,Eat1    ;   
          int  21H        ;
          lea  DX,CRLF    ;           
          int  21H        ;

          mov  AH,4CH      ;                     
Main      ENDP

MyProg    ENDS

END Start
Avatar billede krestionsen Nybegynder
08. marts 2003 - 11:01 #6
Det er et lille eksempel, men det kommer med samme fejl.
Avatar billede soreno Praktikant
08. marts 2003 - 11:07 #7
Det eksempel er et typisk DOS program og kan ikke umiddelbart køres under Windows. Masm er en Windows assembler (så vidt jeg er orienteret..).

Hvis det er DOS programmer du skal lave så vil jeg anbefale du får fat i tasm istedet (eller masm til DOS).

Kig evt. lidt her:
http://www.cs.uregina.ca/links/class-info/250/fall2002/lab1/

Ellers så prøv at forklare hvad det er du vil lave :-)
Avatar billede krestionsen Nybegynder
08. marts 2003 - 11:26 #8
har du et link til hvor jeg kan downloade det til dos?
Avatar billede soreno Praktikant
08. marts 2003 - 11:34 #9
Både masm til DOS samt tasm er købe produkter. Det er muligt de kan findes til download men det vil ikke være lovligt.

Jeg har ikke erfaring med freeware DOS assemblers. Men måske du kan finde noget spændende ved at søge på "DOS assembler download"
Avatar billede krestionsen Nybegynder
21. april 2003 - 16:30 #10
soreno kan du ikke give et svar, så jeg kan give dig nogle point????
Avatar billede krestionsen Nybegynder
21. april 2003 - 16:32 #11
ja, og tak for hjælpen, selv om det er et stykke tid siden
Avatar billede soreno Praktikant
21. april 2003 - 18:31 #12
Ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester