Witam,
Mam w planach wydać swoją książkę o Assemblerze.
Materiały mam już zebrane, można je obejrzeć pod adresem:
http://0dfh.opx.pl/assembler/
Hasło: helion
Proszę o ocenę i komentarze.
Witam,
Mam w planach wydać swoją książkę o Assemblerze.
Materiały mam już zebrane, można je obejrzeć pod adresem:
http://0dfh.opx.pl/assembler/
Hasło: helion
Proszę o ocenę i komentarze.
Dostaniemy zniżkę ;p ?
Obraca bity w operandzie docelowym w prawo. Bity wychodzące z prawej, wchodzą ponownie z lewej. Znacznik CF zawiera ostatni bit, który wyszedł.
Nie mówi dużo komuś kto nie wie wcześniej co operator robi, a pokazanie że np. ror 00010101, 2 daje w wyniku 01000101 wyjaśniłoby wszystko (no i warto by podać sposób zapisu opkodów w natywnej postaci tzn. w hex - to w końcu asembler).
Bardzo podobna książka, również helion: http://helion.pl/ksiazki/win32asm-asembler-w-windows-adam-blaszczyk,asmwin.htm (posiadana przeze mnie swoją drogą, ale traktowana bardziej jako referencja i zbiór przydatnych tabelek)
Rozdziały 1, 2 to wstęp. 2, 3 to szablony programów win32 in dos. Cała reszta to opis poszczególnych instrukcji...
To tak jakbyś (lekko przesadzając) w książce o C++ w pierwszym rozdziale podał szablon
int main() { /* kod */ return 0; }
A w pozostałych rozdziałach do końca książki omawiał bibliotekę standardową.
Dodaj chociaż 3 rozdziały wprowadzające, pokazujące naprawdę proste, działające programy. Najlepiej konsolowe, korzystając z msvcrt zamiast winAPI, chociaż pewnie Ci się to nie spodoba.
Jakiś 'hello world'
, 'hello ' + [imie]
, dodaj dwie liczby
, kalkulator
.
A najfajniej by było dodać do rozdziałów 5-9 pełno gotowych do przepisania i uruchomienia przykładów do każdego zagadnienia.
To chyba tyle narzekania, powodzenia :]
Twoja książka był by jedną z tych, którą lepiej jest spalić tuż przed samym zaglądaniem do środka. Ukazujesz praktyczne zastosowanie asemblera na robieniu okien. To nie jest rzecz z jajami i na pewno nie zostanie przez innych poważnie potraktowana. Sam nie potrafię zrozumieć co Ciebie skłoniło, aby o tym pisać? W końcu są lepsze języki do tego zadania. Na mnie na przykład duże wrażenie robi gynvael coldwind. Co prawda ma beznadziejny ma nick, ale on wykłada asembler i następnie wykorzystuje go do wprowadzenia w temat inżynierii wstecznej. Co wg mnie jest świetnym posunięciem.
MSM napisał(a)
- Proponowałbym dopisać proste przykłady działania operandów - na przykład (cytat z http://0dfh.opx.pl/ror-obrot-bitow-w-prawo/)
Obraca bity w operandzie docelowym w prawo. Bity wychodzące z prawej, wchodzą ponownie z lewej. Znacznik CF zawiera ostatni bit, który wyszedł.
Nie mówi dużo komuś kto nie wie wcześniej co operator robi, a pokazanie że np. ror 00010101, 2 daje w wyniku 01000101 wyjaśniłoby wszystko
Tutaj jest wyjaśnione, nawet z przykładem:
http://0dfh.opx.pl/6-instrukcje-logiczne-i-przesuniec-bitowych/
MSM napisał(a)
warto by podać sposób zapisu opkodów w natywnej postaci tzn. w hex - to w końcu asembler).
Dokumentacja z której korzystałem nie miała opkodów :/ Pomyślę nad tym.
MSM napisał(a)
'hello ' + [imie]
Jest już tutaj:
http://0dfh.opx.pl/15-konsola-w-windows/
MSM napisał(a)
kalkulator
.
Kalkulator (tyle że działający na koprocesorze) jest tutaj:
http://0dfh.opx.pl/42-korzystanie-z-instrukcji-koprocesora-fpu/
Nie wiem czy w ogóle cały rozdział o pisaniu aplikacji 16-bitowych nie nadaje się do wyrzucenia w sytuacji kiedy kupowane obecnie komputery coraz częściej mają już system 64-bitowy. No i drugą dekadę XXI wieku.
Studenci ciągle uczą się programować na 16 bitów, więc taki rozdział komuś może się przydać.
na jednym z przedmiotów miałem 16-bitowy tryb chroniony. dlaczego tylko 16-bitowy, skoro 32-bitowy wymagałby tylko kosmetycznych zmian w kodzie? prawdopodobnie przez zacofanie prowadzącego, któremu się nie chciało aktualizować programu nauczania.. ja oddałem pracę zaliczeniową skompilowaną w 32-bitach.
ale asembler 64-bitowy niestety mocno się komplikuje — low-level jest tragiczny, ale nawet w winapi konwencja wywołania funkcji jest mocno pokręcona…