; G:\DOC\MM47\MM47V38.asm, generated by postasm.sno 1.0 W.Strobl '98 ; Generated by pic14dis (Timo Rossi '95) LIST P=16F84 start btfss 0X03,4 ; _T300 return clrf 0X06 ; _N9600 goto _PortA goto inthandler _PortA movlw 0X5F ; _B67 movwf 0X0C ; _B0 _ON2400 _W0 movlw 0X0D ; _B1 _ON1200 movwf 0X04 ; _N2400 startclr_clear clrf 0X00 ; _T2400 incf 0X04,f ; _N2400 decfsz 0X0C,f ; _B0 _ON2400 _W0 _wert goto startclr_clear _zaehler goto main FW@Pin call W@Pin FW@Bit movwf 0X04 ; _N2400 _a0 andlw 0X07 ; _N300 _a1 xorwf 0X04,f ; _N2400 _a2 bcf 0X03,0 ; _T300 _a3 rrf 0X04,f ; _N2400 _antw_schwarz rrf 0X04,f ; _N2400 _antw_weiss rrf 0X04,f ; _N2400 _schwarz btfsc 0X04,4 ; _N2400 _weiss bsf 0X04,7 ; _N2400 _n bcf 0X04,4 ; _N2400 _i clrf 0X0A ; _OT9600 _c0 addwf 0X02,f ; _T9600 _c1 retlw 0X01 ; _T1200 _c2 retlw 0X02 ; _T9600 _c3 retlw 0X04 ; _N2400 _count retlw 0X08 ; _OT2400 retlw 0X10 ; _B4 _W2 _answer retlw 0X20 ; _B20 _W10 _temp retlw 0X40 ; _B36 _W18 retlw 0X80 ; 0X80 W@Pin andlw 0X07 ; _N300 clrf 0X0A ; _OT9600 addwf 0X02,f ; _T9600 retlw 0X30 ; I1 _PIN0 _PORT0 retlw 0X31 ; I2 _PIN1 _PORT1 retlw 0X32 ; _B22 _PIN2 _PORT2 _W11 retlw 0X33 ; _B23 _PIN3 _PORT3 retlw 0X34 ; _B24 _PIN4 _PORT4 _W12 retlw 0X35 ; _B25 _PIN5 _PORT5 retlw 0X36 ; _B26 _PIN6 _PORT6 _W13 retlw 0X37 ; _B27 _PIN7 _PORT7 main goto _start inthandler movwf 0X2F ; I0 swapf 0X03,w ; _T300 movwf 0X30 ; I1 _PIN0 _PORT0 movf 0X04,w ; _N2400 movwf 0X31 ; I2 _PIN1 _PORT1 bcf 0X0B,0 ; _OT300 movf 0X06,f ; _N9600 returnfromint movf 0X31,w ; I2 _PIN1 _PORT1 movwf 0X04 ; _N2400 swapf 0X30,w ; I1 _PIN0 _PORT0 movwf 0X03 ; _T300 swapf 0X2F,f ; I0 swapf 0X2F,w ; I0 bcf 0X0B,2 ; _OT300 retfie convert movf 0X0C,w ; _B0 _ON2400 _W0 andlw 0X0F ; _B3 _ON300 addwf 0X02,f ; _T9600 retlw 0X3F ; _B35 retlw 0X06 ; _N9600 retlw 0X5B ; _B63 _rdm retlw 0X4F ; _B51 retlw 0X66 ; _B74 _BIT6 _W37 _tempw retlw 0X6D ; _BIT13 retlw 0X7D ; 0X7D retlw 0X07 ; _N300 retlw 0XBF ; 0XBF _d0 retlw 0X86 ; 0X86 _d1 retlw 0XDB ; 0XDB _d2 retlw 0XCF ; 0XCF _d3 retlw 0XE6 ; 0XE6 _gcount retlw 0XED ; 0XED retlw 0XFD ; 0XFD retlw 0X87 ; 0X87 _b2c movf 0X0D,w ; _B1 _ON1200 movwf 0X1B ; _B15 movf 0X0C,w ; _B0 _ON2400 _W0 movwf 0X1A ; _B14 _W7 movf 0X0F,w ; _B3 _ON300 movwf 0X1D ; _B17 movf 0X0E,w ; _B2 _ON9600 _W1 movwf 0X1C ; _B16 _W8 goto done _b2d movf 0X0D,w ; _B1 _ON1200 movwf 0X4B ; _B47 movf 0X0C,w ; _B0 _ON2400 _W0 movwf 0X4A ; _B46 _W23 movf 0X0F,w ; _B3 _ON300 movwf 0X4D ; _B49 movf 0X0E,w ; _B2 _ON9600 _W1 movwf 0X4C ; _B48 _W24 goto done _d2a movf 0X4B,w ; _B47 movwf 0X11 ; _B5 movf 0X4A,w ; _B46 _W23 movwf 0X10 ; _B4 _W2 movf 0X4D,w ; _B49 movwf 0X13 ; _B7 movf 0X4C,w ; _B48 _W24 movwf 0X12 ; _B6 _W3 goto done _compare clrf 0X16 ; _B10 _W5 clrf 0X17 ; _B11 movf 0X10,w ; _B4 _W2 btfsc 0X03,2 ; _T300 goto 0X0077 ; _T2400 subwf 0X1A,w ; _B14 _W7 btfss 0X03,2 ; _T300 goto 0X0077 ; _T2400 incf 0X16,f ; _B10 _W5 clrf 0X10 ; _B4 _W2 clrf 0X1A ; _B14 _W7 movf 0X11,w ; _B5 btfsc 0X03,2 ; _T300 goto 0X0080 ; _T2400 subwf 0X1B,w ; _B15 btfss 0X03,2 ; _T300 goto 0X0080 ; _T2400 incf 0X16,f ; _B10 _W5 clrf 0X11 ; _B5 clrf 0X1B ; _B15 movf 0X12,w ; _B6 _W3 btfsc 0X03,2 ; _T300 goto 0X0089 ; _T2400 subwf 0X1C,w ; _B16 _W8 btfss 0X03,2 ; _T300 _TrisA goto 0X0089 ; _T2400 incf 0X16,f ; _B10 _W5 clrf 0X12 ; _B6 _W3 clrf 0X1C ; _B16 _W8 movf 0X13,w ; _B7 btfsc 0X03,2 ; _T300 goto 0X0092 ; _T2400 subwf 0X1D,w ; _B17 btfss 0X03,2 ; _T300 goto 0X0092 ; _T2400 incf 0X16,f ; _B10 _W5 clrf 0X13 ; _B7 clrf 0X1D ; _B17 movf 0X10,w ; _B4 _W2 btfsc 0X03,2 ; _T300 goto 0X009B ; _T2400 subwf 0X1B,w ; _B15 btfss 0X03,2 ; _T300 goto 0X009B ; _T2400 incf 0X17,f ; _B11 clrf 0X10 ; _B4 _W2 clrf 0X1B ; _B15 movf 0X10,w ; _B4 _W2 btfsc 0X03,2 ; _T300 goto 0X00A4 ; _T2400 subwf 0X1C,w ; _B16 _W8 btfss 0X03,2 ; _T300 goto 0X00A4 ; _T2400 incf 0X17,f ; _B11 clrf 0X10 ; _B4 _W2 clrf 0X1C ; _B16 _W8 movf 0X10,w ; _B4 _W2 btfsc 0X03,2 ; _T300 goto 0X00AD ; _T2400 subwf 0X1D,w ; _B17 btfss 0X03,2 ; _T300 goto 0X00AD ; _T2400 incf 0X17,f ; _B11 clrf 0X10 ; _B4 _W2 clrf 0X1D ; _B17 movf 0X11,w ; _B5 btfsc 0X03,2 ; _T300 goto 0X00B6 ; _T2400 subwf 0X1A,w ; _B14 _W7 btfss 0X03,2 ; _T300 goto 0X00B6 ; _T2400 incf 0X17,f ; _B11 clrf 0X11 ; _B5 clrf 0X1A ; _B14 _W7 movf 0X11,w ; _B5 btfsc 0X03,2 ; _T300 goto 0X00BF ; _T2400 subwf 0X1C,w ; _B16 _W8 btfss 0X03,2 ; _T300 goto 0X00BF ; _T2400 incf 0X17,f ; _B11 clrf 0X11 ; _B5 clrf 0X1C ; _B16 _W8 movf 0X11,w ; _B5 btfsc 0X03,2 ; _T300 goto 0X00C8 ; _T2400 subwf 0X1D,w ; _B17 btfss 0X03,2 ; _T300 goto 0X00C8 ; _T2400 incf 0X17,f ; _B11 clrf 0X11 ; _B5 clrf 0X1D ; _B17 movf 0X12,w ; _B6 _W3 btfsc 0X03,2 ; _T300 goto 0X00D1 ; _T2400 subwf 0X1A,w ; _B14 _W7 btfss 0X03,2 ; _T300 goto 0X00D1 ; _T2400 incf 0X17,f ; _B11 clrf 0X12 ; _B6 _W3 clrf 0X1A ; _B14 _W7 movf 0X12,w ; _B6 _W3 btfsc 0X03,2 ; _T300 goto 0X00DA ; _T2400 subwf 0X1B,w ; _B15 btfss 0X03,2 ; _T300 goto 0X00DA ; _T2400 incf 0X17,f ; _B11 clrf 0X12 ; _B6 _W3 clrf 0X1B ; _B15 movf 0X12,w ; _B6 _W3 btfsc 0X03,2 ; _T300 goto 0X00E3 ; _T2400 subwf 0X1D,w ; _B17 btfss 0X03,2 ; _T300 goto 0X00E3 ; _T2400 incf 0X17,f ; _B11 clrf 0X12 ; _B6 _W3 clrf 0X1D ; _B17 movf 0X13,w ; _B7 btfsc 0X03,2 ; _T300 goto 0X00EC ; _T2400 subwf 0X1A,w ; _B14 _W7 btfss 0X03,2 ; _T300 goto 0X00EC ; _T2400 incf 0X17,f ; _B11 clrf 0X13 ; _B7 clrf 0X1A ; _B14 _W7 movf 0X13,w ; _B7 btfsc 0X03,2 ; _T300 goto 0X00F5 ; _T2400 subwf 0X1B,w ; _B15 btfss 0X03,2 ; _T300 goto 0X00F5 ; _T2400 incf 0X17,f ; _B11 clrf 0X13 ; _B7 clrf 0X1B ; _B15 movf 0X13,w ; _B7 btfsc 0X03,2 ; _T300 goto 0X00FE ; _T2400 subwf 0X1C,w ; _B16 _W8 btfss 0X03,2 ; _T300 goto 0X00FE ; _T2400 incf 0X17,f ; _B11 clrf 0X13 ; _B7 clrf 0X1C ; _B16 _W8 goto done _display movlw 0XC8 ; 0XC8 movwf 0X0D ; _B1 _ON1200 call convert movwf 0X0C ; _B0 _ON2400 _W0 dl movf 0X0C,w ; _B0 _ON2400 _W0 andlw 0XC0 ; 0XC0 movwf 0X06 ; _N9600 movf 0X0C,w ; _B0 _ON2400 _W0 andlw 0X30 ; I1 _PIN0 _PORT0 movwf 0X06 ; _N9600 movf 0X0C,w ; _B0 _ON2400 _W0 andlw 0X0C ; _B0 _ON2400 _W0 movwf 0X06 ; _N9600 movf 0X0C,w ; _B0 _ON2400 _W0 andlw 0X03 ; _T300 movwf 0X06 ; _N9600 decfsz 0X0D,f ; _B1 _ON1200 goto dl movlw 0X00 ; _T2400 movwf 0X06 ; _N9600 goto done _getrandom movlw 0X44 ; _B40 _W20 call random@ movlw 0X44 ; _B40 _W20 call R0@I movlw 0X07 ; _N300 call and@0W movf 0X22,w ; R0 movwf 0X21 ; _B21 movf 0X21,w ; _B21 call R0@0W movlw 0X00 ; _T2400 call gt@0W btfss 0X03,2 ; _T300 goto _okreturn movlw 0X01 ; _T1200 movwf 0X21 ; _B21 _okreturn goto done _displaykombi movlw 0X00 ; _T2400 movwf 0X22 ; R0 movlw 0X85 ; 0X85 call poke@ movlw 0X07 ; _N300 movwf 0X22 ; R0 movlw 0X05 ; _N1200 call poke@ movf 0X4A,w ; _B46 _W23 movwf 0X0C ; _B0 _ON2400 _W0 call _display movlw 0X0B ; _OT300 movwf 0X22 ; R0 movlw 0X05 ; _N1200 call poke@ movf 0X4B,w ; _B47 movwf 0X0C ; _B0 _ON2400 _W0 call _display movlw 0X0D ; _B1 _ON1200 movwf 0X22 ; R0 movlw 0X05 ; _N1200 call poke@ movf 0X4C,w ; _B48 _W24 movwf 0X0C ; _B0 _ON2400 _W0 call _display movlw 0X0E ; _B2 _ON9600 _W1 movwf 0X22 ; R0 movlw 0X05 ; _N1200 call poke@ movf 0X4D,w ; _B49 movwf 0X0C ; _B0 _ON2400 _W0 call _display goto done _displayweiss movlw 0X00 ; _T2400 movwf 0X22 ; R0 movlw 0X85 ; 0X85 call poke@ movlw 0X07 ; _N300 movwf 0X22 ; R0 movlw 0X05 ; _N1200 call poke@ movf 0X15,w ; _B9 movwf 0X0C ; _B0 _ON2400 _W0 call _display _displayschwarz movlw 0X00 ; _T2400 movwf 0X22 ; R0 movlw 0X85 ; 0X85 call poke@ movlw 0X0B ; _OT300 movwf 0X22 ; R0 movlw 0X05 ; _N1200 call poke@ movf 0X14,w ; _B8 _W4 movwf 0X0C ; _B0 _ON2400 _W0 call _display goto done _keyb movlw 0XFF ; 0XFF movwf 0X22 ; R0 movlw 0X85 ; 0X85 call poke@ clrf 0X06 ; _N9600 movlw 0X3F ; _B35 call TRISB@W bsf 0X03,5 ; _T300 bcf 0X01,7 ; _T1200 bcf 0X03,5 ; _T300 movlw 0X01 ; _T1200 call pause@0W movf 0X06,w ; _N9600 movwf 0X21 ; _B21 movf 0X21,w ; _B21 call R0@0W movlw 0XC0 ; 0XC0 call eq@0W btfss 0X03,2 ; _T300 goto _keybok _waitk movlw 0X64 ; _B72 _BIT4 _W36 call pause@0W movf 0X06,w ; _N9600 call R0@0W movlw 0XC0 ; 0XC0 call eq@0W btfss 0X03,2 ; _T300 goto _keybok goto _waitk _keybok movlw 0XFF ; 0XFF call TRISB@W clrf 0X06 ; _N9600 movlw 0X00 ; _T2400 movwf 0X22 ; R0 movlw 0X85 ; 0X85 call poke@ goto done _schlafe movlw 0X7F ; 0X7F call TRISB@W movlw 0X00 ; _T2400 movwf 0X22 ; R0 movlw 0X85 ; 0X85 call poke@ movlw 0X0F ; _B3 _ON300 movwf 0X22 ; R0 movlw 0X05 ; _N1200 call poke@ movlw 0X80 ; 0X80 movwf 0X06 ; _N9600 movf 0X06,f ; _N9600 bsf 0X0B,3 ; _OT300 bsf 0X0B,7 ; _OT300 bsf 0X03,5 ; _T300 bcf 0X01,7 ; _T1200 bcf 0X03,5 ; _T300 sleep goto _start _start movlw 0XFF ; 0XFF call TRISB@W bcf 0X0B,3 ; _OT300 bsf 0X03,5 ; _T300 bcf 0X01,7 ; _T1200 bcf 0X03,5 ; _T300 _startl movlw 0X09 ; _OT1200 call pause@0W call _keyb movlw 0X44 ; _B40 _W20 call R0@I movlw 0X01 ; _T1200 call add@0W movlw 0X44 ; _B40 _W20 call I@R0 movf 0X21,w ; _B21 call R0@0W movlw 0XC0 ; 0XC0 call eq@0W btfss 0X03,2 ; _T300 goto _schlafe movlw 0X44 ; _B40 _W20 call random@ clrf 0X4F ; _B51 clrf 0X4E ; _B50 _W25 clrf 0X1F ; _B19 clrf 0X1E ; _B18 _W9 clrf 0X18 ; _B12 _W6 call _getrandom movf 0X21,w ; _B21 movwf 0X4A ; _B46 _W23 call _getrandom movf 0X21,w ; _B21 movwf 0X4B ; _B47 call _getrandom movf 0X21,w ; _B21 movwf 0X4C ; _B48 _W24 call _getrandom movf 0X21,w ; _B21 movwf 0X4D ; _B49 _outerloop call _displaykombi call _keyb movf 0X21,w ; _B21 call R0@0W movlw 0XC0 ; 0XC0 call eq@0W btfss 0X03,2 ; _T300 goto _outerloop clrf 0X14 ; _B8 _W4 clrf 0X15 ; _B9 _il1 call _displayschwarz call _keyb movf 0X21,w ; _B21 call R0@0W movlw 0X40 ; _B36 _W18 call eq@0W btfss 0X03,2 ; _T300 goto _incschwarz movf 0X21,w ; _B21 call R0@0W movlw 0X80 ; 0X80 call eq@0W btfss 0X03,2 ; _T300 goto _il2 goto _il1 _incschwarz movf 0X14,w ; _B8 _W4 call R0@0W movlw 0X01 ; _T1200 call add@0W movf 0X22,w ; R0 movwf 0X14 ; _B8 _W4 movf 0X14,w ; _B8 _W4 call R0@0W movlw 0X05 ; _N1200 call lt@0W btfss 0X03,2 ; _T300 goto _il1 clrf 0X14 ; _B8 _W4 _il1a goto _il1 _il2 call _displayweiss call _keyb movf 0X21,w ; _B21 call R0@0W movlw 0X40 ; _B36 _W18 call eq@0W btfss 0X03,2 ; _T300 goto _incweiss movf 0X21,w ; _B21 call R0@0W movlw 0X80 ; 0X80 call eq@0W btfss 0X03,2 ; _T300 goto _il9 goto _il2 _incweiss movf 0X15,w ; _B9 call R0@0W movlw 0X01 ; _T1200 call add@0W movf 0X22,w ; R0 movwf 0X15 ; _B9 movf 0X15,w ; _B9 call R0@0W movlw 0X05 ; _N1200 call lt@0W btfss 0X03,2 ; _T300 goto _il2 clrf 0X15 ; _B9 _il2a goto _il2 _il9 call _d2a movf 0X14,w ; _B8 _W4 andlw 0X0F ; _B3 _ON300 movwf 0X20 ; _B20 _W10 swapf 0X15,w ; _B9 andlw 0XF0 ; 0XF0 iorwf 0X20,f ; _B20 _W10 movlw 0X32 ; _B22 _PIN2 _PORT2 _W11 addwf 0X18,w ; _B12 _W6 addwf 0X18,w ; _B12 _W6 addwf 0X18,w ; _B12 _W6 movwf 0X04 ; _N2400 movf 0X10,w ; _B4 _W2 andlw 0X0F ; _B3 _ON300 movwf 0X00 ; _T2400 swapf 0X00,f ; _T2400 movf 0X11,w ; _B5 andlw 0X0F ; _B3 _ON300 iorwf 0X00,f ; _T2400 incf 0X04,f ; _N2400 movf 0X12,w ; _B6 _W3 andlw 0X0F ; _B3 _ON300 movwf 0X00 ; _T2400 swapf 0X00,f ; _T2400 movf 0X13,w ; _B7 andlw 0X0F ; _B3 _ON300 iorwf 0X00,f ; _T2400 incf 0X04,f ; _N2400 movf 0X20,w ; _B20 _W10 movwf 0X00 ; _T2400 movf 0X18,w ; _B12 _W6 call R0@0W movlw 0X01 ; _T1200 call add@0W movf 0X22,w ; R0 movwf 0X18 ; _B12 _W6 clrf 0X1F ; _B19 clrf 0X1E ; _B18 _W9 movlw 0X07 ; _N300 movwf 0X0C ; _B0 _ON2400 _W0 movlw 0X07 ; _N300 movwf 0X0D ; _B1 _ON1200 movlw 0X07 ; _N300 movwf 0X0E ; _B2 _ON9600 _W1 movlw 0X07 ; _N300 movwf 0X0F ; _B3 _ON300 _middleloop clrf 0X19 ; _B13 _innerloop movf 0X19,w ; _B13 call R0@0W movf 0X18,w ; _B12 _W6 call eq@0W btfss 0X03,2 ; _T300 goto _innerloop_succ movlw 0X32 ; _B22 _PIN2 _PORT2 _W11 addwf 0X19,w ; _B13 addwf 0X19,w ; _B13 addwf 0X19,w ; _B13 movwf 0X04 ; _N2400 movf 0X00,w ; _T2400 andlw 0X0F ; _B3 _ON300 movwf 0X11 ; _B5 swapf 0X00,w ; _T2400 andlw 0X0F ; _B3 _ON300 movwf 0X10 ; _B4 _W2 incf 0X04,f ; _N2400 movf 0X00,w ; _T2400 andlw 0X0F ; _B3 _ON300 movwf 0X13 ; _B7 swapf 0X00,w ; _T2400 andlw 0X0F ; _B3 _ON300 movwf 0X12 ; _B6 _W3 incf 0X04,f ; _N2400 movf 0X00,w ; _T2400 movwf 0X20 ; _B20 _W10 call _b2c call _compare movf 0X16,w ; _B10 _W5 andlw 0X0F ; _B3 _ON300 movwf 0X21 ; _B21 swapf 0X17,w ; _B11 andlw 0XF0 ; 0XF0 iorwf 0X21,f ; _B21 movf 0X20,w ; _B20 _W10 call R0@0W movf 0X21,w ; _B21 call eq@0W btfss 0X03,2 ; _T300 goto _innerloop_next goto _innerloop_fail _innerloop_next movf 0X19,w ; _B13 call R0@0W movlw 0X01 ; _T1200 call add@0W movf 0X22,w ; R0 movwf 0X19 ; _B13 goto _innerloop _innerloop_succ movlw 0X1E ; _B18 _W9 call R0@I movlw 0X01 ; _T1200 call add@0W movlw 0X1E ; _B18 _W9 call I@R0 movlw 0X44 ; _B40 _W20 call random@ movlw 0XFF ; 0XFF movwf 0X23 ; 0X23 movlw 0XFF ; 0XFF movwf 0X22 ; R0 movlw 0X1E ; _B18 _W9 call R1@I call div@ movlw 0X46 ; _B42 _W21 call I@R0 movlw 0X46 ; _B42 _W21 call R0@I movlw 0X44 ; _B40 _W20 call R1@I call lt@ btfss 0X03,2 ; _T300 goto _innerloop_fail call _b2d _innerloop_fail movlw 0X4E ; _B50 _W25 call R0@I movlw 0X01 ; _T1200 call add@0W movlw 0X4E ; _B50 _W25 call I@R0 decfsz 0X0F,f ; _B3 _ON300 goto _middleloop movlw 0X07 ; _N300 movwf 0X0F ; _B3 _ON300 decfsz 0X0E,f ; _B2 _ON9600 _W1 goto _middleloop movlw 0X07 ; _N300 movwf 0X0E ; _B2 _ON9600 _W1 decfsz 0X0D,f ; _B1 _ON1200 goto _middleloop movlw 0X07 ; _N300 movwf 0X0D ; _B1 _ON1200 decfsz 0X0C,f ; _B0 _ON2400 _W0 goto _middleloop movlw 0X07 ; _N300 movwf 0X0C ; _B0 _ON2400 _W0 goto _Middleloop_out _Middleloop_out movlw 0X1E ; _B18 _W9 call R0@I movlw 0X00 ; _T2400 call eq@0W btfss 0X03,2 ; _T300 goto _Fehler movlw 0X1E ; _B18 _W9 call R0@I movlw 0X01 ; _T1200 call eq@0W btfss 0X03,2 ; _T300 goto _Erfolg goto _outerloop _Erfolg movf 0X4A,w ; _B46 _W23 call R0@0W movlw 0X08 ; _OT2400 call xor@0W movf 0X22,w ; R0 movwf 0X4A ; _B46 _W23 clrf 0X47 ; _B43 clrf 0X46 ; _B42 _W21 call _displaykombi movlw 0X46 ; _B42 _W21 call R0@I call incR0 movlw 0X46 ; _B42 _W21 call I@R0 movlw 0X00 ; _T2400 call lt@0W btfss 0X03,2 ; _T300 goto 0X02B5 ; _T9600 movlw 0X0A ; _OT9600 call gt@0W btfsc 0X03,2 ; _T300 goto 0X02A7 ; _T9600 call _keyb movf 0X21,w ; _B21 call R0@0W movlw 0XC0 ; 0XC0 call ne@0W btfss 0X03,2 ; _T300 goto _start movf 0X4B,w ; _B47 call R0@0W movlw 0X08 ; _OT2400 call xor@0W movf 0X22,w ; R0 movwf 0X4B ; _B47 clrf 0X47 ; _B43 clrf 0X46 ; _B42 _W21 call _displaykombi movlw 0X46 ; _B42 _W21 call R0@I call incR0 movlw 0X46 ; _B42 _W21 call I@R0 movlw 0X00 ; _T2400 call lt@0W btfss 0X03,2 ; _T300 goto 0X02D2 ; _T9600 movlw 0X0A ; _OT9600 call gt@0W btfsc 0X03,2 ; _T300 goto 0X02C4 ; _T9600 call _keyb movf 0X21,w ; _B21 call R0@0W movlw 0XC0 ; 0XC0 call ne@0W btfss 0X03,2 ; _T300 goto _start movf 0X4C,w ; _B48 _W24 call R0@0W movlw 0X08 ; _OT2400 call xor@0W movf 0X22,w ; R0 movwf 0X4C ; _B48 _W24 clrf 0X47 ; _B43 clrf 0X46 ; _B42 _W21 call _displaykombi movlw 0X46 ; _B42 _W21 call R0@I call incR0 movlw 0X46 ; _B42 _W21 call I@R0 movlw 0X00 ; _T2400 call lt@0W btfss 0X03,2 ; _T300 goto 0X02EF ; _T9600 movlw 0X0A ; _OT9600 call gt@0W btfsc 0X03,2 ; _T300 goto 0X02E1 ; _T9600 call _keyb movf 0X21,w ; _B21 call R0@0W movlw 0XC0 ; 0XC0 call ne@0W btfss 0X03,2 ; _T300 goto _start movf 0X4D,w ; _B49 call R0@0W movlw 0X08 ; _OT2400 call xor@0W movf 0X22,w ; R0 movwf 0X4D ; _B49 clrf 0X47 ; _B43 clrf 0X46 ; _B42 _W21 call _displaykombi movlw 0X46 ; _B42 _W21 call R0@I call incR0 movlw 0X46 ; _B42 _W21 call I@R0 movlw 0X00 ; _T2400 call lt@0W btfss 0X03,2 ; _T300 goto 0X030C ; _T300 movlw 0X0A ; _OT9600 call gt@0W btfsc 0X03,2 ; _T300 goto 0X02FE ; _T9600 call _keyb movf 0X21,w ; _B21 call R0@0W movlw 0XC0 ; 0XC0 call ne@0W btfss 0X03,2 ; _T300 goto _start goto _Erfolg _Fehler clrf 0X4A ; _B46 _W23 clrf 0X4B ; _B47 clrf 0X4C ; _B48 _W24 clrf 0X4D ; _B49 goto _Erfolg _Ende call end@ end@ movlw 0X07 ; _N300 call nap@ goto end@ poke@ movwf 0X04 ; _N2400 movf 0X22,w ; R0 movwf 0X00 ; _T2400 goto done pause@0W clrf 0X23 ; 0X23 pause@XW movwf 0X22 ; R0 pause@ call negR0 pause@_loop clrwdt movf 0X23,w ; 0X23 iorwf 0X22,w ; R0 btfsc 0X03,2 ; _T300 return movlw 0XF7 ; 0XF7 pause@_delay addlw 0XFF ; 0XFF btfss 0X03,2 ; _T300 goto pause@_delay call incR0 goto pause@_loop nap@ bsf 0X03,5 ; _T300 andlw 0X07 ; _N300 iorlw 0XF8 ; 0XF8 movwf 0X01 ; _T1200 sleep movlw 0XFF ; 0XFF movwf 0X01 ; _T1200 goto done random@ movwf 0X24 ; R1 call R0@I call random@R0 movf 0X24,w ; R1 call I@R0 goto done random@R0 movf 0X23,w ; 0X23 iorwf 0X22,w ; R0 btfsc 0X03,2 ; _T300 incf 0X22,f ; R0 movlw 0X80 ; 0X80 btfsc 0X22,4 ; R0 xorwf 0X23,f ; 0X23 btfsc 0X22,2 ; R0 xorwf 0X23,f ; 0X23 btfsc 0X22,1 ; R0 xorwf 0X23,f ; 0X23 rlf 0X23,w ; 0X23 rlf 0X22,f ; R0 rlf 0X23,f ; 0X23 return xor@0W clrf 0X25 ; 0X25 xor@XW movwf 0X24 ; R1 xor@ movf 0X24,w ; R1 xorwf 0X22,f ; R0 movf 0X25,w ; 0X25 xorwf 0X23,f ; 0X23 goto done div@ movlw 0X10 ; _B4 _W2 movwf 0X2B ; T2 clrf 0X2A ; T1 clrf 0X29 ; T0 div@_next bsf 0X03,0 ; _T300 rlf 0X22,f ; R0 rlf 0X23,f ; 0X23 rlf 0X29,f ; T0 rlf 0X2A,f ; T1 call negR1 movlw 0X29 ; T0 call add@I btfss 0X03,0 ; _T300 bcf 0X22,0 ; R0 call negR1 movlw 0X29 ; T0 btfss 0X22,0 ; R0 call add@I decfsz 0X2B,f ; T2 goto div@_next goto done and@0W clrf 0X25 ; 0X25 and@XW movwf 0X24 ; R1 and@ movf 0X24,w ; R1 andwf 0X22,f ; R0 movf 0X25,w ; 0X25 andwf 0X23,f ; 0X23 goto done add@0W clrf 0X25 ; 0X25 add@XW movwf 0X24 ; R1 add@ movlw 0X22 ; R0 add@I movwf 0X04 ; _N2400 movf 0X24,w ; R1 addwf 0X00,f ; _T2400 movf 0X25,w ; 0X25 add@IN incfsz 0X04,f ; _N2400 nop add@IF btfsc 0X03,0 ; _T300 addlw 0X01 ; _T1200 btfss 0X03,0 ; _T300 addwf 0X00,f ; _T2400 goto done negR0 comf 0X23,f ; 0X23 comf 0X22,f ; R0 incR0 incf 0X22,f ; R0 btfsc 0X03,2 ; _T300 incf 0X23,f ; 0X23 return negR1 call comR1 incR1 incf 0X24,f ; R1 btfsc 0X03,2 ; _T300 incf 0X25,f ; 0X25 goto done comR1 comf 0X25,f ; 0X25 comf 0X24,f ; R1 goto done gt@0W clrf 0X25 ; 0X25 gt@XW movwf 0X24 ; R1 gt@ call cmp andlw 0X01 ; _T1200 goto done eq@0W clrf 0X25 ; 0X25 eq@XW movwf 0X24 ; R1 eq@ call cmp andlw 0X02 ; _T9600 goto done ne@0W clrf 0X25 ; 0X25 ne@XW movwf 0X24 ; R1 ne@ call cmp andlw 0X05 ; _N1200 goto done lt@0W clrf 0X25 ; 0X25 lt@XW movwf 0X24 ; R1 lt@ call cmp andlw 0X04 ; _N2400 goto done cmp movf 0X25,w ; 0X25 subwf 0X23,w ; 0X23 btfss 0X03,2 ; _T300 goto cmp_ne movf 0X24,w ; R1 subwf 0X22,w ; R0 btfsc 0X03,2 ; _T300 retlw 0X02 ; _T9600 cmp_ne btfss 0X03,0 ; _T300 retlw 0X04 ; _N2400 retlw 0X01 ; _T1200 TRISB@W xorlw 0XFF ; 0XFF bsf 0X03,5 ; _T300 movwf 0X06 ; _N9600 goto done R0@0W clrf 0X23 ; 0X23 movwf 0X22 ; R0 goto done R0@I movwf 0X04 ; _N2400 movf 0X00,w ; _T2400 movwf 0X22 ; R0 incf 0X04,f ; _N2400 movf 0X00,w ; _T2400 movwf 0X23 ; 0X23 goto done I@R0 movwf 0X04 ; _N2400 movf 0X22,w ; R0 movwf 0X00 ; _T2400 incf 0X04,f ; _N2400 movf 0X23,w ; 0X23 movwf 0X00 ; _T2400 goto done R1@I movwf 0X04 ; _N2400 movf 0X00,w ; _T2400 movwf 0X24 ; R1 incf 0X04,f ; _N2400 movf 0X00,w ; _T2400 movwf 0X25 ; 0X25 goto done done bcf 0X03,5 ; _T300 clrwdt return ; ID ; ID ; ID ; ID ; Fuses (CP=Off, PWRTE=Disabled, WDTE=Enabled, OSC=XT) end