co powoduje błąd w kompilacji?

0

zrobiłem sobie taki mały programik dla treningu:

.model small
.code
start:
      mov     dl,     65
      mov     ah,     2
      int     33         ; 21h
      mov     ah,     9
      int     22         ; 16h
      xor     ah,     ah
      int     33         ; 21h
end start

i gdy go chcę zlinkować, to pojawia się błąd no stack( czy coś takiego). Co powoduje ten typ błędu?

0

Domyślam się że chcesz wygenerować plik typu EXE, i kompilator czepia się że nie ma stosu :)

.model small
.stack 200h
.code
start:
mov dl, ;">65

mov ah, ;">2

int ;">33 ; 21h

mov ah, ;">9

int ;">22 ; 16h

xor ah, ah
int ;">33 ; 21h
end start

Tylko trochę zmodyfikowałem początek. Myślę że nie trzeba komentować?? </asm>

0

więc się ciebie tylko zapytam czy mam rację mniemając, że

.stack liczba

to przydział pamięci na stos? Jeśli tak, to w jakiej jesdnostce, bajtach?

0

Z tego co wiem tak :) Ja zawsze używam 200h(512bajtów) i z tego co widze inni też.

0

Dream Maker: widze, ze uczysz sie asm, wiec zebys nie nabieral zlych nawykow... nr przerwan przez konwencje pisze sie szesnastkowo... wiec zamiast pisac:
int 33 ; 21h
pisz raczej:
int 21h ; 33
To ulatwia innym programistom zrozumienie :)

P.S. w MS DOS pod 33h jest sterwonik myszki... tak, jakbys kiedys szukal ;)

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