ďťż
Lemur zaprasza
Strona: [ > ] z 1 Autor Temat: Assembler - wyliczanie adresów marcin_an Forumowicz Typ: neutral Postów: 1265 Zarejestrowany: Mar 2004 Assembler - wyliczanie adresów Przypuśćmy, że mamy: CALL 0012:3456 Pytania brzmią następująco: 1) Jak wyliczamy adres, pod który należy skoczyć? Zawsze wydawało mi się, zę normalnie - tzn. mnożymy segment przez 16 i sumujemy z offset. W tym przypadku byłoby to: 0012*10 + 3456 = 3576 2) Czy wyliczona liczba to adres względem początku CodeSegment, czy względem początku pamięci? Wydaje mi się, że względem CS... ale mogę się mylić. A moje wątpliwości wynikają stąd, że przy analizie programu znajduję na entry-poincie instrukcję call. Przeskakuję wg. powyższych reguł pod wskazany adres i... okazuje się, że mam tam serię bezsensownych instrukcji. Tzn. są poprawne, ale nie mają sensu (sumowanie dwóch 0 itp.). Zastanawiałem się, czy to nie jest próba wykrycia typu procesora, ale chyba raczej nie. Dlatego możliwe, że gdzieś robię błąd. Wydaje mi się, że wszystko robię dobrze, ale wolę się upewnić... może jestem zmęczony? [Post edytowany dnia 10-08-2004 07:28 przez marcin_an] _____________________________________________ Popieram losmaca: 1) Ludzie, dbajcie o polszczyznę!!! 2) Ludzie, zadawajcie kompletne pytania, a nie - rzucacie ochłapy i trzeba się domyślać o co chodzi!!! ___ NOWE FORUM 10-08-2004 07:15 Wszystkich odpowiedzi: 0 :: Maxymalnie na stronę: 20 Strona: [ > ] z 1 |