C能弄出来,但傻得多
1: <br /> 0000 3000 MOVLW 0<br /> 0001 008A MOVWF 0xa<br /> 0002 2804 GOTO 0x4<br /> 0003 0000 NOP<br />2: <br />3: #if defined(__PCB__)<br />4: #include <16C56.h><br />5: #fuses HS,NOWDT,NOPROTECT<br />6: #use delay(clock=20000000)<br />7: #use rs232(baud=9600, xmit=PIN_A3, rcv=PIN_A2)<br />8: <br />9: #elif defined(__PCM__)<br />10: <br />11: #include <16F877.h><br />12: #device *=16<br />13: #fuses HS,NOWDT,NOPROTECT,NOLVP<br />14: #use delay(clock=20000000)<br />15: <br />16: #elif defined(__PCH__)<br />17: #include <18F452.h><br />18: #fuses HS,NOWDT,NOPROTECT,NOLVP<br />19: #use delay(clock=20000000)<br />20: #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)<br />21: #endif<br />22: <br />23: <br />24: <br />25: <br />26: //#include <string.h><br />27: int8 A[64];<br />28: #locate A = 0x020<br />29: int8 B[64];<br />30: #locate B = 0x0A0<br />31: <br />32: int8 C[64];<br />33: #locate C = 0x120<br />34: int8 D[64];<br />35: #locate D = 0x1A0<br />36: <br />37: int8 i;<br />38: void main() {<br /> 0004 0184 CLRF 0x4<br /> 0005 1383 BCF 0x3, 0x7<br /> 0006 301F MOVLW 0x1f<br /> 0007 0583 ANDWF 0x3, F<br /> 0008 1683 BSF 0x3, 0x5<br /> 0009 141F BSF 0x1f, 0<br /> 000A 149F BSF 0x1f, 0x1<br /> 000B 151F BSF 0x1f, 0x2<br /> 000C 119F BCF 0x1f, 0x3<br />39: <br />40: <br />41: while(1){<br />42: <br />43: for(i=0;i<64;i++)<br /> 000D 1283 BCF 0x3, 0x5<br /> 000E 01E0 CLRF 0x60<br /> 000F 0860 MOVF 0x60, W<br /> 0010 3C3F SUBLW 0x3f<br /> 0011 1C03 BTFSS 0x3, 0<br /> 0012 282C GOTO 0x2c<br />44: {<br />45: A=i;<br /> 0013 3020 MOVLW 0x20<br /> 0014 0760 ADDWF 0x60, W<br /> 0015 0084 MOVWF 0x4<br /> 0016 1383 BCF 0x3, 0x7<br /> 0017 0860 MOVF 0x60, W<br /> 0018 0080 MOVWF 0<br />46: B=i+64;<br /> 0019 30A0 MOVLW 0xa0<br /> 001A 0760 ADDWF 0x60, W<br /> 001B 0084 MOVWF 0x4<br /> 001C 1383 BCF 0x3, 0x7<br /> 001D 3040 MOVLW 0x40<br /> 001E 0760 ADDWF 0x60, W<br /> 001F 0080 MOVWF 0<br />47: C=0;<br /> 0020 3020 MOVLW 0x20<br /> 0021 0760 ADDWF 0x60, W<br /> 0022 0084 MOVWF 0x4<br /> 0023 1783 BSF 0x3, 0x7<br /> 0024 0180 CLRF 0<br />48: D=0;<br /> 0025 30A0 MOVLW 0xa0<br /> 0026 0760 ADDWF 0x60, W<br /> 0027 0084 MOVWF 0x4<br /> 0028 1783 BSF 0x3, 0x7<br /> 0029 0180 CLRF 0<br />49: }<br /> 002A 0AE0 INCF 0x60, F<br /> 002B 280F GOTO 0xf<br />50: <br />51: <br />52: <br />53: #asm nop #endasm<br /> 002C 0000 NOP<br />54: <br />55: MEMCPY( &C[0],&A[0], 64);<br /> 002D 3001 MOVLW 0x1<br /> 002E 00E2 MOVWF 0x62<br /> 002F 3020 MOVLW 0x20<br /> 0030 00E1 MOVWF 0x61<br /> 0031 01E4 CLRF 0x64<br /> 0032 00E3 MOVWF 0x63<br /> 0033 3040 MOVLW 0x40<br /> 0034 00F8 MOVWF 0x78<br /> 0035 0863 MOVF 0x63, W<br /> 0036 0084 MOVWF 0x4<br /> 0037 1383 BCF 0x3, 0x7<br /> 0038 1864 BTFSC 0x64, 0<br /> 0039 1783 BSF 0x3, 0x7<br /> 003A 0800 MOVF 0, W<br /> 003B 00F7 MOVWF 0x77<br /> 003C 0861 MOVF 0x61, W<br /> 003D 0084 MOVWF 0x4<br /> 003E 1383 BCF 0x3, 0x7<br /> 003F 1862 BTFSC 0x62, 0<br /> 0040 1783 BSF 0x3, 0x7<br /> 0041 0877 MOVF 0x77, W<br /> 0042 0080 MOVWF 0<br /> 0043 0AE1 INCF 0x61, F<br /> 0044 1903 BTFSC 0x3, 0x2<br /> 0045 0AE2 INCF 0x62, F<br /> 0046 0AE3 INCF 0x63, F<br /> 0047 1903 BTFSC 0x3, 0x2<br /> 0048 0AE4 INCF 0x64, F<br /> 0049 0BF8 DECFSZ 0x78, F<br /> 004A 2835 GOTO 0x35<br />56: MEMCPY( &D[0],&B[0], 64);<br /> 004B 3001 MOVLW 0x1<br /> 004C 00E2 MOVWF 0x62<br /> 004D 30A0 MOVLW 0xa0<br /> 004E 00E1 MOVWF 0x61<br /> 004F 01E4 CLRF 0x64<br /> 0050 00E3 MOVWF 0x63<br /> 0051 3040 MOVLW 0x40<br /> 0052 00F8 MOVWF 0x78<br /> 0053 0863 MOVF 0x63, W<br /> 0054 0084 MOVWF 0x4<br /> 0055 1383 BCF 0x3, 0x7<br /> 0056 1864 BTFSC 0x64, 0<br /> 0057 1783 BSF 0x3, 0x7<br /> 0058 0800 MOVF 0, W<br /> 0059 00F7 MOVWF 0x77<br /> 005A 0861 MOVF 0x61, W<br /> 005B 0084 MOVWF 0x4<br /> 005C 1383 BCF 0x3, 0x7<br /> 005D 1862 BTFSC 0x62, 0<br /> 005E 1783 BSF 0x3, 0x7<br /> 005F 0877 MOVF 0x77, W<br /> 0060 0080 MOVWF 0<br /> 0061 0AE1 INCF 0x61, F<br /> 0062 1903 BTFSC 0x3, 0x2<br /> 0063 0AE2 INCF 0x62, F<br /> 0064 0AE3 INCF 0x63, F<br /> 0065 1903 BTFSC 0x3, 0x2<br /> 0066 0AE4 INCF 0x64, F<br /> 0067 0BF8 DECFSZ 0x78, F<br /> 0068 2853 GOTO 0x53<br />57: <br />58: #asm nop #endasm<br /> 0069 0000 NOP<br />59: // memmove(&A, &B ,5);<br />60: }<br /> 006A 1683 BSF 0x3, 0x5<br /> 006B 280D GOTO 0xd<br />61: <br /> 006C 0063 SLEEP<br />
|
|