Thread View: pl.comp.lang.asm
6 messages
6 total messages
Started by Remek
Sat, 23 Oct 2010 21:07
Pobieranie danych ze zmiennej
Author: Remek
Date: Sat, 23 Oct 2010 21:07
Date: Sat, 23 Oct 2010 21:07
35 lines
1367 bytes
1367 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 12:07
Date: Mon, 25 Oct 2010 12:07
1 lines
1279 bytes
1279 bytes
mov eax, offset zmienna
Re: Pobieranie danych ze zmiennej
Author: Remek
Date: Mon, 25 Oct 2010 15:04
Date: Mon, 25 Oct 2010 15:04
15 lines
1319 bytes
1319 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 17:02
Date: Wed, 27 Oct 2010 17:02
25 lines
1928 bytes
1928 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 18:31
Date: Wed, 27 Oct 2010 18:31
37 lines
2190 bytes
2190 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 18:05
Date: Sun, 31 Oct 2010 18:05
10 lines
1376 bytes
1376 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