home *** CD-ROM | disk | FTP | other *** search
/ Pokey's Magazine 3 / Pokeys_Magazine_03_1990_12___nl_Side_B.atr / crkurs2.txt < prev    next >
Text File  |  2023-02-26  |  8KB  |  1 lines

  1. ---¢¢¢¢¢¢¢¢      CODERUNNER NOVEMBER 1990¢¢Welkom bij de tweede aflevering van¢CODE RUNNER.¢Deze kursus gaat over MACHINETAAL en¢over BASIC.¢Machinetaal is de oorspronkelijke¢manier om computers te programmeren.¢Basic is nu eenmaal erg geschikt om¢dingen duidelijk te maken.¢¢Het is in deze kursus niet de bedoeling¢om alle in's en out's, van de computer,¢in een lange saaie inleiding te¢behandelen.¢Daarom wordt hierover steeds, waar¢nodig, een beetje informatie verstrekt.¢Lees daarom het stukje :¢'De computer van binnen.'¢Het kursusmateriaal bestaat verder uit¢de onderdelen :¢¢A) --------Praktijk-----------¢1) De praktijk in basic¢   (Een begin in basic.)¢2) De praktijk in machinetaal¢   (Een aansluitend begin in¢   machinetaal.)¢¢B) --------Omgeving-----------¢1) Assemblers en DOSsen¢   (Over de samenwerking van assemblers¢   met de verschillende DOS versies.)¢¢_______________________________________¢         De computer van binnen¢¢Een computer bestaat van binnen uit een¢groot aantal plekjes waarin getallen¢kunnen worden opgeborgen.¢We noemen dit het 'COMPUTERGEHEUGEN'.¢In feite bestaat dit geheugen uit een¢groot aantal schakelaartjes die aan en¢uit gezet kunnen worden. Net als het¢lichtknopje in de huiskamer.¢(Hoe dit precies in z'n werk gaat wordt¢in een van de volgende afleveringen¢behandeld.)¢Deze schakelaartjes noemen we BIT's.¢Acht van deze BIT's samen vormen een¢BYTE. Onze computer noem je een 8 bits¢computer.¢In zo'n BYTE kun je een getal opbergen¢tussen de 0 en 255 en deze bytes zijn¢genummerd.¢Je hebt dus byte 0, byte 710, byte 8000¢etc.¢Bij onze computer kunnen we zo'n byte¢ook aanduiden met het begrip 'ADRES' of¢met het begrip 'LOKATIE'.¢Een computer is dus in feite een grote¢straat met allemaal huisnummers waar in¢getallen wonen. ¢We kunnen die getallen uit de adressen¢halen en er andere weer instoppen.¢Hierdoor kun je de computer allerlei¢dingen laten doen.¢¢_______________________________________¢DE PRAKTIJK :¢¢Hoe begin je met BASIC ?¢ATARI BASIC is al aanwezig in de¢computer. Stop een DOS-schijf in de¢diskdrive en zet de computer aan zonder¢op de 'OPTION' funktietoets te drukken.¢Na het laden van DOS verschijnt het woord 'READY'¢Het is aan te bevelen om van af het begin met TURBO BASIC te werken. Dit kun je van diskette in de computer laden. ATARI BASIC programma's draaien ook in TURBO BASIC. Deze laatste taal loopt echter veel sneller en heeft een aantal extra's.¢CODERUNNER houdt wat betreft de machinetaalkursus rekening met de TURBO BASIC structuur.¢Met ATARI BASIC is de kursus ook goed te volgen.¢Volg als je een beetje op wilt schieten tevens de prima TURBO BASIC kursus van POKEY, elders op de disk. _______________________________________¢Hoe verander je de kleur van het beeldscherm ?¢¢Via het invoeren van een getal in het geheugen natuurlijk !¢¢Dat is wat de computer begrijpt !¢¢Basic kent hiervoor de opdracht 'POKE'.¢Daarmee stop je een getal op een bepaald adres in de computer.¢Simpeler en sneller kan het niet !¢Zo wil het dat als je een willekeurig getal tussen 0 en 255 in lokatie 710 stopt, je daarmee het beeldscherm van kleur verandert.¢Zo'n opdracht is dan POKE 710,0.¢( Het beeldscherm wordt dan zwart. )¢¢Om dit in basic te schrijven type je het liefst eerst een regelnummer en dan de opdracht.¢Het nut van die regelnummers wordt later behandeld.¢¢Bijvoorbeeld:¢¢10 POKE 710,0¢¢Druk daarna op de RETURN toets.¢Type dan RUN en druk op de RETURN toets.¢En zie floep, het beeldscherm wordt zwart.¢Probeer ook eens andere getallen in adres 710 te zetten.¢¢Basic heeft ook een prima symbolische opdracht voor het instellen van¢kleuren : SETCOLOR 2,0,0 of SE.2,0,0¢Dat verandert wel ergens een kleurtje.¢Maar je kunt deze opdracht gerust vergeten. Je hebt nu al een veel snellere methode geleerd.¢Een andere handige basic opdracht is :¢    PEEK¢Hiermee kun je een getal uit een computeradres lezen.¢Wanneer je typt :¢¢10 ? PEEK(710)¢Verschijnt, na het runnen, het getal van de huidige beeldschermkleur.¢¢De opdracht ' ? ' is daarbij een alternatief voor de opdracht PRINT. Deze opdracht drukt dingen af op het beeldscherm.¢Probeer eens de opdracht :¢10  ? "De inhoud van adres 710 : ";¢20  ? PEEK(710)¢¢Het bijgevoegde voorbeeldprogramma :¢CRXMPL2.BAS laat wat dingen zien die je met POKE, PEEK en PRINT kunt doen.¢¢Probeer er hier en daar eens wat in te veranderen.¢¢Je kunt je programma bewaren met de opdracht :¢SAVE"D:MIJNPROG.BAS"¢En weer in de computer halen met de opdracht :¢LOAD"D:MIJNPROG.BAS"¢¢_______________________________________¢MMMMMMMMMMMMMMMMMMMMM¢MACHINETAAL :¢_______________________________________¢¢Hoe verander je in machinetaal de kleur van het beeldscherm ????¢¢In machinetaal ligt het iets¢ingewikkelder. Maar niet veel !¢Het is in machinetaal niet mogelijk om een getal direkt in een bepaalde plaats van de computer te stoppen.¢Basic doet dat in feite ook niet, maar daar merk je niets van.¢Je moet in machinetaal, bijna, alles doen via een 'REGISTER'.¢Het centrale zenuwstelsel van de computer, de CPU, heeft drie van die registers.¢Deze registers zijn plekjes van de CPU om tijdelijk een getal te bewaren.¢Zo is er het A,X en Y register.¢Het A register noemen we de ACCUMULATOR.¢Om een getal in de accumulator te laden bestaat in een assembler de opdracht : ¢LDA¢(LoaDAccumulator )¢Om een getal van de accumulator op een bepaald adres te zetten bestaat de opdracht :¢STA¢( STore Accumulator ).¢Om het beeldscherm in machinetaal van kleur te veranderen geef je dan ook de volgende opdrachten :¢¢LDA #0¢STA 710¢¢Hiermee haal je dus het getal 0 in de accumulator en zet het vervolgens op plekje 710 in de computer.¢Deze opdrachten doen dus samen het zelfde als de basic opdracht POKE 710,0¢¢Het hekje¢        #¢voor de 0 bij LDA #0 geeft aan dat het 'direkt' gaat om het getal 0.¢Laat je het hekje weg dan bedoel je met de 0 :¢* Adres in de computer nummer 0. *¢LDA 0 is dus min of meer hetzelfde als de basic opdracht PEEK(0).¢¢LDA 0¢STA 710¢betekent dan ook :¢Haal een getal uit plekje 0 en stop het in plekje 710.¢¢Lokatie 20 van de computer, ofwel adres 20, is een eindeloze teller. Op deze plek telt de computer steeds van 0 tot 255 en begint dan weer bij 0.¢De opdrachten :¢LDA 20¢STA 710¢geeft het beeldscherm dan ook een willekeurige kleur.¢¢Bijgevoegd voorbeeld programma :¢CRXMPL2.SRC speelt hiermee.¢Laadt het in je assembler en probeer eens wat.¢¢*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*¢¢De kwestie van het STARTADRES¢¢In machinetaal moet je de computer vertellen waar jouw programma in de computer moet komen te staan.¢Basic doet dat al voor je.¢De computer moet namelijk weten waar hij moet beginnen met het lezen van opdrachten.¢¢In een assembler geef je het startadres van jouw programa aan d.m.v. een¢                *¢Je typt een regelnummer en dan de opdracht :¢10        *=1536¢( Denk er aan spaties te laten tussen het regelnummer en de opdracht, anders werkt de assembler niet goed. )¢¢De 'listing' wordt dan :¢10       *=1536¢20       LDA #0¢30       STA 710¢¢Zorg voor een geformatteerde floppie in je diskdrive en type :¢ASM,,#D:MIJNPROG.OBJ¢En berg het op met :¢SAVE#D:MIJNPROG.SRC¢Ga dan naar DOS¢Laadt je programma met de optie L¢en run het met de optie M¢( geef als startadres 600 op )¢¢_______________________________________¢¢          DE OMGEVING¢ASSEMBLERS en DOSsen.¢¢Vanuit de meeste DOSsen start de MAC65 niet op vanuit het adres 8000.¢Wel vanuit Superdos ¢Anders moet je het startadres 8800 gebruiken. Bijvoorbeeld bij DOS 2.5.¢Vanuit OSS start de MAC65 vanzelf op en heeft hier verder een ideale samenwerking mee. Jammer dat deze DOS geen ramdisk aanmaakt voor de 130 XE.¢Een extern programma voor het aanmaken van een ramdisk is bij ons hiertoe in de maak. Of dat lukt hoor je binnenkort.¢Het opstarten van de MAC65 werd in de vorige CODERUNNER al behandeld.¢¢Turbo-DOS heeft het nadeel dat het de MAC65 totaal de vernieling in helpt zodra er een wat langer programma¢( listing ) in staat. Jammer want het is verder een prima DOS, juist voor programmeurs.¢De ATARI-EDITOR ASSEMBLER werkt, zover bekend, wel prima met Turbo-DOS samen.¢¢¢_______________________________________¢¢Wanneer er ook na het doornemen van de bijgevoegde voorbeeldprogramma's iets onduidelijk mocht zijn :¢Wacht niet te schrijven naar POKEY t.a.v. CRPOST.¢Ook als je aanmerkingen hebt op de struktuur van het programma !¢Of andere opmerkingen of vragen !¢Schrijf !!!!¢¢Hopelijk tot de volgende keer !¢¢                      Jack de Bruijn.¢¢¢¢¢¢¢¢¢¢¢¢---¢