[ASM] Trudne poczatki

0

Najpierw wypadaloby sie przywitac poniewaz jestem tu nowy, a wiec
Witam was :P
Postanowilem nauczyc sie programowania w Asemblerze. Do nauki uzywam "Asembler: Podrecznik programisty" Vlada Pirogowa. Nie jest to raczej podrecznik dla poczatkujacych a ja wlasnie nim jestem wiec jest dosc ciezko ale jakos daje rade :]

Mam dwa problemy a dokladnie problem i pytanie :P

Moze zaczne od pytania
Dlaczego w tym miejscu
CMP DWORD PTR [EBP+0Ch], WM_DESTROY

zamiast DWORD nie moge uzyc DD?

No a teraz problem
Pirogov pisze ze jesli zrobimy cos takiego

ml /c /coff /Zd /Zi costam.asm
link /subsystem:windows /debug costam.obj

To w debugerze mozemy pracowac rowniez z kodem zrodlowym. Niestety jako przyklad debuggera podaje CodeView ktory o ile wiem jest dosc przestarzaly a na dodatek ciezko go znaleŹĆ.
W przypisach jest cos wspomniane o WinDbg. Udalo mi sie go sciagnac (nie bylo to duze wyzwanie ;P) ale nie jest w nim stanie zrobic tego co autor opisal w ksiazce :P nie wiem moze zle zrozumiale cos z tego co tam jest napisane, jesli jednak wiecie jak mi pomoc to prosze o odpowiedz

Dodam jeszcze ze jako asemblera uzywam masm'a 32 v9

0
wrzazg napisał(a)

Dlaczego w tym miejscu
CMP DWORD PTR [EBP+0Ch], WM_DESTROY

zamiast DWORD nie moge uzyc DD?

Ponieważ dyrektywa "DWORD PTR" określa z jakim typem/rozmiarem zmiennej pod adresem [EBP+0Ch] ma do czynienia rozkaz CMP. Natomiast dyrektywa DD to skrót od "Define DWORD" i stosowana jest przy definicjach zmiennych.

0

Dzieki za odpowiedz nigdzie tego nie widzialem, w Lit. raczej spotyklem sie z opiniami ze mozna uzywac ich zamiennie :P Twoj post mi bardzo pomogl wielkie dzieki Gościu :D

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