Problem z kompilacją

0

W czasie kompilacji modułu do grafiki pojawia mi się błąd przy procedurze putpixel :

void putpixel(int x,int y, signed char c)
{
  asm {
    cmp x, 0
    jl @end
    cmp y, 0
    jl @end
    cmp x, 319
    jg @end
    cmp y, 199
    jg @end
    mov ax, y
    mov di, ax
    shl ax, 8
    shl di, 6
    add di, ax
    add di, x
    les ax, bufor
    mov al, c
    mov byte ptr es:[di], al
    @end:
  }
}

%

% - miejsce pojawienia się błędu
a błąd jest taki : "Error: Undefined label '@End'"
bufor - jest wskaźnikiem do ekranu.

Chciałem zaznaczyć, że wcześniej gdy kompilowałem to pod pascalem wszystko pięknie się skompilowało. Teraz Używam Borland C++ 3.1;

0

proszę wybaczyć nieprecyzyjną odpowiedź ale tylko tyle mogę w tej chwili pomóc ....
myślę że należy zwrócić uwagę na dyrektywę "org" ... coś mi świta że w tym leży problem .. (tzn należałoby chyba dodać "org 0")
jeszcze jedno pytanko ... w jakim modelu pamięci napisany jest kod w C ?

a ! jeszcze jedno !
czy przypadkiem za jl (instrukcja skoku warunkowego jak mniemam ..dokładnie nie pamiętem) nie powinno być samo end ..bez @
czyli ...
"jl end"

1 użytkowników online, w tym zalogowanych: 0, gości: 1