1 REM ON ERROR GO TO 10 DATA 42,61,92,54,253,35,54,253,1,15,39,201,42,61,92,54,3,35,54,19,201,33,3,19,229,237,75,118,92,33,15,39,167,237,66,48,2,207,146,42,69,92,34,110,92,58,71,92,50,112,92,205,106,30,195,158,27 17 LET ad=65000: INPUT "Mantener dir. 65000 ? (s/n)";e$: IF e$="n" THEN INPUT "nueva direccion :";ad 20 CLEAR ad-1: LET s=0: LET d=0 21 LET ad=PEEK 23730+256*PEEK23731+1 25 INPUT "Desactivar automaticamente después de cada salto? (s/n)";e$: IF e$="n" THEN LET d=1 30 FOR n=ad TO ad+56-2*d: READ c: LET s=s+c: POKE n,c 35 IF d=1 AND n=ad+21 THEN POKE n,59: LET n=n+1: POKE n,59: LET s=s+251: RESTORE 15 40 NEXT n 42 POKE ad+7,INT ((ad+21)/256) 43 POKE ad+4,256*((ad+21)/256-PEEK (ad+7)) 45 IF s<>5062 THEN PRINT FLASH 1;AT 10,2;"Error en los datos": STOP 50 PRINT ''''"Direcciones para..." 55 PRINT "activar la funcion: ";ad 57 PRINT '"desactivarla: ";ad+12 60 PRINT AT 15,0;"Salvando el Codigo ";ad;",";57-2*d 80 SAVE "ONERROR."+CHR$ (97+d)CODE ad,57-2*d 90 STOP 99 REM *programa demo* GOTO 100 100 LET on=ad 110 LET off=ad+12 120 RANDOMIZE USR on 130 RANDOMIZE 1000 140 INPUT "Ingrese cualquier error (un numero para salir) ";a 150 RANDOMIZE USR off 160 PRINT AT 10,10;"No hay error": LIST 99 1000 LET err=PEEK 23610: INPUT "" 1010 PRINT #0;CHR$ (49+err+7*(err>9));" "; 1020 IF err=1 THEN PRINT #0;"Variable sin definir"; 1030 IF err=5 THEN PRINT #0;"Division por 0"; 1040 IF err=16 THEN PRINT #0;"STOP en input"; 1045 IF err=20 THEN PRINT #0;"BREAK en el programa"; 1050 PRINT #0;", ";PEEK 23662+256*PEEK 23663;":";PEEK 23664 1060 PAUSE 0: CLS : GO TO 100