Dyskusja:Asembler x86/Koordynacja
Dodaj tematZmiany, które pojawiły się w podręczniku Asembler x86, zmusiły do stworzenia tej strony. Dla osób anonimowych, które edytują podręcznik: zachęcam aby założyć własne konto na Wikibooks, co znacznie ułatwi komunikację. Aktualnie podręcznik jest zabezpieczony przed edycjami osób niezalogowanych i nowych, tymczasowo, aby móc wymienić kilka uwag z edytującymi.
- Prosimy o nie zmienianie kodu źródłowego, aby kompilował się w innym kompilatorze. Standardem dla większej części podręcznika jest zestaw NASM + Windows.
- Jeżeli modyfikujesz kod źródłowy prosimy o uprzednie jego sprawdzenie.
- Prosimy, abyś edytując kody źródłowe i poradniki starał się dostosowywać do wcześniej wyjaśnionych metod. Zdajemy sobie sprawę, że w asemblerze to i owo można zrobić na wiele sposobów, ale nie wprowadzajmy mętliku.
Instrukcje procesora
[edytuj]Witam
Na stronie:
http://pl.wikibooks.org/wiki/Asembler_x86/Instrukcje/Arytmetyczne
instrukcja mul jest bardzo mętnie opisana. A już przykład:
mul eax
jest błędny. Instrukcja mul mnoży podany w buforze, lub rejestrze argument właśnie przez eax. Prawidłowy przykład to choćby:
mul mnożnik
Pozdrawiam
Witam.
Na stronie:
https://pl.m.wikibooks.org/wiki/Asembler_x86/Zmienne/GNU_AS
W akapicie adresowanie w przykładzie jest bład, mianowicie brak nawiasów. Oto przykłady:
movb %edx, %eax # do eax kopiowana jest wartość spod adresu DS + EDX
movb %ebp, %ecx # do ecx kopiowana jest wartość spod adresu SS + EBP
movb %ebp, %edx # pod adres DS + EDX kopiowana jest wartość ebp
Powinno być:
Oto przykłady:
movb (%edx), %eax # do eax kopiowana jest wartość spod adresu DS + EDX
movb (%ebp), %ecx # do ecx kopiowana jest wartość spod adresu SS + EBP
movb %ebp, (%edx) # pod adres DS + EDX kopiowana jest wartość ebp
Tak mi się wydaję:)
Pozdrawiam.