SYSDIR SYS E BACEPR ASM A BAC@EPR ITH`EPR ABSTEST ITHTEST ABSTEST BASTEST LST@TEST ASM bc % a9 "","( _)2 *** ED ver 1.01 ***<Fz z 1FǠ(2<!P yyFޜ  Z Ld,-R(nTXXޟ^X㜧dxXP xj|jݵpFXP9Rp,X,ݸ,jXp,jXp,X,ݸ`X(SRp,X,ݸ,jp(p.ǀ ,jp(p.ǀ,X,ݸ2X(XPUndefined screen sizerdX9 INITR%=RADPOS K%=KOLPOSA$(0-23)=BILDSK[RMEN% A2$=RADERNA UTANF\R BILDSK[RMENFIL 1=INFIL,FIL 2=UTFIL FݐݵFݖF FGFL; " jjj "jL݊ #,jjǤLL^L!6jjǬLLݖL-@j⊾"^L޸ީ+ $Jjj jǣ FޜFVTj늾KL^: 'L^ ^jꊾFޜFݵL&hjjjǡ FޟFrjFޟFݵLH|jLݖ5FFLޟ  FL ޜLޟLDjL^1FFL  FLޜ^L?jLݖ.FFL FLߜ pjL݊n3jjL圵LL^^L+jDŽ޵帼LLݖ LjߊݵLj(,jLޜF(Lޜj (2 jFXݵLjjj䊾E xjjeRadnrF s ista rad ledigad ; j jd.jL&j"0v-:FFL FLߜ$DLޜLLX^L ;N*XLߜF (pp pޟL'bFޜ3(plppޟLFvޟ#(pp݊4 &ޟFpޟLF S\KSTR[NG:;;( ((ߟ (,p޸ީppޟ'ޟd3< ޜ #߸,;>ݵpߟp pޜޟh* Fpppޜ*D4ޟpppޜ>HHUTBYTESSTR[NG:;222ߟ 2 R\2(#6fLX%FFL 2XL Hp#;FFL 2FL#ޜXL=zFFL 2FL#ޜ#-`)#޸, ߟ X X X!"Xݵ)޸9ERR ; Qq޸ݵ)0Filnamn ;<<<.ASM< <<޸ީ)DSkiva f|r arbetsfil (0/1) ;//޵9 /'9!DR9 :TEMP.][\߸ݵpNp;4)+1ޜdP$ݵpޟ .#߸ ,p;8FBݵp L#߸,p;VQ`pޟ j#߸,pQ;t\#~)\#߸,+;  A<5'Skall arbetsfilen ers{tta infilen (J/N);:  _M<TEMP.][\<%޵p฼%Filnamn ;0$g No changeTEMP.][\temp.}{|  AdJpޜީppޟr ޜBpFޜީppޟ}FX4#߸,i;#߸,S;Aݵpߟppޜޟ* ݵpFߟppޜ FߐݵF XFޟFFX (2Radnr:X;<; F Ţ P Zݐdjn]ޟp޸ީppޟ xFݵL ݊.212ޟݵݵp #߸,p-;ޟ.ݵpޟppޜX ݵޜޜ  ABgm1~z(z2z<FyLy RX ^d jypy   !y#y)/ 9yy  ޜX0;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;-------------------0------------------------------------; ; CSEL EQU 02H ; CARD SELECT F\R EPR RDATA EQU F500H ; L[S DATA FR]N EPR WDATA EQU F502H ; SKRIV DATA TILL EPR EPRADR EQU F504H ; ADRESS I EPR EPRCMD EQU F506H ; COMMANDO TILL EPR ; ORG 8000H ; S0TART ADRESS F\R STACKEN I (; ABC 806 MAIN: CALL CARDSEL RET CARDSEL: RET U F500H ; L[S DATA FR]N EPR WDATA EQU F502H ; SKRIV DATA TILL EPR EPRADR EQU F504H ; ADRESS I EPR EPRCMD EQU F506H ; COMMANDO TILL EPR ; ORG 8000H ; S0RESS F\R STACKEN I (; ABC 806 MAIN: CALL CARDSEL RET CARDSEL: RET U F500H ; L[S DATA FR]N EPR WDATA EQU F502H ; SKRIV DATA TILL EPR EPRADR EQU F504H ; ADRESS I EPR EPRCMD EQU F506H ; COMMANDO TILL EPR ; ORG 8000H ; S  ;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;------------------- ------------------------------------; ; CSEL EQU 02H ; CARD SELECT F\R EPR RDATA EQU 0F500H ; L[S DATA FR]N EPR WDATA EQU 0F502H ; SKRIV DATA TILL EPR EPRADR EQU 0F504H ; ADRESS I EPR EPRCMD EQU 0F506H ; COMMANDO TILL EPR ; ORG 8000H   ; START ADRESS F\R STACKEN I (; ABC 806 MAIN: CALL CARDSEL RET CARDSEL: RET 00H ; L[S DATA FR]N EPR WDATA EQU 0F502H ; SKRIV DATA TILL EPR EPRADR EQU 0F504H ; ADRESS I EPR EPRCMD EQU 0F506H ; COMMANDO TILL EPR ; ORG 8000H  RT ADRESS F\R STACKEN I (; ABC 806 MAIN: CALL CARDSEL RET CARDSEL: RET 00H ; L[S DATA FR]N EPR WDATA EQU 0F502H ; SKRIV DATA TILL EPR EPRADR EQU 0F504H ; ADRESS I EPR EPRCMD EQU 0F506H ; COMMANDO TILL EPR ; ORG 8000H 0A0;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;-------------------0------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT CSADR EQU 0F500H ; CARD SELECT F\R EPR RDATA EQU 0F502H ; L[S DATA FR]N EPR WDATA EQU 0F504H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRC0MD EQU 0F508H ; COMMANDO TILL EPR ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 MAIN: CALL CARDSL RET CARDSL: LDA (CSADR) OUT CSEL,A RET  0F504H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRC0 0F508H ; COMMANDO TILL EPR ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 MAIN: CALL CARDSL RET CARDSL: LDA (CSADR) OUT CSEL,A RET  0F504H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRC  ;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;------------------- ------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT CSADR EQU 0F500H ; CARD SELECT F\R EPR RDATA EQU 0F502H ; L[S DATA FR]N EPR WDATA EQU 0F504H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRC MD EQU 0F508H ; COMMANDO TILL EPR ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 MAIN: CALL CARDSL RET CARDSL: LDA CSADR OUT (CSEL),A RET 0F504H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRC  0F508H ; COMMANDO TILL EPR ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 MAIN: CALL CARDSL RET CARDSL: LDA CSADR OUT (CSEL),A RET 0F504H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRC00aS ; INP(34) : GOTO 10 ) *** ED ver 1.01 ***(Fz z 12Ǡ(2<!< yyFޜ F LP,-RFZSkiva 0f|r arbetsfil (0/1) ;XX Ձb X'bdhP xn|nnݵtFxhP9Rt,h,ݸ,nht,nht,h,ݸ`h(SRt,h,ݸ,nt(t.ǀ,nt(t.0,h,ݸ2h(hPUndefined screen sizevh= INITR%=RADPOS K%=KOLPOSA$(0-23)=BILDSK[RMEN% A2$=RADERNA UTANF\R BILDSK[RMENFIL 1=INFIL,FIL 2=UTFILFݐݵFݖ0F FKFL; " nnn$nL݊ n抾LLL"n劾LLݖL-,n⊾"L޸ީ 6nn FޜFV@n늾KL0: 'L JnꊾFޜFݵLTnnֈD FޟF^nFޟFݵLHhnLݖ5FFLޟ  FLޜLޟLDrnL1FFL0  FLޜL?|nLݖ.FFL FLߜ nL݊+nL圵LLL+nݵ丼LLݖL+nL圵LLLn0ݵLn(,nLޜF(Lޜn (2 nFhݵLnnn䊾 xnneRadnrF sista rad0 lediga ; n n nLn"&r-0FFL FLߜ$:LޜLLhL ;D*NLߜF(tt t0 L'XFޜ3(tbttޟLFlvޟ#(tt݊ &ޟFtޟLF S\KSTR[NG:;;(((ߟ (0 ,t޸ީttޟ'ޟ3 ޜ#߸,;> ݵtߟttޜ0 ޟh*Ftttޜ D*ޟtttޜ4H>UTBYTESSTR[NG:;222ߟ 2H0 R2-(36\-Lh%FFL 2hL Hf-3;FFL 2FL3ޜhL-=pFFL 2FL3ޜ3--z`9#޸,ߟ 0 h h h!"hݵ9޸9ERR ; Qqc޸ݵ9Filnamn ;<*<<.ASM<<޸ީ90+Skiva f|r arbetsfil (0/1) ; b!DRb :TEMP.][\߸ݵtpt;49+SޜPݵtޟ $#߸,t;.F8ݵt B#߸,0t;LQVtޟ `#߸,tQ;j\#t9~#߸,+; ~ A<5'Skall arbetsfilen ers{tta infilen (J/N);3 _J<TEMP.][\<%޵0t฼%Filnamn ;0$g No changeTEMP.][\temp.}{|  ASMJtޜީttޟrޜBtFޜީttޟ}0Fh4#߸,n;#߸,X;Aݵtߟttޜޟ*ݵtFߟttޜ FߐݵFh>FޟFFh 0(Radnr:h;2; < Ţ F PݐZjd]ޟt޸ީttޟnxFݵL0 ݊.212ޟݵݵt #߸,t2;ޟ.ݵtޟttޜXݵޜ0ޜ  ASMBgm1~z(z2z<FyLy RX byh nyty   !-y3y9y  Xݵޜ@@a~d -""  Minnet fullt; "((,᜸,ݸ,޸2 RELOC.BIN޸< #޸,F޸ K+2 P,,ݸ,޸,ݸ,,ݸ,޸ Z(+8&dASM.ROB޸@,8,8n #޸,ǀ x2>> RELOC ERR; ǁ ǂ/ ǃ Relocation format error;88"ޟDR ;*** ABC800 ASSEMBLER VERS ;J踼8J ;L ***@ ASMInfil0.݊Ofullst{ndigt filnamn [%Objektfil ........ (J/N) ;,  JjNnDD݊D N8J0.ޟ ITH@Filnamn [%"Vad ska listas (A/I/F) ; , e AaIiFfeD6D݊!@D▾ Bara felenFeJDᐾAlltHe+TDD㐈Ingen listningXe^eX.h Bildsk{rmen.LST@Listfil #r Bildsk{rmen.\|+#Du kan stoppa och starta listningen)!genom att trycka ner en tangent !Pass 1 ޸8D޸ Pass 1 klart@eX Listpasset &޸0ࡩo:oD8㜸,oNuXeHߵub8uD l#ovListpasset klart[wObjektko@dspasset ޸ [߸8䜸,߸8DObjektkodspasset klart Error zzy  ޵Y  ,*`~(= 4ޜ@> HR\zzzzz y 'f; ;.; ;'pߟ z;;;!G>:݊ DR.݊.@   E* "y(z2y8 >yD!Jy [eoIuߟ z;;;!G>:݊ DR.݊.00;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;-------------------0------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT . CSADR EQU 0F500H ; CARD SELECT F\R EPR . RDATA EQU 0F502H ; L[S DATA FR]N EPR . WDATA EQU 0F504H ; SKRIV DATA TILL EPR . EPRADR EQU 0F506H ; ADRESS I 0EPR . EPRCMD EQU 0F508H ; KOMMANDO TILL EPR . ; ORG 0FA00H ; START ADRESS F\R STACKEN I ; ABC 806 . MAIN: CALL SAVERG ; Spara alla registerpar p} stacken . CALL CARDSL ; SEND CARD SELECT TILL EPR . CALL LOADRG ; H{mta gamla registe0r v{rden ; fr}n stacken. RET CARDSL: LD A,(CSADR) ; Ladda reg A med data p} adress ; 'CSADR' OUT (CSEL),A ; Output A till utport 'CSEL' RET SAVERG: PUSH AF ; Spara register par AF p} stacken. PUSH BC ; ------- ! ! ------ BC --- 0! ! --- PUSH DE ; ------- ! ! ------ DE --- ! ! --- PUSH HL ; ------- ! ! ------ HL --- ! ! --- PUSH IX ; Spara index register IX p} stacken. PUSH IY ; -------- ! ! ------- IY --- ! ! --- EXX ; Shifta till baksidan av reg. BC,DE,HL. 0 EX AF,AF' ; ------------ ! ! ----------- AF. PUSH AF ; Spara register par AF' p} stacken. PUSH BC ; ------- ! ! ------ BC' --- ! ! --- PUSH DE ; ------- ! ! ------ DE' --- ! ! --- PUSH HL ; ------- ! ! ------ HL' --- ! ! --- RET 0 LOADRG: POP HL ; H{mta reg. par HL' fr}n stacken. POP DE ; ----- ! ! ---- DE' ---- ! ! ---- POP BC ; ----- ! ! ---- BC' ---- ! ! ---- POP AF ; ----- ! ! ---- AF' ---- ! ! ---- EXX ; Shifta till framsidan av reg. BC,DE,HL. EX AF,A0F' ; ------------ ! ! ------------ AF. POP IY ; H{mta indexregister IY fr}n stacken. POP IX ; ------- ! ! ------- IX ---- ! ! ---- POP HL ; H{mta reg. par HL fr}n stacken. POP DE ; ---- ! ! ---- DE ---- ! ! ---- POP BC ; ---- ! !0 ---- BC ---- ! ! ---- POP AF ; ---- ! ! ---- AF ---- ! ! ---- RET SEDCMD: ; Send kommando till EEPROM RET READ: ; L[S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM0 , WRITE ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM0  ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROMP@bP;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;-------------------P------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT . CSADR EQU 0F500H ; CARD SELECT F\R EPR . RDATA EQU 0F502H ; L[S DATA FR]N EPR . WDATA EQU 0F504H ; SKRIV DATA TILL EPR . EPRADR EQU 0F506H ; ADRESS I PEPR . EPRCMD EQU 0F508H ; KOMMANDO TILL EPR . ; ORG 08000H ; START ADRESS F\R STACKEN I ; ABC 806 . MAIN: CALL SAVERG ; Spara alla registerpar p} stacken . CALL CARDSL ; SEND CARD SELECT TILL EPR . CALL LOADRG ; H{mta gamla registePr v{rden ; fr}n stacken. RET CARDSL: LD A,(CSADR) ; Ladda reg A med data p} adress ; 'CSADR' OUT (CSEL),A ; Output A till utport 'CSEL' RET SAVERG: PUSH AF ; Spara register par AF p} stacken. PUSH BC ; ------- ! ! ------ BC --- P! ! --- PUSH DE ; ------- ! ! ------ DE --- ! ! --- PUSH HL ; ------- ! ! ------ HL --- ! ! --- PUSH IX ; Spara index register IX p} stacken. PUSH IY ; -------- ! ! ------- IY --- ! ! --- EXX ; Shifta till baksidan av reg. BC,DE,HL. P EX AF,AF' ; ------------ ! ! ----------- AF. PUSH AF ; Spara register par AF' p} stacken. PUSH BC ; ------- ! ! ------ BC' --- ! ! --- PUSH DE ; ------- ! ! ------ DE' --- ! ! --- PUSH HL ; ------- ! ! ------ HL' --- ! ! --- RET P LOADRG: POP HL ; H{mta reg. par HL' fr}n stacken. POP DE ; ----- ! ! ---- DE' ---- ! ! ---- POP BC ; ----- ! ! ---- BC' ---- ! ! ---- POP AF ; ----- ! ! ---- AF' ---- ! ! ---- EXX ; Shifta till framsidan av reg. BC,DE,HL. EX AF,APF' ; ------------ ! ! ------------ AF. POP IY ; H{mta indexregister IY fr}n stacken. POP IX ; ------- ! ! ------- IX ---- ! ! ---- POP HL ; H{mta reg. par HL fr}n stacken. POP DE ; ---- ! ! ---- DE ---- ! ! ---- POP BC ; ---- ! !P ---- BC ---- ! ! ---- POP AF ; ---- ! ! ---- AF ---- ! ! ---- RET CMDTLK: LD A,(EPRCMD) ; Ladda reg A med komando till epr CL0010: CP 0 ; Testa om kommando = NOP dvs RET NZ ; Return om s} {r fallet. CL0020: CP 1 ; Testa om kommaP ndo = READ dvs JP NZ,READ ; l{s data fr}n EPR till buffer 'RDATA' CL0030: CP 2 ; Testa om kommando = WRITE JP NZ,WRITE ; skriv data i EPR fr}n buffer 'WDATA' CL0040: CP 3 ; Testa om kommando = ERASE JP NZ,ERASE ; radera data i EPR pP } addres 'EPRADR' CL0050: CP 4 ; Testa om kommando = ERASE WRITE ENABLE JP NZ,EWEN ; Radera data p} adress 'EPRADR' och ; skriv data p} adress 'EPRADR' ; fr}n buffer 'WDATA' CL0060: CP 5 ; Testa om kommando = ERASE WRITE DISABLE JP NP Z,EWDS ; Rradera data p} adress 'EPRADR' CL0070: CP 6 ;Testa SEDCMD: ; Send kommando till EEPROM RET READ: ; L[S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM, WRP ITE ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET ATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM, WRPBLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET ATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM, WR`MD EQU 0F508H ; COMMANDO TILL EPR ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 MAIN: CALL CARDSL RET CARDSL: LD A CSADR OUT (CSEL),A RET F504H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRC00;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;-------------------0------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT . CSADR EQU 0F500H ; CARD SELECT F\R EPR . RDATA EQU 0F502H ; L[S DATA FR]N EPR . WDATA EQU 0F504H ; SKRIV DATA TILL EPR . EPRADR EQU 0F506H ; ADRESS I 0EPR . EPRCMD EQU 0F508H ; KOMMANDO TILL EPR . ; ORG 08000H ; START ADRESS F\R STACKEN I ; ABC 806 . MAIN: ; CALL SAVERG ; Spara alla registerpar p} stacken . CALL CARDSL ; SEND CARD SELECT TILL EPR . ; CALL LOADRG ; H{mta gamla regis0ter v{rden ; fr}n stacken. RET CARDSL: LD A,(CSADR) ; Ladda reg A med data p} adress ; 'CSADR' OUT (CSEL),A ; Output A till utport 'CSEL' RET SAVERG: PUSH AF ; Spara register par AF p} stacken. PUSH BC ; ------- ! ! ------ BC --0- ! ! --- PUSH DE ; ------- ! ! ------ DE --- ! ! --- PUSH HL ; ------- ! ! ------ HL --- ! ! --- PUSH IX ; Spara index register IX p} stacken. PUSH IY ; -------- ! ! ------- IY --- ! ! --- EXX ; Shifta till baksidan av reg. BC,DE,HL0. EX AF,AF' ; ------------ ! ! ----------- AF. PUSH AF ; Spara register par AF' p} stacken. PUSH BC ; ------- ! ! ------ BC' --- ! ! --- PUSH DE ; ------- ! ! ------ DE' --- ! ! --- PUSH HL ; ------- ! ! ------ HL' --- ! ! --- RET0 LOADRG: POP HL ; H{mta reg. par HL' fr}n stacken. POP DE ; ----- ! ! ---- DE' ---- ! ! ---- POP BC ; ----- ! ! ---- BC' ---- ! ! ---- POP AF ; ----- ! ! ---- AF' ---- ! ! ---- EXX ; Shifta till framsidan av reg. BC,DE,HL. EX AF,A0F' ; ------------ ! ! ------------ AF. POP IY ; H{mta indexregister IY fr}n stacken. POP IX ; ------- ! ! ------- IX ---- ! ! ---- POP HL ; H{mta reg. par HL fr}n stacken. POP DE ; ---- ! ! ---- DE ---- ! ! ---- POP BC ; ---- ! !0 ---- BC ---- ! ! ---- POP AF ; ---- ! ! ---- AF ---- ! ! ---- RET CMDTLK: LD A,(EPRCMD) ; Ladda reg A med komando till epr CL0010: CP 0 ; Testa om kommando = NOP dvs RET NZ ; Return om s} {r fallet. CL0020: CP 1 ; Testa om komma0 ndo = READ dvs JP NZ,READ ; l{s data fr}n EPR till buffer 'RDATA' CL0030: CP 2 ; Testa om kommando = WRITE JP NZ,WRITE ; skriv data i EPR fr}n buffer 'WDATA' CL0040: CP 3 ; Testa om kommando = ERASE JP NZ,ERASE ; radera data i EPR p0 } addres 'EPRADR' CL0050: CP 4 ; Testa om kommando = ERASE WRITE ENABLE JP NZ,EWEN ; Radera data p} adress 'EPRADR' och ; skriv data p} adress 'EPRADR' ; fr}n buffer 'WDATA' CL0060: CP 5 ; Testa om kommando = ERASE WRITE DISABLE JP N0 Z,EWDS ; Rradera data p} adress 'EPRADR' CL0070: CP 6 ; Testa om kommando = ERASE ALL JP NZ,ERAL ; radera data p} alla adresser i EPR CL0080: RET SEDCMD: ; Send kommando till EEPROM RET READ: ; L[S DATA I EEPROM RET WRITE: ; SKRIV DAT0 A I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM, WRITE ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET TA I EEPROM RET WRITE: ; SKRIV DAT0ROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM, WRITE ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET TA I EEPROM RET WRITE: ; SKRIV DAT`MD EQU 0F508H ; COMMANDO TILL EPR ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 MAIN: CALL CARDSL RET CARDSL: LD A,(CSADR) OUT (CSEL),A RET H ; SKRIV DATA TILL EPR EPRADR EQU 0F506H ; ADRESS I EPR EPRCP@P :10800000CD0480C93A00F5D301C9F5C5D5E5DDE554 :10801000FDE5D908F5C5D5E5C9E1D1C1F1D908FD1E :10802000E1DDE1E1D1C1F1C93A08F5FE00C0FE0190 :10803000C24E80FE02C24F80FE03C25080FE04C2C8 :108040005180FE05C25280FE06C25380C9C9C9C90B :04805000C9C9C9C908 :008000017FP 10800000CD0480C93A00F5D301C9F5C5D5E5DDE554 :10801000FDE5D908F5C5D5E5C9E1D1C1F1D908FD1E :10802000E1DDE1E1D1C1F1C93A08F5FE00C0FE0190 :10803000C24E80FE02C24F80FE03C25080FE04C2C8 :108040005180FE05C25280FE06C25380C9C9C9C90B :04805000C9C9C9C908 :008000017FP000CD0480C93A00F5D301C9F5C5D5E5DDE554 :10801000FDE5D908F5C5D5E5C9E1D1C1F1D908FD1E :10802000E1DDE1E1D1C1F1C93A08F5FE00C0FE0190 :10803000C24E80FE02C24F80FE03C25080FE04C2C8 :108040005180FE05C25280FE06C25380C9C9C9C90B :04805000C9C9C9C908 :008000017F```T::NOPQRS ------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT . CSADR EQU 0F500H ; CARD SELECT F\R EPR . RDATA EQU 0F502H ; L[S DATA FR]N EPR . WDATA EQU 0F504H ; SKRIV DATA TILL EPR . EPRADR EQU 0F506H ; ADRESS I  EPR . EPRCMD EQU 0F508H ; COMMANDO TILL EPR . ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 . MAIN: CALL SAVERG ; Spara alla registerpar p} stacken . CALL CARDSL ; SEND CARD SELECT TILL EPR . CALL LOADRG ; H{mta gamla registerpp ORG 08000H MAIN: CALL SAVERG CALL LOADRG RET SAVERG: PUSH AF PUSH BC PUSH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POP AF EXpX EX AF,AF' POP IY POP IX POP HL POP DE POP BC POP AF RET  PUSH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POP AF EXpAF,AF' POP IY POP IX POP HL POP DE POP BC POP AF RET  PUSH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POP AF EX  :10800000F3CD0980CD1880FBC9F5C5D5E5DDE5FDCB :10801000E5D908F5C5D5E5C9E1D1C1F1D908FDE13A :07802000DDE1E1D1C1F1C96E :008000017F  000F3CD0980CD1880FBC9F5C5D5E5DDE5FDCB :10801000E5D908F5C5D5E5C9E1D1C1F1D908FDE13A :07802000DDE1E1D1C1F1C96E :008000017F   ' ɶp000CD1080CD0A80CD1F80C93A00F5D301C9BB :10801000F5C5D5E5DDE5FDE5D908F5C5D5E5C9E149 :0E802000D1C1F1D908FDE1DDE1E1D1C1F1C925 :008000017F  10 INTEGER 20 POKE 32768,243,205,9,128,205,24,128,251,201,245,197,213,229,221,229,253 30 POKE 32784,229,217,8,245,197,213,229,201,225,209,193,241,217,8,253,225 40 POKE 32800,221,225,225,209,193,241,201 50 REM Startadress = 32768  GER 20 POKE 32768,243,205,9,128,205,24,128,251,201,245,197,213,229,221,229,253 30 POKE 32784,229,217,8,245,197,213,229,201,225,209,193,241,217,8,253,225 40 POKE 32800,221,225,225,209,193,241,201 50 REM Startadress = 32768    ABC800 ASSEMBLER VERS 1.00 PAGE 1 8000 ORG 08000H 8000 MAIN: 8000 F3 DI 8001 CD0980 CALL SAVERG 8004 CD1880 CALL LOADRG 8007 FB  EI 8008 C9 RET 8009 8009 SAVERG: 8009 F5 PUSH AF 800A C5 PUSH BC 800B D5 PUSH DE 800C E5 PUSH HL 800D DDE5 PUSH  IX 800F FDE5 PUSH IY 8011 D9 EXX 8012 08 EX AF,AF' 8013 F5 PUSH AF 8014 C5 PUSH BC 8015 D5 PUSH DE 8016 E5 PUSH HL 8017 C9 RET 8018 LOADRG: 8018 E1 POP HL 8019 D1 POP DE 801A C1 POP BC 801B F1 POP AF 801C D9 EXX 801D 08 EX AF,AF' 801E FDE1 POP IY 8020 DDE1 POP IX 8022 E1 POP HL 8023 D1 POP DE 8024 C1 POP BC 8025 F1 POP AF 8026 C9 RET 8027  8027 8027 8027 8027 8027 8000 END ABC800 ASSEMBLER VERS 1.00 PAGE 2 LOADRG 8018 MAIN 8000 SAVERG 8009 NUMBER OF ASSEMBLY ERRORS = 00  027 8027 8027 8027 8027 8000 END ABC800 ASSEMBLER VERS 1.00 PAGE 2 LOADRG 8018 MAIN 8000 SAVERG 8009 NUMBER OF ASSEMBLY ERRORS = 00  @  ORG 08000H MAIN: DI CALL SAVERG CALL LOADRG EI RET SAVERG: PUSH AF PUSH BC PUSH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POP AF EXX EX AF,AF' POP IY POP IX POP HL POP DE POP BC POP AF RET PUSH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POEXX EX AF,AF' POP IY POP IX POP HL POP DE POP BC POP AF RET PUSH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POp` p MAIN: DI CALL SAVERG CALL LOADRG EI RET SAVERG: PUSH AF PUSH BC PUSH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POP AF EXX p EX AF,AF' POP IY POP IX POP HL POP DE POP BC POP AF RET USH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POP AF EXX pAF,AF' POP IY POP IX POP HL POP DE POP BC POP AF RET USH DE PUSH HL PUSH IX PUSH IY EXX EX AF,AF' PUSH AF PUSH BC PUSH DE PUSH HL RET LOADRG: POP HL POP DE POP BC POP AF EXX er v{rden ; fr}n stacken. RET CARDSL: LD A,(CSADR) ; Ladda reg A med data p} adress ; 'CSADR' OUT (CSEL),A ; Output A till utport 'CSEL' RET SAVERG: PUSH AF ; Spara register par AF p} stacken. PUSH BC ; ------- ! ! ------ BC --- ! ! --- PUSH DE ; ------- ! ! ------ DE --- ! ! --- PUSH HL ; ------- ! ! ------ HL --- ! ! --- PUSH IX ; Spara index register IX p} stacken. PUSH IY ; -------- ! ! ------- IY --- ! ! --- EXX ; Shifta till baksidan av reg. BC,DE,HL. EX AF,AF' ; ------------ ! ! ----------- AF. PUSH AF ; Spara register par AF' p} stacken. PUSH BC ; ------- ! ! ------ BC' --- ! ! --- PUSH DE ; ------- ! ! ------ DE' --- ! ! --- PUSH HL ; ------- ! ! ------ HL' --- ! ! --- RET  LOADRG: POP HL ; H{mta reg. par HL' fr}n stacken. POP DE ; ----- ! ! ---- DE' ---- ! ! ---- POP BC ; ----- ! ! ---- BC' ---- ! ! ---- POP AF ; ----- ! ! ---- AF' ---- ! ! ---- EXX ; Shifta till framsidan av reg. BC,DE,HL. EX AF,AF' ; ------------ ! ! ------------ AF. POP IY ; H{mta indexregister IY fr}n stacken. POP IX ; ------- ! ! ------- IX ---- ! ! ---- POP HL ; H{mta reg. par HL fr}n stacken. POP DE ; ---- ! ! ---- DE ---- ! ! ---- POP BC ; ---- ! ! ---- BC ---- ! ! ---- POP AF ; ---- ! ! ---- AF ---- ! ! ---- RET SEDCMD: ; Send kommando till EEPROM RET READ: ; L[S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM , WRITE ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET [S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM  ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET [S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM` ` :10FA0000CD10FACD0AFACD1FFAC93A00F5D301C9D3 :10FA1000F5C5D5E5DDE5FDE5D908F5C5D5E5C9E1CF :10FA2000D1C1F1D908FDE1DDE1E1D1C1F1C9C9C917 :05FA3000C9C9C9C9C9E4 :008000017F  `000CD10FACD0AFACD1FFAC93A00F5D301C9D3 :10FA1000F5C5D5E5DDE5FDE5D908F5C5D5E5C9E1CF :10FA2000D1C1F1D908FDE1DDE1E1D1C1F1C9C9C917 :05FA3000C9C9C9C9C9E4 :008000017F   5 : ;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;-------------------------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT . CSADR EQU 0F500H ; CARD SELECT F\R EPR . RDATA EQU 0F502H ; L[S DATA FR]N EPR . WDATA EQU 0F504H ; SKRIV DATA TILL EPR . EPRADR EQU 0F506H ; ADRESS I EPR . EPRCMD EQU 0F508H ; KOMMANDO TILL EPR . ; ORG 8000H ; START ADRESS F\R STACKEN I ; ABC 806 . MAIN: ; CALL SAVERG ; Spara alla registerpar p} stacken . CALL CARDSL ; SEND CARD SELECT TILL EPR . ; CALL LOADRG ; H{mta gamla register v{rden ; fr}n stacken. RET CARDSL: LD A,(CSADR) ; Ladda reg A med data p} adress ; 'CSADR' OUT (CSEL),A ; Output A till utport 'CSEL' RET SAVERG: PUSH AF ; Spara register par AF p} stacken. PUSH BC ; ------- ! ! ------ BC --- ! ! --- PUSH DE ; ------- ! ! ------ DE --- ! ! --- PUSH HL ; ------- ! ! ------ HL --- ! ! --- PUSH IX ; Spara index register IX p} stacken. PUSH IY ; -------- ! ! ------- IY --- ! ! --- EXX ; Shifta till baksidan av reg. BC,DE,HL. EX AF,AF' ; ------------ ! ! ----------- AF. PUSH AF ; Spara register par AF' p} stacken. PUSH BC ; ------- ! ! ------ BC' --- ! ! --- PUSH DE ; ------- ! ! ------ DE' --- ! ! --- PUSH HL ; ------- ! ! ------ HL' --- ! ! --- RET  LOADRG: POP HL ; H{mta reg. par HL' fr}n stacken. POP DE ; ----- ! ! ---- DE' ---- ! ! ---- POP BC ; ----- ! ! ---- BC' ---- ! ! ---- POP AF ; ----- ! ! ---- AF' ---- ! ! ---- EXX ; Shifta till framsidan av reg. BC,DE,HL. EX AF,AF' ; ------------ ! ! ------------ AF. POP IY ; H{mta indexregister IY fr}n stacken. POP IX ; ------- ! ! ------- IX ---- ! ! ---- POP HL ; H{mta reg. par HL fr}n stacken. POP DE ; ---- ! ! ---- DE ---- ! ! ---- POP BC ; ---- ! ! ---- BC ---- ! ! ---- POP AF ; ---- ! ! ---- AF ---- ! ! ---- RET SEDCMD: ; Send kommando till EEPROM RET READ: ; L[S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM , WRITE ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM  ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM` ;-------------------------------------------------------; ; Drivrutin f|r EEPROM programerare ; ; 7; ;-------------------------------------------------------; ; PREP. BENGT-G\RAN MAGNUSSON ; ; DATE. 1986- '; ; REV. R1A ); ; 7; ;-------------------------------------------------------; ; CSEL EQU 01H ; OUTPUT ADRESS F\R CARD SELECT . CSADR EQU 0F500H ; CARD SELECT F\R EPR . RDATA EQU 0F502H ; L[S DATA FR]N EPR . WDATA EQU 0F504H ; SKRIV DATA TILL EPR . EPRADR EQU 0F506H ; ADRESS I EPR . EPRCMD EQU 0F508H ; KOMMANDO TILL EPR . ; ORG 0FA00H ; START ADRESS F\R STACKEN I ; ABC 806 . MAIN: CALL SAVERG ; Spara alla registerpar p} stacken . CALL CARDSL ; SEND CARD SELECT TILL EPR . CALL LOADRG ; H{mta gamla register v{rden ; fr}n stacken. RET CARDSL: LD A,(CSADR) ; Ladda reg A med data p} adress ; 'CSADR' OUT (CSEL),A ; Output A till utport 'CSEL' RET SAVERG: PUSH AF ; Spara register par AF p} stacken. PUSH BC ; ------- ! ! ------ BC --- ! ! --- PUSH DE ; ------- ! ! ------ DE --- ! ! --- PUSH HL ; ------- ! ! ------ HL --- ! ! --- PUSH IX ; Spara index register IX p} stacken. PUSH IY ; -------- ! ! ------- IY --- ! ! --- EXX ; Shifta till baksidan av reg. BC,DE,HL.  EX AF,AF' ; ------------ ! ! ----------- AF. PUSH AF ; Spara register par AF' p} stacken. PUSH BC ; ------- ! ! ------ BC' --- ! ! --- PUSH DE ; ------- ! ! ------ DE' --- ! ! --- PUSH HL ; ------- ! ! ------ HL' --- ! ! --- RET  LOADRG: POP HL ; H{mta reg. par HL' fr}n stacken. POP DE ; ----- ! ! ---- DE' ---- ! ! ---- POP BC ; ----- ! ! ---- BC' ---- ! ! ---- POP AF ; ----- ! ! ---- AF' ---- ! ! ---- EXX ; Shifta till framsidan av reg. BC,DE,HL. EX AF,AF' ; ------------ ! ! ------------ AF. POP IY ; H{mta indexregister IY fr}n stacken. POP IX ; ------- ! ! ------- IX ---- ! ! ---- POP HL ; H{mta reg. par HL fr}n stacken. POP DE ; ---- ! ! ---- DE ---- ! ! ---- POP BC ; ---- ! ! ---- BC ---- ! ! ---- POP AF ; ---- ! ! ---- AF ---- ! ! ---- RET SEDCMD: ; Send kommando till EEPROM RET READ: ; L[S DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM , WRITE ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET  DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM  ENABLE RET EWDS: ; RADERA DATA I EEPROM, WRITE DISABLE RET ERAL: ; RADERA DATA I ALLA ADRESSER I EEPROM RET  DATA I EEPROM RET WRITE: ; SKRIV DATA I EEPROM RET ERASE: ; RADERA DATA I EEPROM RET EWEN: ; RADERA DATA I EEPROM