Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Asembler] Odczyt danych ze stosu

Ostatnio zmodyfikowano 2013-02-09 18:46
Autor Wiadomość
Mrovqa
» 2013-02-06 21:24:29
Otóż troche sobie słucham kursu Gynvaela o asemblerze (na YT).
Autor na 99.9% pisze na NASMie ;)

@down wiesz, o TASMie też trochę było (w ReverseCrafcie) - mówił też, że przez polaka stworzony :P
P-75857
m4tx
» 2013-02-06 21:26:29
Tyle, że on pisze właśnie w tasmie...
Nie wydaje mi się...  Gynvael Coldwind poleca i operuje na nasmie, więc...
P-75858
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2013-02-06 21:32:48
@DejaVu, piszę w NASMie.
@Pekfos - To ten sam znak: "$" i 0 - przynajmniej to wynika z kursu Gynwaela
P-75860
pekfos
» 2013-02-06 21:37:09
@Pekfos - To ten sam znak: "$" i 0 - przynajmniej to wynika z kursu Gynwaela
To są 2 różne znaki.
P-75863
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2013-02-07 07:17:19
Zrobiłem to samo z znakiem "$" i nadal nie działa. Jakbyście mogli to sprawdźcie u siebie czy też wyświetlają się śmieci.
P-75888
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2013-02-08 10:22:55
Pomoże ktoś?
P-75933
pekfos
» 2013-02-08 15:01:23
Jakbyście mogli to sprawdźcie u siebie czy też wyświetlają się śmieci.
Jak mamy sprawdzić kod, którego nie podałeś?


//Edit:
Dobra, zanim doczekam się aktualnego kodu popraw ten rażący błąd:
mov ax, 4Ch
i sprawdź
mov dx, [esp + 2]
bo chyba w trybie MS-DOS / na emulatorze DOSa jest stos z wartościami 16b.
P-75943
RazzorFlame
Temat założony przez niniejszego użytkownika
» 2013-02-09 10:17:07
Emm pekfos kod jest taki sam jak podałem na początku, tylko pozmieniałem wtedy ten adres tekstu na stosie (esp). W pierwszym poście masz kod :)

EDIT:
mov ax, 4C00h
  INT 21 - DOS 2+ - "EXIT" - TERMINATE WITH RETURN CODE
AH = 4Ch
AL = return code
Return: never returns
 Hmm? Ah = 4Ch tak jak ja pisze :P O fu** zdalem sobie sprawe że tam mamy AX, czyżby zapis "mov ax, 4C00h" oznaczał że młodszy bajt idzie do rejestru AL a starszy do AH?
A właśnie zaraz sprawdzę czy działa to co podałeś - [esp + 2]

EDIT x2
Pekfos ile czasu uczyłeś się asemblera, BO DZIAŁA. Hmm to znaczy że adres pod dosem jest 16bitowy reszta 32 bitowa czy też 16? A gdybym na początku kodu dodał [bits 32]

EDIT x3
Czy pytanie z edita nr 2 ma jakiś związek jaki rejestr dodaje na stos czyli np. "push eax" albo "push ax" jest równoważne? Ale nie chodzi mi czy mogą pomieścić tą samą ilość danych bo wiadomo że nie, ale czy zajmują tyle samo na stosie (np do rejestru "nie-32bitowego" dodawane są zera z przodu).
P-76003
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona