Pokaż wyniki 1 do 5 z 5

Temat: EXTERN - syntax error

  1. #1
    Zarejestrowany
    Feb 2009
    Postów
    5

    Domyślnie EXTERN - syntax error

    mam oto taki program:
    Kod:
    ;program co używa biblioteki od napisów
    ;===================================
    ;początek segmentu stosu:
    ;===================================
    MyStack SEGMENT STACK ; STACK ładuje SS
    	DB 64 DUP ('STACK!!!') ; DUP wypełnia pamięć 64 bajtami pisząc w kółko 'STACK!!!'
    MyStack ENDS ; a to kończy segment stosu
    ;===================================
    ;koniec segmentu stosu
    ;początek segmentu danych:
    ;===================================
    MyData	SEGMENT PUBLIC ; tworzy segment
    				PUBLIC LRXY,CRLF
    ; 18H=24D; 4FH=79D; współrzędne xy prawego dolnego rogu ekranu 80x25
    LRXY DW 184FH
    TextPos DW ?
    Nap1	DB "jakis tam napis",'$' ; tworzy łańcuch
    Nap2	DB "jeszcze jeden napis",'$' ; tworzy łańcuch
    CRLF	DB 0DH,0AH,'$' ; liczby w kodzie 16kowym
    MyData	ENDS ; no i koniec
    ;===================================
    ;koniec segmentu danych
    ;początek segmentu kodu
    ;===================================
    				EXTERN GotoXY:PROC,Write:PROC,Writeln:PROC,ClrScr:PROC
    
    MyCode	SEGMENT PUBLIC ; kolejny segment
    	assume CS:MyCode,DS:MyData ; Informuje asembler który segment to który ale w programie nic to nie zmienia
    Main	PROC ; tworzy procedurę o nazwie Main
    Start:			; tu się zaczyna program
    	mov AX,MyData	; Zapamiętuje, który to segment danych
    	mov DS,AX	; ale musi to zrobićdwoma instrukcjami
    	
    	call ClrScr ; oczyszczanie całęgo ekranu
    	mov TextPos,0914H ; Y=9 X=20
    	
    	mov DX,TextPos ; przekazanie pozycji kursora
    	call GotoXY ; przesuwanie kursora
    	lea DX,Nap1	; załadowuje przesunięcie Nap1 do DX
    	call Writeln ; wyświetl ciąg znaków
    	
    	mov DX,TextPos ; odtworzenie pozycji
    	mov DH,10 ; zmiana Y
    	call GotoXY ; przesuwanie kursora
    	lea DX,Nap2	; załadowuje przesunięcie Nap2 do DX
    	call Writeln ; wyświetl ciąg znaków
    	
    	mov AH,4CH	; wybór procedury DOS kończącej program
    	mov AL,0	; przekazanie 0 do ERRORLEVEL
    	int 21H		; przekazanie sterowania DOSowi
    
    Main	ENDP ; kończy procedurę
    
    MyCode ENDS ; kończy segment
    ;===================================
    ;koniec segmentu kodu
    ;===================================
    
    END Start
    i mam jeszcze do niego bibliotekę z procedurami GotoXY, Write, Writeln i ClrScr. Używam asemblera MASM 4.0 i jak chcę to zasemblować to mi wywala syntax error nie wiem czemu:
    Kod:
    Copyright (C) Microsoft Corp 1981, 1983, 1984, 1985.  All rights reserved.
    
    program4.ASM(25) : error 10: Syntax error
    program4.ASM(34) : error 9: Symbol not defined CLRSCR
    program4.ASM(38) : error 9: Symbol not defined GOTOXY
    program4.ASM(40) : error 9: Symbol not defined WRITELN
    program4.ASM(44) : error 9: Symbol not defined GOTOXY
    program4.ASM(46) : error 9: Symbol not defined WRITELN
    
      51034 Bytes symbol space free
    
          0 Warning Errors
          6 Severe  Errors
    
    C:\ASM>
    Proszę o pomoc jak ktoś wie czemu tak może być.

  2. #2
    Zarejestrowany
    Jan 2009
    Postów
    216

    Domyślnie

    jak sie uczysz to polecam FASM
    jak juz cos umiesz to rowniez polecam FASM

  3. #3
    Zarejestrowany
    Feb 2009
    Postów
    5

    Domyślnie

    Chyba jednak na razie zostanę przy MASM bo książka z której się uczę ma przykłady na ten właśnie asembler. Pobrałem FASM i już przy pierwszej instrukcji wyświetla mi błąd.
    Kod:
    C:\PROGRA~1\FASMNA~1>fasm program4.asm
    flat assembler  version 1.67.34  (15360 kilobytes memory)
    program4.asm [5]:
    MyStack SEGMENT STACK ; STACK │aduje SS
    error: illegal instruction.
    
    C:\PROGRA~1\FASMNA~1>

  4. #4
    Zarejestrowany
    Jan 2009
    Postów
    216

    Domyślnie

    bo fasm ma zupelnie inna, o niebo lepsza skladnie.
    nie musisz sie babrac z niepotrzebnymi rzeczami.

  5. #5
    Zarejestrowany
    Feb 2009
    Postów
    5

    Domyślnie

    Udało się jakoś TASMem i LINKiem. Jak skończę książkę to może zdecyduję się na FASMa. dzięki za radę.

Podobne wątki

  1. Wesole "500 Error" by Google
    By TQM in forum Java Script/Flash/Inne
    Odpowiedzi: 4
    Autor: 10-02-2008, 08:24
  2. Serwer GG - Połączenie = ERROR
    By ShutDown in forum Domeny/Serwery
    Odpowiedzi: 1
    Autor: 03-24-2008, 20:01
  3. Error cleaner, privacy protector spyware & malware protection
    By deny1725 in forum Wirusy/Konie trojańskie
    Odpowiedzi: 7
    Autor: 11-25-2007, 18:30
  4. error gdzie jest
    By ble34 in forum Hacking
    Odpowiedzi: 11
    Autor: 06-15-2007, 23:46

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52