Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß) 1 GOTO 113:DATA "B","ADD","NZ","C","ADC","Z","D","SUB","NC","E","SBC","C" 2 DATA "H","AND","PO","L","XOR","PE","*","OR","P","A","CP","M" 3 DATA "BC","RET","DE","JP","*","CA" 4 GOTO 95 5 DIM R$(7),OP$(7),F$(7):FOR I=0 TO 7:READ R$(I):READ OP$(I):READ F$(I):NEXT I 6 A=0:DIM D$(3),BW$(2):FOR I=0 TO 2:READ D$(I):READ BW$(I):NEXT I:D$(3)="SP" 7 R$(6)="(HL)":D$(2)="HL":U$="":B$="LD":CB=0:FI=1 8 GOSUB 9:ON C4+1 GOTO 17,41,43,44 9 C0=PEEK(M):C4=INT(C0/64):C=C0-64*C4:C8=INT(C/8):C=C-8*C8:CF=INT(C8/2) 10 CE=0:IF C8=2*CF THEN CE=1 11 RETURN 12 D=PEEK(M+1):V$="+":IF D>127 THEN D=D-256:V$="" 13 D$=STR$(D):IF D>=0 THEN D$=MID$(D$,2) 14 RETURN 15 M=M+2:D=DEEK(M-1):GOTO 13 16 M=M+1:D=PEEK(M):GOTO 13 17 ON C+1 GOTO 18,23,25,30,32,32,34,35 18 IF C8=0 THEN B$="NOP":ELSE IF C8=1 THEN B$="EXAF":ELSE 20 19 GOTO 4 20 IF C8=2 THEN B$="DJNZ":GOTO 22:ELSE B$="JR":IF C8=3 THEN 22 21 B$=B$+F$(C8-4) 22 GOSUB 12:M=M+1:U$=STR$(M0+D+2):GOTO 4 23 IF CE=0 THEN B$="ADD":U$=D$(2)+","+D$(CF):GOTO 4 24 U$=D$(CF)+",#":GOTO 4 25 IF CF>1 THEN 27:ELSE X$="("+D$(CF)+")" 26 IF CE=1 THEN U$=X$+",A":GOTO 4:ELSE U$="A,"+X$:GOTO 4 27 X$="(#)":Y$=D$(2):IF CF=3 THEN Y$="A" 28 IF CE=1 THEN U$=X$+","+Y$:ELSE U$=Y$+","+X$ 29 GOTO 4 30 B$="DEC":IF CE=1 THEN B$="INC" 31 U$=D$(CF):GOTO 4 32 B$="INC":IF C=5 THEN B$="DEC" 33 U$=R$(C8):GOTO 4 34 U$=R$(C8)+",^":GOTO 4 35 IF C8=3 THEN 38:ELSE X$="L":Y$="":IF CF=0 THEN Y$="C" 36 IF CE=0 THEN X$="R" 37 B$="R"+X$+Y$+"A":GOTO 4 38 IF C8=4 THEN B$="DAA":ELSE IF C8=5 THEN B$="CPL$:ELSEB$="SCF " 39 IF C8=7 THEN B$="CCF" 40 GOTO 4 41 IF C0=118 THEN B$="HALT":ELSE U$=R$(C8)+","+R$(C) 42 GOTO 4 43 B$=OP$(C8):U$=R$(C):GOTO 4 44 IF C<>2*INT(C/2)THEN 47:ELSE IF C=6 THEN B$=OP$(C8):ELSE B$=BW$(C/2)+F$(C8) 45 IF C=0 THEN 4:ELSE U$="#":IF C=6 THEN U$="^" 46 GOTO 4 47 IF C=7 THEN B$="RST":U$=MID$(STR$(8*C8),2):GOTO 4 48 IF C=3 THEN 58:ELSE IF CE=0 THEN 52 49 IF C=1 THEN B$="POP":ELSE B$="PUSH" 50 U$=D$(CF):IF CF=3 THEN U$="AF" 51 GOTO 4 52 IF C=5 THEN 55:ELSE IF CF=0 THEN B$="RET":ELSE IF CF=1 THEN B$="EXX" 53 IF CF=2 THEN B$="JP":U$="("+D$(2)+")":ELSE IF CF=3 THEN U$="SP,"+D$(2) 54 GOTO 99 55 IF CF=0 THEN U$="#":B$="CALL":GOTO 4 56 IF CF=2 THEN 63:ELSE FI=2:X$="IX":IF CF=3 THEN X$="IY" 57 M=M+1:GOSUB 12:D$(2)=X$:R$(6)="("+X$+V$+D$+")":GOTO 8 58 IF C8=0 THEN B$="JP":U$="#":GOTO 4:ELSE IF C8=1 THEN 85 59 IF C8=6 THEN B$="DI":GOTO 4:ELSE IF C8=7 THEN B$="EI":GOTO 4 60 IF C8>3 THEN 62:ELSE B$="OUT":IF C8=3 THEN B$="IN" 61 U$="^":GOTO 4 62 B$="EX":IF C8=4 THEN U$="(SP),"+D$(2):GOTO 4:ELSE U$="DE,HL":GOTO 4 63 M=M+1:GOSUB 9:ON C4 GOTO 69,64:GOTO 84 64 IF C0<160 THEN 84:ELSE D$="I":IF CE=0 THEN D$="D" 65 IF CF=3 THEN D$=D$+"R" 66 IF C=1 THEN B$="CP":ELSE IF C=2 THEN B$="IN":ELSE IF C=3 THEN B$="OUT" 67 B$=B$+D$:IF LEN(B$)>4 THEN B$="O"+MID$(B$,3) 68 IF C<4 THEN 4:ELSE 84 69 ON C+1 GOTO 70,70,72,73,75,76,77,79 70 B$="IN":IF C=1 THEN B$="OUT" 71 IF C8=6 THEN 84:ELSE U$=R$(C8):GOTO 4 72 B$=OP$(1+2*CE):U$="HL,"+D$(CF):GOTO 4 73 IF CF=2 THEN 84:ELSE U$="(#)" 74 IF E=0 THEN U$=D$(CF)+","+U$:GOTO 4:ELSE U$=U$;",";D$(CF):GOTO 4 75 IF C0=68 THEN B$="NEG":GOTO 4:ELSE 84 76 IF C0=69 THEN B$="RETN":GOTO 4:ELSE IF C0=77 THEN B$="RETI":GOTO 4:ELSE 84 77 IF C8=1 OR C8>3 THEN 84:ELSE IF C8>0 THEN C8=C8-1 78 B$="IM"+CHR$(48+C8):GOTO 4 79 ON CF+1 GOTO 80,80,82:GOTO 84 80 D$="I":IF CE=0 THEN D$="R" 81 IF CF=0 THEN U$=D$+",A":GOTO 4:ELSE IF CF=1 THEN U$="A,"+D$:GOTO 4 82 D$="R":IF CE=0 THEN D$="L" 83 B$="R"+D$+"D":GOTO 4 84 B$="???":GOTO 4 85 C8=1:M=M+FI:GOSUB 9:IF C4>0 THEN 90:ELSE X$="L":IF CE=0 THEN X$="R" 86 D$="R":IF CF>1 THEN D$="S":GOTO 88:ELSE Y$="C":IF CF=1 THEN Y$="" 87 B$=D$+X$+Y$:U$=R$(C):GOTO 4 88 U$="A":IF C8=7 THEN Y$="L":ELSE IF C8=6 THEN NS=1:Y$="E" 89 GOTO 87 90 B$="BIT":IF C4=2 THEN B$="RES":ELSE IF C4=3 THEN B$="SET" 91 U$=CHR$(C8+48)+","+R$(C):GOTO 4 92 I=M0+(1-SGN(M0+.1))*32768:D=INT(I/256):I=I-256*D:GOSUB 93:D=I 93 C0=D:C=16:FOR K=0 TO 1:L=INT(D/C):D=D-16*L:C=1:IF L>9 THEN L=L+7 94 PRINT CHR$(L+48);:NEXT K:RETURN 95 V$=U$+" ":IF INSTR("(I",V$)>0 AND C8=0 THEN M=M+1 96 I=INSTR("#",V$):K=INSTR("^",V$):L=I+K 97 IF I>0 THEN GOSUB 15:ELSE IF K>0 THEN GOSUB 16:ELSE 99 98 U$=LEFT$(U$,L-1)+D$+MID$(U$,L+1) 99 GOSUB 92:PRINT " ";M0;TAB(10);B$;" ";U$;TAB(22); 100 FOR I=M0 TO M:D=PEEK(I):GOSUB 93:NEXT I:GOSUB 114 101 A$=INKEY$:IF A$=""THEN 101:ELSE B=ASC(A$) 102 IF A+B<>188 AND(A=94 OR B=94)THEN M=M0-1 103 A=B:IF A=27 THEN END:ELSE IF A=64 THEN INPUT "NEW ADRESS";A$:GOSUB 107:M=M0-1 104 M0=M+1:M=M0:IF A<>94 THEN 7 105 GOSUB 92:PRINT " ";M0;TAB(12);:D=PEEK(M0):GOSUB 93:IF C0<32 THEN C0=32 106 PRINT " ";CHR$(C0):GOTO 101 107 IF A$=""OR A$="H"THEN 112 108 IF RIGHT$(A$,1)="H"THEN 110:ELSE M0=VAL(A$):IF M0=VAL(A$+"1")THEN 112 109 M0=M0-(1+SGN(M0-32767.1))*32768:RETURN 110 M0=0:FOR I=1 TO LEN(A$)-1:A=ASC(MID$(A$,I,1))-48:C=0:IF A>9 THEN A=A-7:C=-10 111 IF A+C<0 OR A>15 THEN 112:ELSE M0=M0*16+A:NEXT I:GOTO 109 112 INPUT "***CONVERSION-ERROR - repeat:";A$:GOTO 107 113 CLS:WINDOW 5,25,0,31:OUT 136,4:INPUT "START AT:";A$:GOSUB 107:M=M0:GOTO 5 114 FOR I=M0 TO M:D=PEEK(I):IF D<31 THEN 115:ELSE PRINT TAB(30);(CHR$(D)); 115 NEXT I:PRINT:RETURN