Hej, pracuje jako c++ developer od 3 lat, szykuje sie do zmiany pracy na taka w ktorej wymagane beda podstawy assemblera (napisanie prostej gry z gui w konsoli). Poleci ktos jakas ksiazke z podstawami ? Zalezy mi na jakims bezbolesnym wprowadzniu (preferowane <500 stron) Moze byc po angielsku

#programowanie #assembler
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@znowu_musze_wymyslac: Poczytać można, i póki co umiem wykonywać kod assemblerowy w pamieci.
ale do ćwiczeń poleca sie jednak odpalić komputer i "pomacać"
Jak chcesz coś do autobusu to Tanenbaum opowiadający o systemach operacyjnych jest spoko podobno
  • Odpowiedz
jak dziala instrukcja cmp w assemblerze (x86)? wiem ze sluzy do porownania rejestru/wartosci/adresu z rejestrem lub adresem pamieci, a potem sa ustawiane odpowiednie flagi ale potrzebuje szerszej informacji, w jaki sposob komputer wie jak ustawic flagi? jakie operacje arytmetyczne i jak wykonuje je komputer zanim ustawi flagi? (bo w taki sposob, to dziala, tak?)
#assembler
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@d1l4x: a co tu tłumaczyć?

mnożysz 0xFFFF przez 0x1000, więc AX się przepełnia ustawiając flagi CARRY i OVERFLOW. Użyłeś jednoargumentowego MULa, który mnoży akumulator przez rejestr lub wartość i w zależności od rozmiaru argumentu storuje wynik w AX(dla arg 8-bitowych), DX:AX(16-bit) albo EDX:EAX(32bit), twoim argumentem jest 16-bitowy BX stąd nadpisało DX

http://docs.oracle.com/cd/E19455-01/806-3773/6jct9o0am/index.html
  • Odpowiedz
@jucio: ( ͡° ʖ̯ ͡°) na studiach tłukliśmy wszystko w srodowisku win32 i przyznam asmy na linuxach to czuje się trochę jak dziecko we mgle.
no ale ELO linuxiarze uprali się na linxa to się stram
  • Odpowiedz
@aleroc: na pierwszy rzut oka to wygląda jak sortowanie bąbelkowe, odnośnie instrukcji to polecam znalezienie jakiejś strawnej listy instrukcji i prześledzeniu tego we własnym zakresie - kod jest relatywnie prosty więc to będzie raczej łatwa lektura


  • Odpowiedz