10 REM ++++++++++++++++++++++++++++++++ 11 REM ! Program .... ASMDATA.BAS 12 REM ! Utg}va DDK 1983-07-30 13 REM ! av Lars-B|rje Cid 14 REM ! Tel. 0150-539 43 15 REM ! ABC80 i grundutf|rande 16 REM ! Ins{nt av <2839> 17 REM ! Duveholmsskolans Datorklubb 18 REM ++++++++++++++++++++++++++++++++ 19 REM 20 REM Detta program sparar assembler 21 REM rutiner i minnet som DATA- 22 REM satser i ett BASIC-program. 23 REM 24 DIM T$=85%,F$=85% 25 R%=2% 26 ; CHR$(12%)TAB(15%)"ASM-DATA" : ; TAB(15%)"========" 27 ; : ; ' Sparar assembler-rutiner i' 28 ; ' minnet som data-satser i' 29 ; ' ett BASIC-prog.' 30 ; : ; : ; ' Ange startadress: '; : INPUTLINE A$ 31 ONERRORGOTO 52 : A%=VAL(LEFT$(A$,LEN(A$)-2%)) 32 ; : ; : ; ' Ange slut-adress: '; : INPUTLINE A$ 33 ONERRORGOTO 52 : B%=VAL(LEFT$(A$,LEN(A$)-2%)) 34 IF B%<=A% THEN 52 ELSE ; 35 ; : ; ' Progsize: '(B%-A%)/1024'Kbytes.' 36 ; : ; ' Entry ('RIGHT$(NUM$(A%),2%)') '; : INPUTLINE A$ : IF LEN(A$)=2% 37 ELSE 38 37 D%=A% : ; CHR$(8%)A%; : GOTO 39 38 D%=VAL(LEFT$(A$,LEN(A$)-2%)) 39 ; : ; : ; ' CALL (JA): '; : GET Z$ : IF INSTR(1%,"Jj"+CHR$(13%),Z$) D$=':A%=CALL('+NUM$(D%)+')' ELSE D$='' 40 ; : ; ' Prognamn: '; : INPUTLINE A$ : ; : ; 41 ONERRORGOTO 52 : PREPARE LEFT$(A$,LEN(A$)-2%) ASFILE 1% 42 ; #1%"1 FOR I%=1% TO"B%-A%"% STEP 12%:READ A%:FOR J%=0% TO 11%:READ B%" 43 ; #1%"2 POKE A%+J%,B%:NEXT J%:NEXT I%"D$ 44 ONERRORGOTO 53 45 REM 46 REM  LOOP  47 REM 48 FOR I%=A% TO B% STEP 12% : R%=R%+1% 49 F$=RIGHT$(NUM$(R%),2%)+' DATA'+NUM$(D%) : FOR J%=0% TO 11% : D%=D%+1% : IF D%>65535 D%=0 50 A%=PEEK(I%+J%) : T$=RIGHT$(NUM$(A%),2%) 51 F$=F$+','+T$ : NEXT J% : ; F$ : ; #1%F$ : NEXT I% : IF LEN(F$) ; #1%F$ 52 ; : ; : END 53 ; : ; "Error"ERRCODE