Assemblerowe procedurki – wsparcie dla każdego Basica
atari8.eu - czas na zabawę!
Opublikowano w przez Atari Fan
Assemblerowe procedurki – wsparcie dla każdego Basica
W zdecydowanej większości interpreterów języka Basic brakuje pewnych poleceń ułatwiających wykonywanie skomplikowanych lub czasochłonnych operacji. Niektóre implementacje posiadają odpowiednie funkcje inne nie. Prym wśród nich wiedzie oczywiście Turbo Basic XL, który posiada sporo dodatkowych poleceń i wykonuje je dosyć szybko. Zdarzy się jednak, że program pomimo użycia słów kluczowych zadanie wykonuje zbyt wolno albo wręcz niemożliwym jest wykonanie go w danym dialekcie.
Z pomocą mogą przyjść tzw. wstawki assemblerowe. Są to podprogramy napisane w języku maszynowym, które wykonują się pełną prędkością działania komputera. Języki Basic posiadają możliwość wywołania takiego podprogramu i służy do tego funkcja USR(adres), która przekazuje dalsze wykonywanie kodu do podprogramu umieszczonego pod wskazanym w USR adresem. Żeby podprogram maszynowy powrócił grzecznie do Basic-a musi zostać zakończony rozkazem powrotu – RTS. Z poziomu Basica można przekazać do podprogramu pewne parametry. Realizuje się to na dwa sposoby: umieszczając parametry w określonych komórkach pamięci lub przekazując te parametry w poleceniu USR, np. USR(1536,PARAM1, PARM2,PARAM3). Sposób użycia zależy od inwencji programisty, nie ma tutaj jasnej recepty, sposób drugi na pewno będzie bardziej czytelny w listingu Basic, pierwszy umożliwi np. zmianę na żywo parametrów działającej w tle procedurki wykorzystującej przerwania.
Wczytując się w bogatą lekturę czasopism i książek dotyczących programowania można trafić na wiele ciekawych i przydatnych procedur assemblerowych, które można wykorzystać we własnych programach. Poniżej będzie znajdować się lista znalezionych procedur, wraz z krótkim opisem użycia.