kategoria: Asembler
[#1] ASEMBLER - Programowanie od podstaw
Witam. Chciałem zasięgnąć opinii o książce jak w tytule. I jak w linku: Asembler
[#2] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #1

moze troszke nie na temat,ale jak ja uczylem sie asma, to uczylem sie z ksiazki adama doligalskiego, imho najlepsza pozycja :)
[#3] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #1

Ja zakupiłem i przeczytałem. Nie wiedzieć czemu ale odczułem tylko jedną pozytywną rzecz. Nieprzemożoną chęć napisania kolejnego odcinka asemblera w przykładach.
[#4] Re: ASEMBLER - Programowanie od podstaw

@aszu, post #2

Czyli lepiej zacząć od książki Adama Doligalskiego? A ta którą podałem w tytule nie posiada przykładów do rozwinięcia czy do wzorowana się na nich ? Tak się pytam bo lubię od czasu do czasu pobawić się Amigą 1200 inaczej niż tylko gry,
[#5] Re: ASEMBLER - Programowanie od podstaw

@aszu, post #2

Przydałoby się zdigitalizować tę pozycję, bo jej zdobycie graniczy z cudem. Ostatni raz była na Allegro w marcu zeszłego roku, w cenie ponad 2x wyższej od nominalnej.
[#6] Re: ASEMBLER - Programowanie od podstaw

@Geekboy68k, post #5

[#7] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #6

Ale ja osobiście wolę książki w wersji papierowej do nauki programowania ze względu na możliwość robinia własnych notatek. Książka jak w tytule ma ten plus, że dostaje się wersję papierową z elektroniczną. Szkoda, że nie ma do niej umieszczonego spisu treści jak do poprzednich.
[#8] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #4

Po prawdzie każda książka ma jakiś próg wejścia - najważniejsze to podstawy, czyli trzeba wiedzieć co nie co o architekturze von Neumanna. Ja sam uczyłem się z wszystkiego co mi wpadło w ręce a teraz to jest masa rzeczy w necie, oczywiście książkę Adama przerobiłem parę razy. Poza tym są fora mejle i bez problemu możesz zadać pytanie. To jeśli chodzi o pierwsze pytanie.

Jeśli chodzi o drugie pytanie - Są przykłady ale czy one są do rozwinięcia czy do wzorowania to może przemilczę tą sprawę.
[#9] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #1

wszyscy kupili ale nikt nie przeczytal
[wyróżniony] [#10] Re: ASEMBLER - Programowanie od podstaw

@selur, post #9

Cóż, ja książki nie polecam. 100 pierwszych stron to: co to jest pamięć ROM/RAM", "jak rozpakować archiwum z programem", "jak uruchomić program z dyskietki" i tego typu rzeczy, które każdy amigowiec pewnie wie.

Potem jest trochę rzeczy raczej przydatnych i na temat, aczkolwiek wszystko opisane strasznie rozwlekle i "po łebkach". Nie dowiemy się, jak korzystać z koprocesora, z MMU, czym się róznią poszczególne modele procesorów 68k, nie ma też chyba nic o ilości cykli procesora wymaganych do wykonania instrukcji, brakuje nawet jasnych informacji o tym, jakie tryby adresowania są dozwolone dla poszczególnych instrukcji. Słowem: jeśli chcesz się nauczyć assemblera 68k, to raczej nie z tej książki, tu poznasz jedynie najbardziej podstawowe elementy. Acha, jakieś komentarze w listingach też by się przydały...

Końcowa część (całkiem długa) to chyba najbardziej bezużyteczny fragment książki o programowaniu, jaki w życiu widziałem: spis funkcji bilbiotecznych systemu operacyjnego, z informacją o parametrach, ale bez jakiegokolwiek opisu - nie wiadomo, co robią, ani w jakich wersjach systemu operacyjnego są dostępne. Całość uzupełniona spisem rejestrów sprzętowych Amigi - również bez jakiegokolwiek opisu, informacji w których modelach Amigi które rejestry są dostępne, itd. Książkę kończą indeksy, np. indeks omówionych mnemoników - posortowane alfabetycznie.Omówiliśmy tylko jeden mnemonik na literę "T"? Drukujemy literę "T", pod spodem mnemonik, resta strony pusta. Nie ma żadnego mnemonika na literę "H"? Nie szkodzi, drukujemy samą literę i pozostawiamy pustą stronę.

I jeszcze jedno - nie rozumiem po co pisać książkę o assemblerze, w której (bardzo!) skrócony opis assemblera to zaledwie kilkadziesiąt stron, a kolejne kilkadziesiąt to skrócony opis API systemu operacyjnego. Zdecydowanie wolałbym książkę o assemblerze, ktora omawia naprawdę assemblera - o API systemu możnaby tu wspomnieć na 5-10 stronach (jak wywoływać funkcje biblioteczne), ale dalej należałoby odesłać do NDK (albo napisac osobną książkę o API systemu, która byłaby przydatna dla każdego chcącego programować 'pod system', bez względu na język programowania).
[#11] Re: ASEMBLER - Programowanie od podstaw

@Cedrat, post #10

Napisałem jak w tym tutorialu, ale nie ma żadnego efektu, brak linii jak w tym przykładzie. Mam wersję 1.49-RC2.
[#12] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #11

Podaj na jakiej maszynie działasz i jaki masz tryb ekranu odpalony w Asm-One. Być może tu tkwi diabeł.
[#13] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #11

Chyba też kiedyś korzystałem z tego tutoriala, jak chciałem poznać ASM. Zaczynałeś od pierwszego odcinka?
[#14] Re: ASEMBLER - Programowanie od podstaw

@SuperBuster, post #13

Działam na WinUae. Zaczynałem od pierwszego odcinka tego tutorialu i pierwszy program oczywiście działa bez problemu. Przykładowe programy z książki Adama na rożnego rodzaju obliczenia też działają. W drugim programie z tutoriala linia rastra nie pojawia się. Nie wiem w jakim trybie działa Asm. Tyle wiem, że między trybem edycji a kompilacji i uruchomienia przechodzę klawiszem esc.
[#15] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #14

Właśnie nie jestem w 100% pewien, czy z tego tutoriala korzystalem, czy z jakiegoś podobnego. Tam to co było w drugim odcinku, było kontynuacją pierwszego. Czyli cały program miał kod z pierwszej części + kod z drugiej.
[#16] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #14

Ok zakładam po cichu że masz OS 2+, Może niezbyt jasno i precyzyjnie się wypowiedziałem. Spróbujmy inaczej. W Asm-One odnajdź i przejdź do Assembler->Preferences->Environment. Zwyczajnie z menu. Bądź naciśnij skrót klawiszowy złożony z dwóch klawiszy: Prawa Amiga + [ . Tam odnajdziesz 'Select new screen mode' klikasz na tego buttona i powinno Ci się pokazać okienko z wyborem różnych trybów ekranu. Wybierz PAL:High Res. Jeśli go nie masz to znaczy że musisz z dysku Workbench Storage przekopiować pliki PAL i PAL.info do katalogu sys:devs/monitors i jeszcze trzeba by w startup-sequence dodać takie linijki o ile ich nie masz
IF EXISTS DEVS:Monitors
  IF EXISTS DEVS:Monitors/VGAOnly
    DEVS:Monitors/VGAOnly
  EndIF

  C:List >NIL: DEVS:Monitors/~(#?.info|VGAOnly) TO T:M LFORMAT "DEVS:Monitors/%s"
  Execute T:M
  C:Delete >NIL: T:M
EndIF

I oczywiście zrestartować maszynę.

Jeśli jednak miałeś PAL: High Res i go wybrałeś to robisz save. Asm-One powinien Ci się odpalić w rozdzieliczości High Res czyli 640x256 (nie pamiętam w ilu kolorach ale chyba w 4).
Spróbuj wtedy z Tym przykładem i daj znak czy poszło. W razie jakichkolwiek wątpliwości, problemów po prostu pytaj.
[#17] Re: ASEMBLER - Programowanie od podstaw

@asman, post #16

I wszystko jasne jak słońce. Teraz wszystko śmiga. Dziękuję. Rozdział IV z książki Adama Doligalskiego biorę na warsztat - Programowanie coppera.
[#18] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #17

przypomnialo mi sie teraz, ze photon ze scoopexow prowadzil na yt kurs dla poczatkujacych, bardzo dobry zreszta:)
[#19] Re: ASEMBLER - Programowanie od podstaw

@aszu, post #18

W tutorialu nr 3 T3 napotkałem dwa polecenia warunkowe, których nie rozumiem.
cmp #$f0,d7
         blo ok1
         neg d6
ok1:

oraz
cmp #$70,d7
         bhi ok2
         neg d6
ok2:

Chodzi o polecenia "blo" i "bhi".

Ostatnia aktualizacja: 16.07.2018 00:19:21 przez chicago

Ostatnia aktualizacja: 16.07.2018 00:19:36 przez chicago
[#20] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #19

O ile dobrze pamietam asembler to blo (branch if lower), czyli dla tego przypadku skok nastapi jesli bajt (?) d7 ma wartosc od $0000 do $00EF. A w drugim przypadku bhi (branch if higher), czyli od $0071 do $00FF. Ogolnie to powinno sie raczej podawac rozmiar uzywanego rejestru/danych. Czyli cmp.b, cmp.w, cmp.l oraz neg.b, neg.w, neg.l. Asemblery domyslnie traktuja takie rozkazy jako word, ale to nie zawsze jest prawda. Mi ten kod raczej wyglada na bajtowy niz wordowy. W przypadku wordowych lub longwordowych wartosci beda inne wartosci graniczne dla tych rozkazow.
[#21] Re: ASEMBLER - Programowanie od podstaw

@Don_Adan, post #20

BLS i BHI obok BCC (BHS) i BCS (BLO) traktują operandy jako liczby bez znaku.

BCC (BHS) - wyższy lub równy (znacznik C = 0)
BHI - wyższy (znacznik C = Z = 0)
BLS - mniejszy lub równy (C = 1 lub Z = 1)
BCS (BLO) - mniejszy (C = 1)

BLO to inna nazwa BCS.
[#22] Re: ASEMBLER - Programowanie od podstaw

@Hexmage960, post #21

Warto się tym tytułem zainteresować? Allegro
[#23] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #22

Nie znam tej książki. Po spisie treści widzę, że warto.

Jest to polskie tłumaczenie książki "Amiga Hardware Reference Manual". Jeśli słabo znasz angielski, to Ci ona pomoże.

Nie opisano w niej AGA. Nie dziwne, bo Commodore już od czasów AGA polecało programować bliżej systemowi.

Ostatnia aktualizacja: 16.07.2018 18:33:44 przez Hexmage960
[#24] Re: ASEMBLER - Programowanie od podstaw

@chicago, post #22

A ja taką książę mam tutaj wystawioną za 50pln i nikt się nie interesuje
Z niej w latach '90 nauczyłem się asm na A500. Jest prawie to samo co w książce Adama Doligalskiego, ale bez AGA (parę stron) i bez grafiki wektorowej.

Ostatnia aktualizacja: 16.07.2018 22:35:20 przez flops
[#25] Re: ASEMBLER - Programowanie od podstaw

@flops, post #24

To ja ją z chęcią od Ciebie kupię.
[#26] Re: ASEMBLER - Programowanie od podstaw

@flops, post #24

Dziwne ale ja jakos nie widzialem zadnych ogloszen w Gieldzie o ksiazkach a zerkam dosc regularnie. Co najwyzej pojawiaja sie ogloszenia o sprzedazy amigowych czasopism ale w takiej cenie, ze nawet nie warto pytac. ok, racja
[#27] Re: ASEMBLER - Programowanie od podstaw

@selur, post #26

zerknij na 4 lipca...
[#28] Re: ASEMBLER - Programowanie od podstaw

@flops, post #24

Jakby ktoś był zainteresowany resztę książek do programowania MC68000 i Amigi wystawiłem na Alledrogo. Powodzenia!
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem