[ASM] Kompilator na I8080/I8085
: sobota 30 lip 2022, 23:33
Kompilator asm dla I8080/I8085
Trochę na fali zainteresowania klasycznymi procesorami, trochę z powodu własnej potrzeby, powstało oprogramowania do tworzenia programów na klasyczne mikroprocesory. Moja historia zainteresowania mikroprocesorami jest prawie tak stara jak same mikroprocesory. W latach 80-tych XX wieku zaczęły przenikać do naszego kraju same układy. Na sławetnym volumenie dawało się nabyć układy szmuglowane z zagranicy. Do budowy komputerów oprócz układów niezbędne jest jeszcze oprogramowanie narzędziowe. Z tym było trochę gorzej, gdyż warto pamiętać, że era kompów PC dopiera wchodziła do naszego kraju i właściwie poza uczelnią nie dawało się korzystać z takiego wsparcia.
Skoro nie było kompów, to również nie było szmuglu samego oprogramowania. Pierwsze potyczki z prockami bazowały na ręcznym kompilowaniu programów. Ćwiczyło to w jakiś sposób pamięć, bo kody najczęściej stosowanych instrukcji były w małym paluszku. Później zaczęły pojawiać się sprzęty typu SPECTRUM. Było to już jakieś lepsze wsparcie.
Jednak ja podążyłem własną drogą i posiłkowałem się politechniczną oderką. Do tego kompa miałem nieograniczony dostęp więc szybko zacząłem tworzyć na oderce własne kompilatory. To rozwiązanie miało jedną wadę: zawartość pamięci EPROM trzeba było przeklepać z wydruku. Z czasem pojawiły się na polibudzie pierwsze PC-ty, więc nastąpił transfer technologii do nowego środowiska. Na oderce typowo stosowałem PASCAL, na PC-tach TURBOPASCAL, więc w większości przypadków dużych problemów nie było z przeprowadzką. Studencki kolega w ramach pracy dyplomowej popełnił kompiler PASCAL'a na Z80, który na oderce nawet działał, ale przeniesiony na PC-ta przestał. Program był duży, a TP w wersji 3 generowało pliki typu COM, więc trzeba było stosować triki z nakładkami, ale jak się okazało, to słabo działało.
No ale... wracając do asmów...
W tamtych czasach nie było internetu, więc takie informacje jak lista instrukcji czy kody instrukcji trzeba było jakoś zdobywać. Tak się jakoś fajnie złożyło, że miałem dostęp do takiej książki:
Dzisiaj to ją nawet ściągnąłem (bardziej chyba z sentymentu niż z rzeczywistej potrzeby). Była ona ogromnie pomocna, gdyż moim pierwszym prockiem jaki miałem w rękach był MC6800. Był taki ładny. Miał obudowę ceramiczną we filetowym kolorze ze złotym dekielkiem. Na jego temat to literatura w języku polskim nawet dzisiaj jest dosyć skromna (by nie powiedzieć, że praktycznie nie istnieje). Kompilator napisać to nie jest jakiś wielki problem, dostęp do rzetelnej wiedzy, to już jest problem. Więc lista instrukcji → książka Osborna.
Potem moje zainteresowania skupiły się nad czymś innym, więc stare kompilery (napisałem ich na kilka procków) poszły do archiwum, by po jakimś czasie ponownie znaleźć się o w obszarze zainteresowania. Wiadomo, technika się rozwija, toteż stary soft przeszedł poważną rewitalizację i dzisiaj uważam, że nada się do użytku.
Jako wsparcie poszukującym narzędzi do programowania mikroprocesora I8080/I8085 mogę zaproponować własne rozwiązanie. Jak wcześniej wspomniałem, powstało ono w dosyć zamierzchłych czasach, by ostatnio ponownie przeżyć swoje 5 minut. Jak zwykle, powstało z potrzeby chwili (tak jak teraz, gdyż od jakiegoś czasu chodzi mi po głowie pewna koncepcja uratowania przed śmiercią na śmietniku kilku procesorów, a przy okazji inni użytkownicy mają wsparcie).
Podstawowa wiedza dotycząca proca I8080 powinna być znana, ale pozwolę sobie napisać trochę na temat tego procka. To może dla niektórych być dosyć nowym doświadczeniem, dla innych spowodować swoistą podróż do tych niezwykłych czasów, gdy te procki były na topie. Postarajmy się pogrzebać we własnej głowie i wydobyć informacje na wierzch.
Trochę na fali zainteresowania klasycznymi procesorami, trochę z powodu własnej potrzeby, powstało oprogramowania do tworzenia programów na klasyczne mikroprocesory. Moja historia zainteresowania mikroprocesorami jest prawie tak stara jak same mikroprocesory. W latach 80-tych XX wieku zaczęły przenikać do naszego kraju same układy. Na sławetnym volumenie dawało się nabyć układy szmuglowane z zagranicy. Do budowy komputerów oprócz układów niezbędne jest jeszcze oprogramowanie narzędziowe. Z tym było trochę gorzej, gdyż warto pamiętać, że era kompów PC dopiera wchodziła do naszego kraju i właściwie poza uczelnią nie dawało się korzystać z takiego wsparcia.
Skoro nie było kompów, to również nie było szmuglu samego oprogramowania. Pierwsze potyczki z prockami bazowały na ręcznym kompilowaniu programów. Ćwiczyło to w jakiś sposób pamięć, bo kody najczęściej stosowanych instrukcji były w małym paluszku. Później zaczęły pojawiać się sprzęty typu SPECTRUM. Było to już jakieś lepsze wsparcie.
Jednak ja podążyłem własną drogą i posiłkowałem się politechniczną oderką. Do tego kompa miałem nieograniczony dostęp więc szybko zacząłem tworzyć na oderce własne kompilatory. To rozwiązanie miało jedną wadę: zawartość pamięci EPROM trzeba było przeklepać z wydruku. Z czasem pojawiły się na polibudzie pierwsze PC-ty, więc nastąpił transfer technologii do nowego środowiska. Na oderce typowo stosowałem PASCAL, na PC-tach TURBOPASCAL, więc w większości przypadków dużych problemów nie było z przeprowadzką. Studencki kolega w ramach pracy dyplomowej popełnił kompiler PASCAL'a na Z80, który na oderce nawet działał, ale przeniesiony na PC-ta przestał. Program był duży, a TP w wersji 3 generowało pliki typu COM, więc trzeba było stosować triki z nakładkami, ale jak się okazało, to słabo działało.
No ale... wracając do asmów...
W tamtych czasach nie było internetu, więc takie informacje jak lista instrukcji czy kody instrukcji trzeba było jakoś zdobywać. Tak się jakoś fajnie złożyło, że miałem dostęp do takiej książki:
Dzisiaj to ją nawet ściągnąłem (bardziej chyba z sentymentu niż z rzeczywistej potrzeby). Była ona ogromnie pomocna, gdyż moim pierwszym prockiem jaki miałem w rękach był MC6800. Był taki ładny. Miał obudowę ceramiczną we filetowym kolorze ze złotym dekielkiem. Na jego temat to literatura w języku polskim nawet dzisiaj jest dosyć skromna (by nie powiedzieć, że praktycznie nie istnieje). Kompilator napisać to nie jest jakiś wielki problem, dostęp do rzetelnej wiedzy, to już jest problem. Więc lista instrukcji → książka Osborna.
Potem moje zainteresowania skupiły się nad czymś innym, więc stare kompilery (napisałem ich na kilka procków) poszły do archiwum, by po jakimś czasie ponownie znaleźć się o w obszarze zainteresowania. Wiadomo, technika się rozwija, toteż stary soft przeszedł poważną rewitalizację i dzisiaj uważam, że nada się do użytku.
Jako wsparcie poszukującym narzędzi do programowania mikroprocesora I8080/I8085 mogę zaproponować własne rozwiązanie. Jak wcześniej wspomniałem, powstało ono w dosyć zamierzchłych czasach, by ostatnio ponownie przeżyć swoje 5 minut. Jak zwykle, powstało z potrzeby chwili (tak jak teraz, gdyż od jakiegoś czasu chodzi mi po głowie pewna koncepcja uratowania przed śmiercią na śmietniku kilku procesorów, a przy okazji inni użytkownicy mają wsparcie).
Podstawowa wiedza dotycząca proca I8080 powinna być znana, ale pozwolę sobie napisać trochę na temat tego procka. To może dla niektórych być dosyć nowym doświadczeniem, dla innych spowodować swoistą podróż do tych niezwykłych czasów, gdy te procki były na topie. Postarajmy się pogrzebać we własnej głowie i wydobyć informacje na wierzch.