Thread View: pl.comp.lang.asm
6 messages
6 total messages
Started by "Remek"
Sat, 23 Oct 2010 23:07
Pobieranie danych ze zmiennej
Author: "Remek"
Date: Sat, 23 Oct 2010 23:07
Date: Sat, 23 Oct 2010 23:07
37 lines
545 bytes
545 bytes
Witam Windows 32 bit. Masm32. Czego� nie rozumiem. Prosz� o wyja�nienie: Mam dekraracje: zmienna dd? Bufor db 128h dup(0) instrukcja: mov eax, zmienna kopiuje do eax dworda z adresu wskazywanego przez zmienn�. To samo wykonuje: mov eax, [zmienna] r�wnie� instrukcje: mov eax, dword ptr Bufor mov eax, dword ptr [Bufor] robi� to samo. Czy�by Masma nie obowi�zywa�y regu�y asemblera? Adres zmiennej mog� pobra� tylko przez: lea zmienna lea Bufor Co� zapomnia�em, przeoczy�em? Pozdrawiam Remek
Re: Pobieranie danych ze zmiennej
Author: 0xF
Date: Mon, 25 Oct 2010 05:07
Date: Mon, 25 Oct 2010 05:07
2 lines
25 bytes
25 bytes
mov eax, offset zmienna
Re: Pobieranie danych ze zmiennej
Author: "Remek"
Date: Mon, 25 Oct 2010 17:04
Date: Mon, 25 Oct 2010 17:04
17 lines
389 bytes
389 bytes
Uzytkownik "0xF" napisal: > mov eax, offset zmienna Zapomnialem o tym wspomniec. To spos�b na pobranie adresu. A co z identycznym dzialaniem instrukcji: mov eax, zmienna mov eax, [zmienna] Okazuje sie, ze nawiasy sa niepotrzebne. Wczesniej napisalem nieprawde. Nie wiem o czym myslalem. Obie instrukcje kopiuja do eax zawartosc zmniennej oczywiscie. Przepraszam za pomylke. Remek
Re: Pobieranie danych ze zmiennej
Author: "Bogdan (bogdro)
Date: Wed, 27 Oct 2010 19:02
Date: Wed, 27 Oct 2010 19:02
26 lines
951 bytes
951 bytes
W dniu 25.10.2010 17:04, Remek pisze: > Uzytkownik "0xF" napisal: > >> mov eax, offset zmienna > > Zapomnialem o tym wspomniec. To sposób na pobranie adresu. A co z > identycznym dzialaniem instrukcji: > > mov eax, zmienna > mov eax, [zmienna] > > Okazuje sie, ze nawiasy sa niepotrzebne. Tak to już jest w MASMie i w TASMie (w trybie zgodności z MASMem). Taka cecha kompilatora. Podobnie jak cecha NASMa i FASMa, że te dwie instrukcje robią w nich co innego (pierwsza pobiera adres, druga - zawartość). Może dla wygody, żeby wyglądało "bardziej logicznie", bo jeśli programista pisze "mov eax, zmienna", to "pewnie chciał pobrać zawartość". -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.Xiph.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Re: Pobieranie danych ze zmiennej
Author: Bernard
Date: Wed, 27 Oct 2010 20:31
Date: Wed, 27 Oct 2010 20:31
38 lines
1067 bytes
1067 bytes
On 2010-10-27 19:02, Bogdan (bogdro) wrote: > W dniu 25.10.2010 17:04, Remek pisze: >> Uzytkownik "0xF" napisal: >> >>> mov eax, offset zmienna >> >> Zapomnialem o tym wspomniec. To sposób na pobranie adresu. A co z >> identycznym dzialaniem instrukcji: >> >> mov eax, zmienna >> mov eax, [zmienna] >> >> Okazuje sie, ze nawiasy sa niepotrzebne. > > Tak to już jest w MASMie i w TASMie (w trybie zgodności z MASMem). > Taka cecha kompilatora. Podobnie jak cecha NASMa i FASMa, że te dwie > instrukcje robią w nich co innego (pierwsza pobiera adres, druga - > zawartość). > Może dla wygody, żeby wyglądało "bardziej logicznie", bo jeśli > programista pisze "mov eax, zmienna", to "pewnie chciał pobrać zawartość". > Nie macie odwagi napisać otwartym tekstem, że składnia MASM/TASM/Intel jest po prostu sp... Przykład: x equ 100 org x y dw 200 mov ax, x ; ładuje stałą 100 mov bx, [x] ; ładuje daną spod adresu 100 mov cx, y ; ładuje daną spod adresu 100 mov dx, [y] ; ładuje daną spod adresu 100 W NASM tego problemu nie ma.
Re: Pobieranie danych ze zmiennej
Author: "Remek"
Date: Sun, 31 Oct 2010 19:05
Date: Sun, 31 Oct 2010 19:05
12 lines
387 bytes
387 bytes
Użytkownik "Bogdan (bogdro)" napisał: > Tak to już jest w MASMie i w TASMie (w trybie zgodności z MASMem). Rozumiem, że potwierdzasz moje obserwacje? Przyjmuję, że Masm32 tak ma i przestaję wydziwiać. Dla ścisłości tylko dodam, że ta cechja dotyczy Masm32 i Tasm32. Wcześniejsze 16 bit wersje traktują te instrukcje różnie tzn. tak jak w teorii. 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