![]() |
|
Start | Super Packer | Atari Graphics Studio | Graph2Font | Mads | MadPascal | YouTube | http://madteam.atari8.info |
Murzyn
Syzygy #1
Na samym początku tego artykułu pragnę powiedzieć, że nie będzie w tym cyklu nauki assemblera od podstaw. Jeśli ktoś chce się go nauczyć niech sięgnie np. po "Tajemnice ATARI", lub inną literaturę tego typu. Nie będzie także skomplikowanych procedur wykonujących zniewalające efekty. Będą natomiast proste procedurki (=krótkie), które można zwięźle nazwać trickami. Wszystkie procedury drukowane w tym cyklu będą oczywiście w QUICKU, ale na pewno każdy programujący w innym assemblerze będzie mógł bez problemu przełożyć je na posiadany przez siebie assembler.
chact equ $02F3 start equ $0700 klawisz equ 764 nic equ #255 bit2 equ %00000100 Teraz trochę wyjaśnień. Znaczenia etykiety CHACT nie trzeba chyba wyjaśniać. Etykieta START to rejestr zawierający początkowy adres DOS'u w pamięci. Etykieta KLAWISZ to oczywiście rejestr zawierający kod ostatnio naciśniętego klawisza. Etykieta NIC to zwyczjna liczba dziesiętna. Etykieta BIT2 po załadowaniu do komórki CHACT ustawi nam drugi bit tego bajtu, a tym sposobem spowoduje odwrócenie wszystkich znaków. A więc zacznijmy nasz program. org $0600 Kolejna ważna sprawa, a mianowicie umieszczenie programu w pamięci. W tym przypadku na szóstej stronie pamięci. Teraz obróćmy znaki: main lda bit2 sta chact Dzieje się tak po ustawieniu bitu drugiego komórki CHACT. Teraz trzeba poczekać na naciśnięcie dowolnego klawisza. czekaj lda klawisz cmp nic beq czekaj Pozostaje tylko powrócić do DOS'u wykonując skok na adres $0700: jmp start Po powrocie do DOS'u ekran pozostanie odwrócony (i o to nam chodziło). Można temu zaradzić ładując liczbę 0 do komórki 755 ($02F3), ale trzeba pamiętać, że musi to być przed skokiem do $700. Na koniec trzeba podać DOS'owi adres i miejsce, od którego ma uruchomić naszą procedurę. A robi się to tak: run main Oczywiście każdy program powinien kończyć się rozkazem END, aby assembler wiedział kiedy zakończyć assemblację. end of nasz programik
Po uruchomieniu w/w programiku obraz powinien się odwrócić, a po naciśnięciu klawisza powinien powrócić do DOS'u. MURZYN |