1 REM ********************************* 2 REM * * 3 REM * LOGISCHE OPERATIONEN * 4 REM * * 5 REM * ZUM VERFOLGEN IM BINAERFORMAT * 6 REM * NOT,AND,OR,EOR * 7 REM * * 8 REM * HEIMO PONNATH HAMBURG 1985 * 9 REM * * 10 REM********************************* 15 PRINTCHR$(147):GOTO200 20 REM ***** UP-CURSOR SETZEN ***** 25 POKE211,S:POKE214,Z:SYS58640:RETURN 30 REM ***** UP-EINGABETEST ******* 35 E=ABS(E):A=(E>=0):B=(E<255) 40 IFAANDBTHENM=8:RETURN 45 A=(E>=255):B=(E<32768) 50 IFAANDBTHENM=16:RETURN 55 M=0:RETURN 60 REM ***** UP-EINGABE 1 ********* 65 S=1:Z=5:GOSUB25:PRINTCHR$(28)"WELCHE ZAHL SOLLS DENN SEIN?" 70 Z=7:GOSUB25:PRINT"SIE MUSS ZWISCHEN -32767UND +32767 SEIN" 75 Z=9:GOSUB25:INPUTW:E=W:GOSUB35:IFM=0THENPOKE781,9:SYS59903:GOTO75 80 PRINTCHR$(30):RETURN 85 REM ***** UP-EINGABE 2 ********* 90 S=1:Z=5:GOSUB25:PRINTCHR$(28)"GEBEN SIE NUN DIE BEIDEN ZAHLEN EIN." 95 S=1:Z=7:GOSUB25:PRINT"SIE MUESSEN ZW. -32767 U. +32767 SEIN!" 100 Z=9:GOSUB25:INPUT"ERSTE ZAHL =";W1:E=W1:GOSUB35:M1=M 105 IFM=0THENPOKE781,9:SYS59903:GOTO100 110 Z=11:GOSUB25:INPUT"ZWEITE ZAHL=";W2:E=W2:GOSUB35 115 IFM=0THENPOKE781,11:SYS59903:GOTO110 120 M=16+8*((M1=8)AND(M=8)):PRINTCHR$(30):RETURN 125 REM **** UP-UMRECHNUNG DEZ/BIN **** 130 BI$="":DI=DE 135 DI=DI/2:D$="0":IFDI<>INT(DI)THEND$="1" 140 DI=INT(DI):BI$=D$+BI$:IFDI>0THEN135 145 IFLEN(BI$)"5"THEN340 345 ONVAL(B$)GOSUB400,500,600,700,800 350 Z=23:S=1:GOSUB25:PRINTCHR$(3)"WEITER DURCH TASTENDRUCK..." 355 POKE198,0:WAIT198,1:GOTO300 399 REM **** OPTION - NOT *********** 400 PRINTCHR$(147):Z=2:S=1:GOSUB25:PRINTCHR$(18)" OPTION NOT "CHR$(146) 405 BI$="":BE$="":D$="":W=0:DE=0:K=0:GOSUB65:IFW<0THEN450 410 DE=W:GOSUB130 412 Z=15:S=0:GOSUB25:GOSUB175:PRINTTAB(15)Z$+" NOT":BE$="" 415 FORI=1TOM:D$=MID$(BI$,I,1):IFD$="1"THEND$="0":GOTO420 417 D$="1" 420 BE$=BE$+D$:NEXTI:IFK=1THENRETURN 425 BI$=BE$:A$=BE$:GOSUB160:Z=17:S=0:GOSUB25:GOSUB175:BE$="":RETURN 440 REM **** UP-NEGATIVE BINAERZAHL *** 450 W=NOTW:DE=W:GOSUB130:K=1:GOSUB415:A$=BE$:GOSUB160:K=0:IFX=1THENRETURN 455 BI$=BE$:BE$="":GOTO412 499 REM **** OPTION - AND *********** 500 PRINTCHR$(147):Z=2:S=1:GOSUB25:PRINTCHR$(18)" OPTION AND "CHR$(146) 502 REM **** UP-EINGABENVERARBEITUNG ** 505 GOSUB90:IFW1<0THENW=W1:X=1:GOSUB450:X=0:BI$(1)=BE$:DE(1)=DE:BE$="":DE=0 510 IFW2<0THENW=W2:X=1:GOSUB450:X=0:BI$(2)=BE$:DE(2)=DE:BE$="":DE=0 515 IFW1>=0THENDE=W1:GOSUB130:DE(1)=DE:BI$(1)=BI$:DE=0:BI$="" 520 IFW2>=0THENDE=W2:GOSUB130:DE(2)=DE:BI$(2)=BI$:DE=0:BI$="" 525 Z=15:S=0:GOSUB25:DE=DE(1):BI$=BI$(1):GOSUB175 530 Z=16:GOSUB25:DE=DE(2):BI$=BI$(2):GOSUB175:IFV=1THENRETURN 532 PRINTTAB(15)Z$+" AND":BI$(3)="" 535 FORI=1TOM:A=VAL(MID$(BI$(1),I,1)):B=VAL(MID$(BI$(2),I,1)):C=AANDB 540 BI$(3)=BI$(3)+RIGHT$(STR$(C),1):NEXTI:A$=BI$(3):GOSUB160:BI$=BI$(3) 545 Z=18:GOSUB25:GOSUB175:RETURN 599 REM **** OPTION - OR ************ 600 PRINTCHR$(147):Z=2:S=1:GOSUB25:PRINTCHR$(18)" OPTION OR "CHR$(146) 605 V=1:GOSUB505:V=0 610 PRINTTAB(15)Z$+" OR":BI$(3)="" 615 FORI=1TOM:A=VAL(MID$(BI$(1),I,1)):B=VAL(MID$(BI$(2),I,1)):C=AORB 620 BI$(3)=BI$(3)+RIGHT$(STR$(C),1):NEXTI:A$=BI$(3):GOSUB160:BI$=BI$(3) 625 Z=18:GOSUB25:GOSUB175:RETURN 699 REM **** OPTION - EOR *********** 700 PRINTCHR$(147):Z=2:S=1:GOSUB25:PRINTCHR$(18)" OPTION EOR "CHR$(146) 705 V=1:GOSUB505:V=0 710 PRINTTAB(15)Z$+" EOR":BI$(3)="" 715 FORI=1TOM:A=VAL(MID$(BI$(1),I,1)):B=VAL(MID$(BI$(2),I,1)) 720 IFA+B=1THENC=1:GOTO730 725 C=0 730 BI$(3)=BI$(3)+RIGHT$(STR$(C),1):NEXTI:A$=BI$(3):GOSUB160:BI$=BI$(3) 735 Z=18:GOSUB25:GOSUB175:RETURN 799 REM **** OPTION-PROGRAMMENDE **** 800 PRINTCHR$(147):S=8:Z=12:GOSUB25:PRINT"DAS WAR'S...TSCHUESS !" 805 Z=22:S=0:GOSUB25:END