Asm-One. Opis rodziny - Helion
ISBN: 83-86718-61-7
stron: 272, Format: B5, okładka: miękka
Data wydania: 2011-09-14
Księgarnia: Helion
Cena książki: 22,50 zł
Od zarania dziejów Amigi dostępne były dla niej programy asemblujące. Wraz z Amigą 1000 na dyskietkach systemowych dostarczana była procedura pozwalająca na pisanie własnych programów w tym języku. Także firmy softwareówe tworzyły swoje asemblery będące alternatywą dla dość dobrych asemblerów public-domain. Jednak po kilku latach nastąpił wielki "boom" tego typu programów. Powstały wszak wszelkiego rodzaju ArgAsmy, Seki, PhxAsmy itd. Stało się tak wskutek aktywnej działalności tzw. sceny, której to niektórzy przedstawiciele czy to dla sławy, czy też bardziej dla własnej satysfakcji tworzyli programy asemblujące, jak np. Seka, niezastąpionego Budhy ze Spreadpointu, czy też obiekt zainteresowania tej książki, AsmOne autorstwa Rune Gram-Madsen (czyli Promaxa z grupy Kefrens). Był on prawdziwym przełomem, jeżeli chodzi o asemblery. Uzyskał niesamowitą wręcz popularność wśród ludzi piszących gry i programy demonstracyjne. Z czego to wynikało? Otóż pierwszą zaletą tego programu był niezwykle szybki edytor. Ale to nie wszystko. Asm-One posiadał znacznie więcej możliwości niż każdy tego typu program. Wbudowany debugger, monitor, szybka asemblacja kodu źródłowego i inne zalety stawiały go w ścisłej czołówce.
Nie ulega wątpliwości, że asemblery rodziny Asm-One są obecnie najbardziej rozpowszechnioną rodziną tego typu programów na Amigę. Niniejsza książka zawiera szczegółowy i kompletny opis wszystkich funkcji, zarówno od strony teoretycznej, jak i ich praktycznego wykorzystania. Nie jest to jednak suche zestawienie opcji, przedstawiono także działanie niemalże każdej funkcji tego programu, wraz z uwagami co do praktycznego ich wykorzystania.
Oprócz wyżej wymienionych zagadnień znajdziesz w książce szereg cennych informacji na temat samej teorii asemblacji, kompilacji i tworzenia programów.
Osoby które kupowały "Asm-One. Opis rodziny", wybierały także:
- Superinteligencja. Scenariusze, strategie, zagro 66,67 zł, (14,00 zł -79%)
- Poradnik design thinking - czyli jak wykorzysta 48,28 zł, (14,00 zł -71%)
- Kosymulacja. Elastyczne projektowanie i symulacja wielodomenowa 38,39 zł, (11,90 zł -69%)
- F# 4.0 dla zaawansowanych. Wydanie IV 96,45 zł, (29,90 zł -69%)
- Systemy reaktywne. Wzorce projektowe i ich stosowanie 65,31 zł, (20,90 zł -68%)
Spis treści
Asm-One. Opis rodziny -- spis treści
Od Autora
Wstęp
Rozdział 1. Historia
Rozdział 2. Asembler
- Podstawowe elementy języka
- Zbiór znaków alfabetu
- Stałe
- SÅ‚owa kluczowe
- Nazwy symboliczne
- Składnia wiersza programu
- Proces asemblacji
- Analiza leksykalna
- Analiza składniowa, przebiegowość
- Generacja kodu maszynowego
- Uruchamianie programu
- Relokacja
- Wyższa szkoła jazdy, czyli linkowanie
Rozdział 3. Tworzenie środowiska pracy
- Wybór asemblera
- Instalacja programu
- Wymagane pliki
- Instalacja na twardym dysku
- Uwagi na temat pracy z twardym dyskiem
- Instalacja na dyskietkach
- Przygotowanie dyskietek
Rozdział 4. Pierwsze kroki
- Uruchamianie asemblera
- Parametry CLI
- Wybór pamięci
- Krótka charakterystyka modułów AsmOne
- Linia poleceń
- Edytor
- Debuger
- Monitor
- Komunikacja z programem
- Menu programu AsmOne 1.29
- Linia poleceń
- Edytor
- Monitor
- Debuger
- Menu programu AsmOne 1.29
- Pierwszy program
Rozdział 5. Edytor
- Wstęp
- Omówienie zagadnień edycji tekstu
- Jak "wyglÄ…da" tekst w komputerze?
- Edytory
- Kursor
- Podstawy posługiwania się edytorem
- Obszar edycji tekstu
- Górna listwa ekranu
- Linia statusowa
- Sterowanie kursorem i przesuwanie obszaru edycji tekstu
- Wyszukiwanie i zamiana ciągu znaków
- Search
- Replace
- Forward
- Zapamiętywanie i odtwarzanie pozycji kursora w tekście
- Skok do określonych miejsc w tekście
- Operowanie blokami tekstu
- Kopiowanie i wycinanie bloku tekstu do bufora
- Wycinanie linii tekstu i wstawianie jej do bufora
- Wstawianie tekstu z bufora do edytora
- Zamiana liter
- Odwracanie bloku tekstu
- Tworzenie i usuwanie bloku komentarzy
- Określanie rejestrów znajdujących się w użyciu
- Nagrywanie bloku tekstu
- Tworzenie makrorozkazów
- Uwagi dotyczÄ…ce definiowania makr
- Niebezpieczeństwa stosowania makr
- Konfigurowanie edytora
- Definiowanie tabulacji
- Tryb Multiple Sources (Multiple Source)
- Wykorzystanie
- Charakterystyka trybu w AsmOne
- Charakterystyka trybu w TrashMOne
Rozdział 6. Makro Asembler
- Podstawy
- Asemblacja kodu źródłowego
- Flagi modułu asemblującego
- Program - kod źródłowy
- Pole etykiety
- Etykiety lokalne
- Globalny dostęp do etykiet lokalnych - AsmOne (A1.25)
- Globalny dostęp do etykiet lokalnych TrashMOne (T1.4/2.0)
- Pole Dyrektywy/Instrukcji
- Rozmiary danych
- Pole operandu
- Pole komentarza
- Asemblacja kodu źródłowego
- Wyrażenia
- Operatory
- Stałe i wartości logiczne
- Uwagi przy konstruowaniu wyrażeń z liczbami całkowitymi
- Uwagi przy konstruowaniu wyrażeń z liczbami rzeczywistymi
- Wartości liczbowe
- Wartości absolutne
- Wartości względne
- Liczby
- Dyrektywy
- Dyrektywy kontroli asemblacji
- SECTION PoczÄ…tek sekcji programu
- RORG Relatywny adres startu programu
- ORG Absolutny adres startu programu
- LOAD Załaduj kod pod adres absolutny
- OFFSET Definiowanie przesunięcia (offsetu)
- ENDOFF Zamknięcie bloku OFFSET
- END Zakończenie programu
- BASEREG Ustawia rejestr bazowy
- ENDB Anuluje rejestr bazowy (A1.09)
- Definiowanie danych
- DC Definiuje stałą
- DCB Definiuje blok stałych
- DS Definicja wolnej przestrzeni na dane
- BLK Blok danych
- DR Definiowanie relatywnej wartości
- Definiowanie jako danych liczb rzeczywistych (A1.20)
- TEXT Definicja bloku danych tekstowych
- ETEXT Zamknięcie bloku danych tekstowych
- ENDTEXT Zamknięcie bloku danych tekstowych
- INCIFF Dołącz i rozpakuj dane graficzne w formacie IFF
- INCIFFP Dołącz paletę danych graficznych w formacie IFF
- Dyrektywy definiujÄ…ce symbole
- EQU Przypisz stałą wartość do symbolu
- SET Ustaw wartość zmiennej tymczasowej
- EQUR Przypisz etykiecie rejestr
- REG Przypisz etykiecie listę rejestrów
- RS Przypisuje etykiecie wartość relatywną
- RSRESET Przywróć pierwotny stan licznika RS
- RSSET Ustaw licznik RS na względne przesunięcie
- Wielokrotna asemblacja fragmentu kodu źródłowego
- REPT PoczÄ…tek powtarzalnego kodu
- ENDR Zakończenie powtarzalnego kodu
- Wyrównywanie licznika asemblacji
- CNOP Warunkowe NOP w przyległym słowie lub długim słowie
- EVEN Wyrównaj do najbliższego parzystego adresu
- ODD Wyrównaj do najbliższego nieparzystego adresu
- Asemblacja warunkowa
- Ogólny opis dyrektyw IF(cc)
- IF Asembluj, gdy logiczna PRAWDA
- IFC Asembluj, gdy łańcuchy są identyczne
- IFNC Asembluj, gdy łańcuchy nie są identyczne
- IFD Asembluj, gdy dany symbol jest zdefiniowany
- IFND Asembluj, gdy dany symbol nie został zdefiniowany
- IFB Asembluj, gdy symbol jest niezainicjalizowany
- IFNB Asembluj, gdy symbol jest zainicjalizowany
- IF1 Asembluj tylko w pierwszej fazie asemblacji (Pass1)
- IF2 Asembluj tylko w drugiej fazie asemblacji (Pass2)
- ELSE Kod alternatywny, gdy warunek nie został spełniony
- ENDC Kończy blok warunkowy IF
- Kontrola wyjścia znakowego
- Pojęcie wyjścia znakowego
- PAGE Rozpocznij nowÄ… stronÄ™ w pliku listowym
- NOPAGE Wyłącz numerowanie stron w pliku listowym
- LIST Aktywuj listowanie
- NOLIST (NOL) Zakończ listowanie
- LLEN Ustaw długość linii
- PLEN Ustaw ilość wierszy w stronie
- SPC Generuj puste linie
- TTL Wstawia tytuł programu
- FAIL Generuj błąd asemblacji
- PRINTT Wydrukuj łańcuch tekstowy na ekranie
- PRINTV Wydrukuj wartość na ekranie
- Symbole zewnętrzne
- XDEF Zewnętrzna definicja
- XREF Zewnętrzna referencja
- Dyrektywy różne
- JUMPERR Ustaw adres procedury obsługi błędu
- JUMPPTR Ustaw adres startu programu
- INCBIN Dołącz plik binarny
- INCLUDE Dołącz plik źródłowy podczas asemblacji
- INCDIR Ustawienie ścieżki dla inkludów
- >EXTERN Dołącz plik danych
- IDNT Ustaw nazwÄ™ programu
- AUTO Automatyczne wykonywanie rozkazów linii poleceń
- INCSRC Dołącz kod źródłowy
- FILESIZE Pobierz długość pliku
- REM Rozpoczęcie bloku komentarza (A1.15)
- ENDREM Zamknięcie bloku komentarza (A1.15)
- EREM Zamknięcie bloku komentarza (A1.15)
- ADDWATCH Instaluj w debugerze punkt śledzenia (A1.20)
- Symbol specjalny *
- Makrorozkazy
- Usuwanie błędów w makrorozkazach
- Zestawienie dyrektyw zwiÄ…zanych z makrodefinicjami
- Dyrektywy kontroli asemblacji
Rozdział 7. Linia poleceń
- Komunikacja z dyskiem w linii poleceń
- Komendy linii poleceń
- =P Podaj informacje o projekcie (A1.29)
- A Asembluj kod źródłowy
- AC Sprawdź poprawność asemblacji (A1.29)
- AD Asembluj kod źródłowy i uruchom wewnętrzny debuger
- AO Asembluj kod źródłowy jednocześnie dokonując optymalizacji kodu.
- AS Aktywuj kod źródłowy (A1.25)
- B Skocz do końca pliku źródłowego
- BS Symuluj działanie bootblocku
- C Kopiuj pamięć
- CC Oblicza sumÄ™ kontrolnÄ… bloku startowego dyskietki (bootblocku)
- CD Utwórz katalog (A1.05)
- CS Stwórz tablicę funkcji sinus w pamięci (A 1.05)
- CCS Utwórz tablicę funkcji sinus w kodzie źródłowym (A 1.05)
- D Deasemblacja pamięci
- E Załaduj dane zewnętrzne
- EL Rozszerz nazwy etykiet w kodzie źródłowym
- F Wypełnij pamięć
- G Idź (uruchom program)
- H Przejdź do monitora i wyświetl zawartość pamięci w postaci heksadecymalnej
- I Wstaw plik do kodu źródłowego w edytorze
- IB Umieść dane binarne w kodzie źródłowym w edytorze (A1.09)
- ID Umieść zdeasemblowany kod w kodzie źródłowym w edytorze
- IH Umieść dane heksadecymalne w kodzie źródłowym w edytorze
- IN Umieść dane ASCII w kodzie źródłowym
- J Skocz i wykonaj program
- K Wykonaj krok
- L Umieść kursor na pozycji
- M Bezpośrednia edycja pamięci
- N Edytuj pamięć jako kody ASCII
- O Przywróć usunięty kod źródłowy
- P Drukuj liniÄ™
- PS Ustaw parametry uruchamiania programu (A1.09)
- Q Porównaj pamięć
- R Doczytaj kod źródłowy do edytora
- RB Doczytaj plik binarny
- RE Wczytaj projekt - Read-Enviornment (A1.29)
- RO Doczytaj plik wykonywalny (typu object)
- RS Wczytaj sektor(y)
- RT Wczytaj ścieżki
- S Przeszukuj pamięć
- T Ustaw kursor w edytorze na początku kodu źródłowego
- U Uaktualnij kod źródłowy
- UA Uaktualnij projekt (A1.29)
- V Katalog
- W Nagraj kod źródłowy
- WB Nagraj plik binarny
- WE Zachowaj projekt - Write-Enviornment (A1.29)
- WL Nagraj plik linkowalny
- WO Nagraj plik wykonywalny
- WP Nagraj preferencje programu do katalogu S:
- WS Nagraj sektor(y) na dysk
- WT Nagraj ścieżki na dysk
- X Pokaż/zmień status rejestrów
- Y Wykonaj program Amiga Dos-u
- ZA Zwolnij pamięć zarezerwowaną przez Auto-Alloc (A1.29)
- ZB Usuń wszystkie pułapki
- ZI Usuń pamięć inkludów
- ZF Usuń plik (A1.05)
- ZL Usuń linię
- ZS Usuń kod źródłowy
- Komendy @ID, @IH, @IN, @D, @A, @H, @N
- Komenda @B
- # Podaj informacje o programie (A1.29)
- = Podaj informacje o aktualnie zasemblowanym programie
- =A Podaj rozmiary i położenie sekcji w pamięci
- =C Ustaw paletę kolorów ekranu (A 1.08)
- =M Dodaj pamięć dla obszaru roboczego
- =S Pokaż symbole
- ! Opuść program/Ustaw rozszerzenie nazwy kodu źródłowego (A1.06)
- !! Szybkie wyjście - Quick exit (A1.25)
- > Ustaw wyjście na
- ? Oblicz w arytmetyce całkowitoliczbowej
- [ Oblicz w arytmetyce zmiennoprzecinkowej (A1.20) (FPU)
Rozdział 8. Debuger
- Jak działa debuger?
- Uruchomienie debugera
- Ekran debugera
- Kontrola działania programu
- Funkcja Step One
- Funkcja Enter
- Funkcja Step N
- Funkcja Skip instruction
- Funkcja Run untill here
- Funkcja Animate
- Funkcja Jump
- Funkcja Jump Mark
- Uruchamianie debugowanego programu
- Funkcja Run
- Pułapki i ich wykorzystanie
- Zastawianie pułapek
- Funkcja B.P. Mark
- Funkcja B.P. Addr
- Usuwanie pułapek - funkcja Zapp all B.P.
- Warunkowe pułapki (A1.28)
- Funkcja B.P. Condition
- Funkcja Zap Con B.P'S
- Zastawianie pułapek
- Sprawdzanie zmian w pamięci
- Funkcja AddWatch - Dodanie punktu śledzenia
- Funkcja DelWatch
- Funkcja ZapWatch
- Funkcja Edit Regs
- Funkcja Change Dx/FPx
- Debugowanie programów - ogólne omówienie
Rozdział 9. Monitor
- Tryby pracy monitora
- Przejście do monitora
- Pośredni dostęp do pamięci (A1.16)
- Ogólna organizacja ekranu w monitorze
- Obszar edycji w trybie deasemblacji
- Obszar edycji i edycja w trybie znakowym
- Obszar edycji i edycja w trybie heksadecymalnym
- Obszar edycji i edycja w trybie binarnym
- Listwa statusowa
- Kontrola edytowanego obszaru pamięci
- Przejście w tryb monitora pod określony adres
- Funkcja Jump Addr
- Funkcja Last Addr
- Funkcje Mark i Jump
- Funkcja Quick Jump
- Tryb deasemblacji
- Tryb heksadecymalny, binarny i ASCII
- Edycja kodu maszynowego
- Nagrywanie fragmentów pamięci
- Funkcja Set Start
- Funkcja Set End
- Funkcja Save Bin
- Kilka słów na temat deasemblacji
Rozdział 10. Komendy - menu Command
- Komendy edytora - podmenu Editor
- Komenda Top (T)
- Komenda Bottom (B)
- Komenda Search (L)
- Komenda Zap Line (ZL)
- Komenda PrintLine (P)
- Komendy manipulujące pamięcią - podmenu Memory
- Komenda Edit (M)
- Komenda DisAssem (D)
- Komenda HexDump (H)
- Komenda Ascii (N)
- Komenda DisLine (@D)
- Komenda Assemble (@A)
- Komenda HexLine (@H)
- Komenda AsciiLine (@N)
- Komenda Search (S)
- Komenda Fill (F)
- Komenda Copy (C)
- Komenda Compare (Q)
- Komendy wprowadzające dane do kodu źródłowego - podmenu Insert
- Komenda DisAssem
- Komenda HexDump
- Komenda Ascii
- Podmenu Assemble
- Komenda Assemble (A)
- Komenda Memory (@A)
- Komenda Optimize (AO)
- Komenda Debug (AD)
- Komenda Symbols (=S)
- Podmenu Monitor
- Komenda Jump (J)
- Komenda Go (G)
- Komenda Step (K)
- Komenda Status (X)
- Komenda Zap BPS (ZB)
- Podmenu Disk
- Komenda Read Sector (RS)
- Komenda Read Track (RT)
- Komenda Write Sector (WS)
- Komenda Write Track (WT)
- Komenda CalcCheck (CC)
- Extern (E)
- Output (>)
- Calculate (?)
Rozdział 11. Praktyczne wykorzystanie możliwości programu
- Tworzenie bibliotek systemowych
- Wymagania i instalacja
- Opis użycia
- Plik library.i
- Plik example.library
- Omówienie zasady działania
- Różne inne zastosowania programu
- AsmOne jako edytor dyskowy
- AsmOne jako kreator sampli syntetycznych
Rozdział 12. Projekty
- Sekcja
- Programy, a system operacyjny - hunki
- Powiązania między sekcjami a hunkami
- Jak system operacyjny ładuje program do pamięci?
- Pliki linkowalne i wykonywalne
- AsmOne i proces linkowania
- Przykład linkowania
Rozdział 13. Preferencje i konfiguracja środowiska pracy
- Preferencje programiu AsmOne
- Menu Environment
- General Parameters
- ReqTools Library
- Save Marks
- Source .asm
- Update check
- Printer Dump
- Resident Registers
- Close Workbench
- One Bitplane
- WB to front
- Safety
- Parameters
- Keep X
- Monitor/Debuger
- ASCII Only
- Disassembly
- Show Source
- Enable/Permit
- Libcalls dec
- RealTime Deb
- Editor
- Auto Indent
- Extended Reqtools
- Line Numbers
- CTRL up/down
- Pozostałe opcje
- Select new screen mode
- Default Dir
- Boot Up
- Source Extension
- General Parameters
- Menu Assembler
- Typ procesora
- Rescue
- Level 7
- NumLock
- Auto Alloc
- Debug
- List File
- Paging
- Halt File
- All Errors
- Progress Indicator
- Progress by Line
- DS Clear
- Label:
- UCase = LCase
- ; Comment
- FPU Present
- 68020++ Odd data
- 68851 Present
- Gadżet Save
- Gadżet Use
- Gadżet Cancel
- Preferencje programiu TrashMOne (2.0)
- Assembler
- Execution
- Editor
- Debuger
- Write Source
- AutoBACK
- Save Marks
- Screen/Color
- Change ScreenMode
- Paleta kolorów
- Reqtools lib...
- Extensions
- Binary
- Link
- Object
- Source
- Project
Rozdział 14. AsmOne a system operacyjny
- Wstęp
- Multitasking
- Przestrzeń adresowa
- Szyna 24- i 32-bitowa
- Szyna 32-bitowa
- Ograniczenia edycji i przeglądania pamięci
- Umiejscowienie pisanych programów w systemie
- Przerwania i stany wyjÄ…tkowe
- Wyjście z uruchomionego programu
Dodatek A. Różnice pomiędzy wersjami asemblerów
- 1.02 kontra 1.01
- Edytor
- Assembler
- Deasembler
- Debuger
- 1.05 kontra 1.02
- Linia poleceń
- 1.06 kontra 1.05
- Przegląd całości
- Raporty błędów
- Asembler
- Komentarze
- 1.07 kontra 1.06
- Raporty błędów
- Asembler INCBIN / INCLUDE
- Przegląd całości
- 1.07b kontra 1.07
- Przegląd całości
- 1.08 kontra 1.06 (a/b)
- Asembler ALIGN
- Przegląd całości
- Nowości
- 1.08b kontra 1.08
- Przegląd całości
- 1.09 kontra 1.08b
- Asembler
- Przegląd całości
- Edytor
- 1.15 kontra 1.09
- Linia poleceń
- Monitor
- Edytor
- Asembler
- Debuger/Deasembler
- Przy debugowaniu i deasemblacji w linii poleceń
- W deasemblacji pełnoekranowej (D)
- Podczas dołączania deasemblowanego kodu (ID)
- 1.16 kontra 1.15
- Przegląd całości
- Linia poleceń
- Asembler
- Debuger
- 1.20 kontra 1.16
- Edytor
- Monitor
- Przegląd całości
- Asembler
- Debuger
- Deasemblacja
- Linia poleceń
- 1.25 kontra 1.20
- Przegląd całości
- Edytor
- Asembler
- Deasembler/Debuger
- Linia poleceń
- 1.29 kontra 1.25
- Przegląd całości
- Asembler
- Linia poleceń
- Deasembler
- Edytor
- Debuger
Dodatek B. Zestawienie zmian w TrashMOne
- Preferencje
- Modyfikacje starych dyrektyw asemblera
- Nowe dyrektywy asemblera
- Zewnętrzne asemblery
- Nowe funkcje linii poleceń
- Modyfikacje starych funkcji linii poleceń
- Nowe funkcje w edytorze
- Nowe funkcje w monitorze
- Nowe funkcje w debugerze
- Błędy w programie i zmiany
Dodatek C. Zestawienie funkcji programu i przypisanych im kombinacji klawiszy
- Edytor
- Asembler
- Debuger
- Monitor
Dodatek D. Zestawienie komunikatów błędów
Dodatek E. Tabela kodów ASCII
Dodatek F. Jak pisać programy?
Skorowidz