Wydanie własnej książki (Assembler)

0

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.

0

Dostaniemy zniżkę ;p ?

0
  1. 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 (no i warto by podać sposób zapisu opkodów w natywnej postaci tzn. w hex - to w końcu asembler).

  1. 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)

  2. 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 :]

1

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.

0
MSM napisał(a)
  1. 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/

0

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.

0

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…

1 użytkowników online, w tym zalogowanych: 0, gości: 1