🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.asm
7 messages
7 total messages Started by PioM Mon, 17 Apr 2006 16:07
masm32
#192
Author: PioM
Date: Mon, 17 Apr 2006 16:07
17 lines
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
#193
Author: Bogdan (bogdro)
Date: Mon, 17 Apr 2006 16:25
55 lines
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
#194
Author: PioM
Date: Mon, 17 Apr 2006 16:36
17 lines
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
#195
Author: Bogdan (bogdro)
Date: Mon, 17 Apr 2006 16:45
45 lines
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
#196
Author: PioM
Date: Mon, 17 Apr 2006 16:53
2 lines
1063 bytes
Wyglada logicznie.
Dziekuje. 
Re: masm32
#197
Author: PioM
Date: Tue, 18 Apr 2006 20:48
2 lines
1102 bytes
mam kolejny link: http://www.intel.com/design/pentium/manuals/24319101.pdf
(dla Pentium) 
Re: masm32
#198
Author: Remek
Date: Wed, 19 Apr 2006 01:02
37 lines
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