Thread View: pl.comp.lang.asm
7 messages
7 total messages
Started by PioM
Mon, 17 Apr 2006 16:07
masm32
Author: PioM
Date: Mon, 17 Apr 2006 16:07
Date: Mon, 17 Apr 2006 16:07
17 lines
1655 bytes
1655 bytes
Witam Zauwazylem ze w programie Masm32 jest blad. W procedurach parametry powinny byc domyslnie traktowane jako offsety. Kazda nazwa zmiennej to offset do miejsca w pamieci. Dostep do zawartosci pamieci powinien byc stosowany przez wyrazenie postaci mov [edi],0 lub mov [zmienna],0 Na stronach z dokumentacja procesorow www.amd.com i www.intel.com jest dokumentacja bez kodow instrukcji. Sprawia to wrazenie lamerskiej dokumentacji. Wymowka ze w poprzednich dokumentacjach to bylo, jest bledna. Te cale segmenty wygladaja podejrzanie. Mysle ze jedyne segmenty, kotrych i tak nie powinno byc to numery modulow pamieci. Procesor powinien umiec tlumaczyc numer adresu na wspolrzedne sprzetu. Podejrzewam ze jest cos takiego w modelu FLAT. Piotr M.
Re: masm32
Author: Bogdan (bogdro)
Date: Mon, 17 Apr 2006 16:25
Date: Mon, 17 Apr 2006 16:25
55 lines
3516 bytes
3516 bytes
PioM napisał(a): > Witam > > Zauwazylem ze w programie Masm32 jest blad. W procedurach parametry powinny > byc domyslnie traktowane jako offsety. "To nie jest błąd, to jest cecha." :) Jak chcesz przekazać adres, piszesz "addr zmienna" lub "offset zmienna". W MASMie chyba od początku napis "zmienna" był równoważny "[zmienna]", dopiero "offset" zwracało adres. > Kazda nazwa zmiennej to offset do > miejsca w pamieci. Dostep do zawartosci pamieci powinien byc stosowany przez > wyrazenie postaci mov [edi],0 lub mov [zmienna],0 Jeszcze tego nie wiesz, ale skoro tak mówisz, to polubisz FASMa i NASMa, bo u nich tak właśnie jest: nazwa to offset, [nazwa] to zawartość. Już nie żyjemy w świecie jedynego słusznego oprogramowania. Wybierz sobie taki kompilator, który ci pasuje. Do programowania Win polecam FASM (z własnym GUI lub Fresh GUI - rozbudowane IDE). > Na stronach z dokumentacja procesorow www.amd.com i www.intel.com jest > dokumentacja bez kodow instrukcji. Sprawia to wrazenie lamerskiej > dokumentacji. Wymowka ze w poprzednich dokumentacjach to bylo, jest bledna. Słabo szukałeś. Ja mam podręczniki Intela z hex opkodami instrukcji (bo o to chodzi, tak?). Sprawdzam AMD... w pierwszej części, którą mam nie ma opkodów, ale w następnych na pewno są. Nie mam potrzeby ściągać, więc nie będę tego teraz robił i specjalnie sprawdzał. > Te cale segmenty wygladaja podejrzanie. Mysle ze jedyne segmenty, kotrych i > tak nie powinno byc to numery modulow pamieci. Procesor powinien umiec > tlumaczyc numer adresu na wspolrzedne sprzetu. Podejrzewam ze jest cos > takiego w modelu FLAT. Piszesz pod MASM32, tak? Tam nie ma segmentów, więc nie wiem o co ci chodzi. Segmenty były w 16-bitowych programach. W 32-bitowych są co najwyżej sekcje (danych, kodu). Adres nie ma numeru, sam jest numerem. Tłumaczeniem adresów na "współrzędne sprzętu" zajmuje się kontroler pamięci. Od jakiegoś czasu jest on wbudowany w procesor (poprawcie, jeśli się mylę). A nawet jeśli nie, to i tak procesor zajmuje się większością tego, co nazywa się tłumaczeniem adresów (m.in. stronicowanie). Model flat to taki tryb pracy, w którym wszystkie rejestry segmentowe wskazują na pełny, 4GB obszar pamięci. Adresom w tym modelu daleko do adresów fizycznych sprzętu. -- Pozdrawiam, Bogdan (Linux i FreeDOS) Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 Prawdziwy, bezpieczny komunikator: www.JabberPL.org
Re: masm32
Author: PioM
Date: Mon, 17 Apr 2006 16:36
Date: Mon, 17 Apr 2006 16:36
17 lines
1709 bytes
1709 bytes
> Słabo szukałeś. Ja mam podręczniki Intela z hex opkodami instrukcji > (bo o to chodzi, tak?). Sprawdzam AMD... w pierwszej części, którą mam tak kiedys widzialem dokumenty .doc (Intel OpCodes), ale nie byly z oficjalnego zrodla. Szukam zwykle dobrze, ale na tych stronach producentow procesorow jest dziwny chaos. Dokumenty ktore posunal mi system wyszukiwania rozczarowaly mnie. > nie ma opkodów, ale w następnych na pewno są. Nie mam potrzeby > ściągać, więc nie będę tego teraz robił i specjalnie sprawdzał. Przegladalem dokumentacje .pdf. Gdzie kupiles procesor z dokumentacja? Widzialem FASM. Wyglada na porzadny kompilator. ____ Pozdrawiam Piotr M. www.piom28.webpark.pl
Re: masm32
Author: Bogdan (bogdro)
Date: Mon, 17 Apr 2006 16:45
Date: Mon, 17 Apr 2006 16:45
45 lines
2696 bytes
2696 bytes
PioM napisał(a):
>> Słabo szukałeś. Ja mam podręczniki Intela z hex opkodami instrukcji
>> (bo o to chodzi, tak?). Sprawdzam AMD... w pierwszej części, którą mam
> tak kiedys widzialem dokumenty .doc (Intel OpCodes), ale nie byly z
> oficjalnego zrodla.
Też kilka takich drobiazgów mam (kilka HTML, 2 TXT).
> Szukam zwykle dobrze, ale na tych stronach producentow procesorow jest
> dziwny chaos. Dokumenty ktore posunal mi system wyszukiwania rozczarowaly
> mnie.
Tak, te strony są tak profesjonalnie zrobione, że aż nic nie można na
nich znaleźć. Masz tu dokładne linki:
* AMD:
http://www.amd.com/us-en/Processors/DevelopWithAMD/0,,30_2252_739_7044,00.html
* Intel:
http://developer.intel.com/design/Pentium4/documentation.htm (szukaj
Intel Architecture Software Developers' Manual, tom II)
* DDJ Microprocessor Center: http://www.x86.org/
* Transmeta: http://www.transmeta.com/
* Ogólna, wiele firm, wiele procesorów (ale tylko te zgodne z
Intel/AMD): http://www.sandpile.org/
>> nie ma opkodów, ale w następnych na pewno są. Nie mam potrzeby
>> ściągać, więc nie będę tego teraz robił i specjalnie sprawdzał.
> Przegladalem dokumentacje .pdf. Gdzie kupiles procesor z dokumentacja?
Nigdzie nie mówiłem, że kupiłem procesor z dokumentacją. PDFy sobie
ściągnąłem z 2 pierwszych adresów powyżej.
> Widzialem FASM. Wyglada na porzadny kompilator.
Bo taki jest. I do tego polski.
--
Pozdrawiam, Bogdan (Linux i FreeDOS)
Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Prawdziwy, bezpieczny komunikator: www.JabberPL.org
Re: masm32
Author: PioM
Date: Mon, 17 Apr 2006 16:53
Date: Mon, 17 Apr 2006 16:53
2 lines
1063 bytes
1063 bytes
Wyglada logicznie. Dziekuje.
Re: masm32
Author: PioM
Date: Tue, 18 Apr 2006 20:48
Date: Tue, 18 Apr 2006 20:48
2 lines
1102 bytes
1102 bytes
mam kolejny link: http://www.intel.com/design/pentium/manuals/24319101.pdf (dla Pentium)
Re: masm32
Author: Remek
Date: Wed, 19 Apr 2006 01:02
Date: Wed, 19 Apr 2006 01:02
37 lines
2416 bytes
2416 bytes
Witam! > Do programowania Win polecam FASM Pozwalam sobie mieć inne zdanie niż przedmówca, którego ogromną wiedzę i profesjonalizm bardzo szanuję. Tu chodzi o coś innego. Jak rozumiem piszesz pod Win32. Do tego dedykowanym asemblerem jest Masm32. Sprawa wygląda podobnie jak z olejami, czy częściami zamiennymi do samochodów. Tańsze zamienniki są reklamowane jako "dorównujące", a nawet "przewyższające", co w większości przypadków jest nieprawdą. Moja rada: zaczynaj od Masm'a. Na stronach Microsoftu jest parę Giga wsparcia do Masm32 i Windows. Znajdziesz tam wszystko, czego potrzebujesz. Jak już opanujesz Masm'a, łatwo Ci będzie zmienić program. Różnice w składni są niewielkie. Ja zaczynałem od Tasm'a, który na początku wydaje się bardziej przyjazny i łatwiejszy w obsłudze niż Masm, ale obecnie jest nierozwijany i nie ma nawet 10% tych możliwości Masm'a. Chodzi o wsparcie w różnej postaci. Do Masm'a np. w instalce masz kilkanaście MB includów i innych plików pomocniczych, a do Tasma, nie widziałem większego windows.inc od kilkudziesięciu kB. Więc musisz sam deklarować prototypy funkcji, lub pisać własne includy. To samo dotyczy pozostałych asemblerów. Jedynym wyjątkiem jest Nasm, do którego b. duże wsparcie znajdziesz na stronie nieocenionego Bogdana -"bogdro". Są tam wszystkie potrzebne pliki nagłówkowe, biblioteki i inne pomoce zorganizowane tak, że wystarczy uruchomić plik wsadowy i reszta zrobi się "sama". Pozdrawiam. -- Remek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads