[#91] Re: Pierwsze kroki - Asembler 68000 - Pytania początkującego..

@Kefir_Union, post #90

Warto też dodać że jeśli mamy BSR, to oszczędzamy bajty na tablicy relokacji ( 6 bajtów dla jednego JSR).

Być może to nie jest dla początkującego ale myślę że warto to wiedzieć i mieć z tyłu głowy, zważywszy że plik wynikowy jest krótszy jeśli mamy BSR.

Warto zrobić sobie dwa bardzo proste przykładziki i porównać wielkości plików.
bsr data
    rts
data: rts

i
jsr data
    rts
data: rts


W pierwszym przypadku mamy 44 bajty a w drugim 68. Warto przeanalizować sobie jakimś hex edytorem co się zmieniło i jak. Warto też poczytać jak jest tworzony plik wynikowy na Ami.

Wydawać by się mogło że te 6 bajtów na jeden JSR to pikuś i nie należy się tym przejmować. I czasami tak jest, że nie warto, bo BSR ma swoje ograniczenia i trzeba by kod przynajmniej przeorganizować. Ale są takie sytuacje że na przykład brakuje nam miejsca na dyskietce i wtedy warto się nad tym pochylić, co oznacza dodatkową pracę.
Plusem są też korzyści o których pisali poprzednicy: szybszy kod, mniejszy kod, relokowalny kod.

Na koniec ciekawostka. W grze Vanderhaal kod źródłowy silnika to ponad 400kb (inna kwestia że powinien mieć drugie tyle, bo nie ma tam komentarzy). Po pierwszym udanym skompilowaniu (sformatowanie kodu) mam plik wynikowy 109544 bajtów. Asm-One pokazuje że kod ma 102000 bajtów a tablica relokacji 11238 bajtów. Na dyskietce silnik ma 73108 bajtów (plik binarny). Autorzy w sprytny sposób zaoszczędzili ponad 35kb.
2
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