×ORK ÔOOL ÂEFEHLSERWEITERUNG F½R DEN Ã64 ÚW¼LF ZUS»TZLICHE ÂEFEHLE ERLEICHTERN DAS ÐROGRAMMIEREN IN ÂÁÓÉÃ. ÓIE SIND AUSSCHLIE¾LICH IM ÄIREKTMODUS ZU VERWENDEN. ÚEILEN NEU NUMERIEREN, ÉNHALTSVERZEICHNIS ANSEHEN, ÍERGEN, ÐROGRAMMTEILE SPEICHERN, ABSOLUT LADEN UND SPEICHERN, DAS ÓUCHEN BESTIMMTER ÂEFEHLE SOWIE DIE ͼGLICHKEIT, EIN VERSEHENTLICH MIT ÎÅ× GEL¼SCHTES ÐROGRAMM ZU RESTAURIEREN, SIND ÏPTIONEN, DIE MAN BEIM ÂÁÓÉà DES Ã64 VERMI¾T, DIE DIE ÂEDIENUNG JEDOCH SP½RBAR ERLEICHTERN. ÄAS ÐROGRAMM ×ORK ÔOOL BESTEHT AUS DREI ÔEILEN, EINEM ÌADEPROGRAMM ×ÔÏÏÌ.ÌÁÄÅÒ, DAS DIE ÆILES ×.ÔÏÏÌ.Ï UND ×ÏÒË ÔÏÏÌ ABSOLUT NACHL»DT. ÄAS EIGENTLICHE ÐROGRAMM ×.ÔÏÏÌ.Ï BELEGT DEN ÓPEICHERPLATZ VON $Ã8Æ5 BIS $ÃÆÆÆ (51445 BIS 53247). ÄAS SELBSTSTARTENDE ÐROGRAMM ×ÏÒË ÔÏÏÌ STELLT DIE ÉNTERRUPTVEKTOREN UM UND L»DT ZUS»TZLICH NOCHMALS ×.ÔÏÏÌ.Ï NACH, DA DER ÐROGRAMMAUTOR ES ALS ÌADEPROGRAMM VORGESEHEN HATTE, OHNE ZU BER½CKSICHTIGEN, DA¾ LETZTERES BEREITS GELADEN SEIN MU¾, WENN ×ÏÒË ÔÏÏÌ NICHT ABST½RZEN SOLL. ÓIE STARTEN DAS ÐROGRAMM GANZ NORMAL AUS DEM ÄISK-ÍEN½ DURCH ÁNWAHL VON ×ÏÒË ÔÏÏÌ ODER, WENN ÓIE NICHT ½BER DAS ÄISK-ÍEN½ AUSW»HLEN, DURCH ÌADEN UND ÓTARTEN VON ×ÔÏÏÌ.ÌÁÄÅÒ. ÁUSGESCHALTET WERDEN KANN ×ÏÒË ÔÏÏÌ NUR DURCH EINEN ×ARMSTART, BEI DEM DIE ÖEKTOREN WIEDER NEU INITIALISIERT WERDEN (ETWA ÓÙÓ 64760). ÄABEI WIRD ALLERDINGS AUCH EIN IM ÓPEICHER VORHANDENES ÐROGRAMM GEL¼SCHT. ÁU¾ERDEM BEFINDET SICH AUF DER ÄISKETTE NOCH EINE WEITERE ÁNLEITUNG ZU ×ÏÒË ÔÏÏÌ MIT DEM ÎAMEN "×ÅÒËÚÅÕÇÉÎÓÔÒÕÃÔ". ÄIE ÂEFEHLE WURDEN DURCH ÖERLEGEN DES ÉÒÑ-, ÂEFEHLS- UND ÆUNKTIONSVEKTORS EINGEF½GT. ×ILL MAN WEITERE ÂEFEHLE INTEGRIEREN, M½SSEN DIE ÖEKTOREN AUSGELESEN UND AUF DIE NEUE ÒOUTINE GELEGT WERDEN. ÄANACH ERFOLGT DER Ò½CKSPRUNG ZU DEN AUSGELESENEN ÁDRESSEN. ÂEI DEN ÄISKETTENOPERATIONEN WIRD NACH ÄURCHF½HRUNG DES ÂEFEHLS AUTOMATISCH DER ÆEHLERKANAL AUSGELESEN. ÁNSONSTEN WURDE AUF DIE VON ÂÁÓÉà HER BEKANNTE ÆEHLERMELDUNGEN ZUR½CKGEGRIFFEN. ÄIE ÂEFEHLE: !ÌÉÓÔ LISTET DAS ÉNHALTSVERZEICHNIS EINER ÄISKETTE, OHNE DAS ÐROGRAMM IM ÓPEICHER ZU L¼SCHEN. ÄIE ÌIST-ÇESCHWINDIGKEIT IST WIE BEIM NORMALEN ÌISTEN DURCH ÄR½CKEN DER ÃÔÒÌ-ÔASTE REGULIERBAR, ANALOG L»¾T SICH DAS ÌISTEN AUCH DURCH ÄR½CKEN DER ÓÔÏÐ-ÔASTE UNTERBRECHEN. !ÃÍÄ "ÂÅÆÅÈÌ" SENDET ALLE ÄISKETTENLAUFWERKS-ÂEFEHLE. ÅS IST ZUM ÂEISPIEL M¼GLICH, MIT !ÃÍÄ "Ó0:ÐÒÏÇÒÁÍÍÎÁÍÅ" EIN ÆILE ZU L¼SCHEN ODER MIT !ÃÍÄ "Ò0:ÎÁÍÅÎÅÕ=ÎÁÍÅÁÌÔ" EIN ÆILE UMZUBENENNEN. !ÒÅÁÄ LIEST DEN ÆEHLERKANAL DES ÄISKETTENLAUFWERKS AUS. ÎACH ÅINSCHALTEN DES ÌAUFWERKS MELDET !ÒÅÁÄ ZUM ÂEISPIEL "73,ÃÂÍ ÄÏÓ Ö2.6 1541,00,00". !ÌÏÁÄ "ÎÁÍÅ" (,GA) L»DT EIN ÐROGRAMM UND VERBINDET ES MIT DEM IM ÓPEICHER VORHANDENEN. ÄIESER ÂEFEHL IST NORMALERWEISE UNTER DEM ÎAMEN "ÍERGE" BEKANNT. ÅR KANN SEHR N½TZLICH SEIN, WENN ÓIE MODULWEISE PROGRAMMIEREN UND DIE EINZELNEN ÐROGRAMMTEILE ODER ÒOUTINEN SEPARAT ABSPEICHERN. ÄURCH !ÌÏÁÄ K¼NNEN ÓIE NUN ALLE ÍODULE NACHEINANDER LADEN, SIE WERDEN ZU EINEM GRO¾EN ÐROGRAMM VERKN½PFT. ÁCHTUNG: ÄIE ÚEILENNUMMERN DES NACHZULADENDEN ÐROGRAMMS M½SSEN H¼HER SEIN ALS DIE DES ÐROGRAMMS IM ÓPEICHER, DA SICH SONST DER ÉNTERPRETER NICHT MEHR ZURECHTFINDET. "GA" GIBT DIE ÇER»TEADRESSE AN: NORMALERWEISE 8 F½R ÄISKETTENLAUFWERK UND 1 F½R ÄATASETTE. ÂEI ÂENUTZUNG DER ÄATASETTE KANN DIE ÇER»TEADRESSE AUCH ENTFALLEN. !ÓÁÖÅ Z1,Z2,"ÎÁÍÅ",(GA) SPEICHERT DIE ÚEILEN EINES ÂÁÓÉÃ-ÐROGRAMMS VON ÚEILE Z1 BIS ÚEILE Z2 (EINSCHLIE¾LICH); BESONDERS IM ÈINBLICK AUF DEN !ÌÏÁÄ-ÂEFEHL EINE SEHR GUTE ÓACHE. ÁBER AUCH BEIM ÁUFBAU EINER ÂÁÓÉÃ-ÒOUTINEN-ÓAMMLUNG KANN SICH DIESER ÂEFEHL BEW»HREN. ÝBRIGENS: Z1 MU¾ KLEINER ODER GLEICH Z2 SEIN, SONST GIBT ES EINEN ?ÓÙÎÔÁØ ÅÒÒÏÒ, EXISTIERT EINE DER BEIDEN ÚEILEN NICHT, EINEN ?ÕÎÄÅÆ'Ä ÓÔÁÔÅÍÅÎÔ ÅÒÒÏÒ. ƽR GA GILT DASSELBE WIE F½R !ÌÏÁÄ. !ÎÅ× NUMERIERT DIE ÚEILENNUMMERN EINES ÐROGRAMMS UM. ×ENN ÓIE SICH GE»RGERT HABEN, DA¾ DIE !ÌÏÁÄ-ÒOUTINE NUR FUNKTIONIERT, WENN DIE ÚEILENNUMMERN DES IM ÓPEICHER VORHANDENEN ÐROGRAMMS KLEINER SIND ALS DIE DES NACHZULADENDEN, DANN IST DIESER ÂEFEHL DAS ÒICHTIGE F½R ÓIE. ÄURCH !ÎÅ× 1,1 WIRD DAS ÐROGRAMM AB DER ÚEILE 1 IN ÅINER-ÓCHRITTEN UMNUMERIERT - UND DIE ÇÏÔÏS, ÇÏÓÕÂS, ÌÉÓÔS, ÒÕÎS UND ÔÈÅÎS GLEICH MIT. ×ENN ÓIE NOCH ETWAS IN EIN ÐROGRAMM EINF½GEN WOLLEN, ABER DER ÐLATZ DAF½R NICHT REICHT: ÍIT !ÎÅ× 1000,100 WIRD DAS ÐROGRAMM AB DER ÚEILE 1000 IN ÈUNDERTER-ÓCHRITTEN UMNUMERIERT. ÓOLLTE DER ÐLATZ IM ÓPEICHER DAF½R NICHT REICHEN, ALS ÓCHRITTWEITE EINE ÎULL EINGEGEBEN WORDEN SEIN ODER »HNLICHES, DANN QUITTIERT DIES DER ÃOMPUTER MIT EINEM ÉÌÌÅÇÁÌ ÑÕÁÎÔÉÔÙ ÅÒÒÏÒ. !ÏÌÄ HOLT EIN DURCH ÎÅ× ODER ÒÅÓÅÔ VERSTECKTES ÐROGRAMM WIEDER ZUR½CK. ÁCHTUNG: ÅS DARF IN DER ÚWISCHENZEIT KEINE NEUE ÂÁÓÉÃ-ÚEILE EINGEF½GT WORDEN SEIN! !ÁÌÏÁÄ AD1,"ÎÁÍÅ" (,GA) L»DT EIN ABSOLUTES ÆILE AN DIE ÁDRESSE AD1. ×ER MIT ABSOLUTEN ÆILES ARBEITET, KENNT DAS ÐROBLEM: ×ILL MAN EIN SOLCHES ÆILE MIT ÌÏÁÄ "ÎÁÍÅ",8,1 LADEN, FUNKTIONIERT DAS ZWAR, ABER DANACH IST DER ÏFEN AUS - BIS MAN ÎÅ× EINGIBT. ÁBER DAMIT IST EIN IM ÓPEICHER BEFINDLICHES ÐROGRAMM VERLOREN. ÍIT !ÁÌÏÁÄ GIBT ES DIESES ÐROBLEM NICHT MEHR, AU¾ERDEM IST DIE ÓTARTADRESSE F½R DAS ÆILE FREI W»HLBAR, WAS SEHR PRAKTISCH F½R RELOKATIBLE ÍASCHINENROUTINEN, ABGESPEICHERTE ÓPRITE-ÂL¼CKE UND ANDERES IST. !ÁÓÁÖÅ AD1,AD2,"ÎÁÍÅ" (,GA) SPEICHERT DEN ÂEREICH ZWISCHEN DEN ÁDRESSEN AD1 UND AD2 ABSOLUT. ÓO IST ES JETZT M¼GLICH, MIT !ÁÓÁÖÅ 13*64,14*64,"ÓÐÒÉÔÅ",8 DEN ÓPRITE-ÂLOCK 13 ABZUSPEICHERN, MIT !ÁÓÁÖÅ 1024,2023,"ÓÃÒÅÅÎ",8 DEN ÂILDSCHIRMINHALT ABZUSAVEN USW. ÚUR ÕNTERSCHEIDUNG VON ANDEREN ÐROGRAMMFILES WIRD AN DEN ÐROGRAMMNAMEN EIN ".Ï" ANGEH»NGT, DAS HEI¾T, DER ÐROGRAMMNAME KANN NUR MEHR 14 UND NICHT 16 ÚEICHEN LANG SEIN. !ÆÉÎÄ "ÓÕÃÈÓÔÒÉÎÇ" LISTET ALLE ÐROGRAMMZEILEN, IN DENEN ÓÕÃÈÓÔÒÉÎÇ VORKOMMT. ÓTELLEN ÓIE SICH VOR, ÓIE HABEN EIN ÕNTERPROGRAMM VON ÚEILENNUMMER 1270 NACH ÚEILE 3000 VERLEGT UND M½SSEN NUN ALLE ÚEILEN FINDEN, VON DENEN AUS IN DIESES ÕNTERPROGRAMM GESPRUNGEN WIRD, UM DIE ÚEILENNUMMER ZU »NDERN. ÓCHRECKLICHER ÇEDANKE? ËEINESWEGS! !ÆÉÎÄ "ÇÏÓÕ 1270" LISTET DIESE ÚEILEN, SOFERN DAS ÌEERZEICHEN RICHTIG IST; ZUR ÓICHERHEIT KANN ANSCHLIE¾END NOCH !ÆÉÎÄ "ÇÏÓÕÂ1270", !ÆÉÎÄ"ÇÏÔÏ 1270", !ÆÉÎÄ"ÇÏÔÏ1270" UND SO WEITER EINGEGEBEN WERDEN. ÓIE SUCHEN EINEN ÓTRING? ÎICHTS LEICHTER ALS DAS: !ÆÉÎÄ ÃÈÒ$(34)+"ÃÏÍÍÏÄÏÒÅ" LISTET ALLE ÚEILEN, IN DENEN ÃÏÍÍÏÄÏÒÅ VORKOMMT. !ÆÉÎÄ ÃÈÒ$(34)+"ÃÏÍÍÏÄÏÒÅ"+ÃÈÒ$(34) LISTET ALLE ÚEILEN MIT ÃÏÍÍÏÄÏÒÅ. ÁCHTUNG: ÄER ÓUCHSTRING DARF NICHT L»NGER ALS 40 ÚEICHEN SEIN, SONST REAGIERT DER ÃOMPUTER MIT ÓÔÒÉÎÇ ÔÏÏ ÌÏÎÇ ÅÒÒÏÒ. #HEX WANDELT EINE HEXADEZIMALE IN EINE DEZIMALE ÚAHL UM. ÄIES IST KEIN ÂEFEHL, SONDERN EINE ÆUNKTION. ÄAS HEI¾T, WENN ÓIE $Ã000 EINGEBEN UND ÒETURN DR½CKEN, ERGIBT DAS NUR EINEN ÓÙÎÔÁØ ÅÒÒÏÒ. ÅRST ÐÒÉÎÔ $Ã000 BRINGT DAS RICHTIGE ÅRGEBNIS (=49152) AUF DIE ÍATTSCHEIBE. ÇENAUSO K¼NNEN ÓIE JETZT AUCH HEXADEZIMALE ÚAHLEN INNERHALB VON ÁUSDR½CKEN UND ÂEFEHLEN VERWENDEN. !ÁÓÁÖÅ $Ã8Æ5,$ÃÆÆÆ,"×.ÔÏÏÌ.Ï",8 SPEICHERT ×ÏÒË ÔÏÏÌ AUF ÄISKETTE, ÐÏËÅ $Ä000,100 POSITIONIERT ÓPRITE 0 IN X-ÒICHTUNG AUF 100. ÝBRIGENS IST ES NICHT NOTWENDIG, VIERSTELLIGE ÁNGABEN ZU MACHEN. ÐÒÉÎÔ $Æ BRINGT DAS GLEICHE ÅRGEBNIS WIE $0Æ, $00Æ UND $000Æ, N»MLICH 15. ÄAS GLEICHZEITIGE ÄR½CKEN DER ÃOMMODORE-ÔASTE UND DES ÐFEILS NACH LINKS BRINGT DEN ÃOMPUTER ZUR½CK IN DEN ÅINSCHALTZUSTAND (ÒÅÓÅÔ). ÓOLLTE DIESE ÔASTENKOMBINATION AUS ÖERSEHEN BET»TIGT WORDEN SEIN, GELANGEN ÓIE DURCH ÓÙÓ 51445 UND !ÏÌÄ WIEDER IN DAS GERADE BEARBEITETE ÐROGRAMM.