	list      p=12F508           ; директива ассемлера для указания
	#include <p12c508.inc>       ; типа микроконтроллера и подключение
                           

	__CONFIG   0FEEH 
start:
  CLRF 0x4                               
  MOVWF 0x5                              
  BCF 0x3, 0x5                           
  BCF 0x4, 0x5                           
  CLRF 0x10                              
  CLRF 0x11                              
  CLRF 0x12                              
  CLRF 0x13                              
  CLRF 0x14                              
  CLRF 0x15                              
  CLRF 0x16                              
  CLRF 0x17                              
  CLRF 0x18                              
  CLRF 0x19                              
  CLRF 0x4                               
  BSF 0x3, 0x5                           
  GOTO m2                             
  BCF 0x3, 0x5                           
  GOTO m1                              
  XORLW 0xff                             
m1:
  NOP                                    
  MOVLW 0x3                              
  BCF 0x4, 0x5                           
  XORWF 0x18, W                          
  IORWF 0x19, W                          
  BTFSS 0x3, 0x2                         
  GOTO m3                             
  MOVLW 0x2                              
  MOVWF 0x1a                             
  CLRF 0x1b                              
  BTFSC 0x6, 0                           
  BTFSC 0x6, 0x3                         
  GOTO m4                              
  MOVLW 0x5                              
  CLRF 0x18                              
  CLRF 0x19                              
  MOVWF 0x1a                             
  CLRF 0x1b                              
  RETLW 0                                
m4:
  MOVF 0x14, W                           
  IORWF 0x15, W                          
  BTFSS 0x3, 0x2                         
  GOTO m5                             
  INCF 0x1e, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x1f, F                           
  MOVLW 0                                
  SUBWF 0x1f, W                          
  MOVLW 0xfe                             
  BTFSC 0x3, 0x2                         
  SUBWF 0x1e, W                          
  GOTO m6                              
m7:
  MOVLW 0x1                              
  MOVWF 0xe                              
  CLRF 0xf                               
  SUBWF 0x1e, F                          
  MOVF 0xf, W                            
  BTFSS 0x3, 0                           
  DECF 0x1f, F                           
  SUBWF 0x1f, F                          
  MOVF 0x1f, W                           
  MOVWF 0xf                              
  MOVF 0x1e, W                           
  MOVWF 0xe                              
  MOVF 0xf, W                            
  SUBWF 0x1d, W                          
  BTFSS 0x3, 0x2                         
  GOTO m6                              
  MOVF 0xe, W                            
  SUBWF 0x1c, W                          
m6:
  BTFSS 0x3, 0                           
  RETLW 0                                
  MOVLW 0xfd                             
  MOVWF 0x1e                             
  CLRF 0x1f                              
  INCF 0x14, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x15, F                           
  RETLW 0                                
m5:
  DECF 0x14, W                           
m2:
  IORWF 0x15, W                          
  BTFSC 0x3, 0x2                         
  GOTO m7                              
  MOVF 0x15, W                           
  MOVWF 0xf                              
  MOVF 0x14, W                           
  MOVWF 0xe                              
  INCF 0x14, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x15, F                           
  MOVLW 0                                
  SUBWF 0xf, W                           
  MOVLW 0x5                              
  BTFSC 0x3, 0x2                         
  SUBWF 0EH, W


  
  BTFSS 0x3, 0                           
  RETLW 0                                
  MOVF 0x15, W                           
  MOVWF 0xf                              
  MOVF 0x14, W                           
  MOVWF 0xe                              
  INCF 0x14, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x15, F                           
  MOVLW 0                                
  SUBWF 0xf, W                           
  MOVLW 0xa                              
  BTFSC 0x3, 0x2                         
  SUBWF 0xe, W                           
  BTFSC 0x3, 0                           
  GOTO m8                             
m10:
  MOVF 0x1d, W                           
  MOVWF 0x1f                             
  MOVF 0x1c, W                           
  MOVWF 0x1e                             
  RETLW 0                                
m9:
  MOVLW 0xfd                             
  MOVWF 0x1e                             
  CLRF 0x1f                              
  RETLW 0                                
m8:
  MOVF 0x15, W                           
  MOVWF 0xf                              
  MOVF 0x14, W                           
  MOVWF 0xe                              
  INCF 0x14, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x15, F                           
  MOVLW 0                                
  SUBWF 0xf, W                           
  MOVLW 0xf                              
  BTFSC 0x3, 0x2                         
  SUBWF 0xe, W                           
  BTFSS 0x3, 0                           
  GOTO m9                             
  MOVF 0x15, W                           
  MOVWF 0xf                              
  MOVF 0x14, W                           
  MOVWF 0xe                              
  INCF 0x14, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x15, F                           
  MOVLW 0                                
  SUBWF 0xf, W                           
  MOVLW 0x14                             
  BTFSC 0x3, 0x2                         
  SUBWF 0xe, W                           
  BTFSS 0x3, 0                           
  GOTO m10                             
  MOVF 0x15, W                           
  MOVWF 0xf                              
  MOVF 0x14, W                           
  MOVWF 0xe                              
  INCF 0x14, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x15, F                           
  MOVLW 0                                
  SUBWF 0xf, W                           
  MOVLW 0x19                             
  BTFSC 0x3, 0x2                         
  SUBWF 0xe, W                           
  BTFSS 0x3, 0                           
  GOTO m9                             
  MOVF 0x15, W                           
  MOVWF 0xf                              
  MOVF 0x14, W                           
  MOVWF 0xe                              
  INCF 0x14, F                           
  BTFSC 0x3, 0x2                         
  INCF 0x15, F                           
  MOVLW 0                                
  SUBWF 0xf, W                           
  MOVLW 0x1e                             
  BTFSC 0x3, 0x2                         
      SUBWF 0xe, W                           
      MOVF 0x1d, W                           
      MOVWF 0x1f                             
      MOVF 0x1c, W                           
      MOVWF 0x1e                             
      BTFSS 0x3, 0                           
      RETLW 0                                
      CLRF 0x14                              
      CLRF 0x15                              
      INCF 0x16, F                           
      BTFSC 0x3, 0x2                         
      INCF 0x17, F                           
      INCF 0x16, W                           
      IORWF 0x17, W                          
      BTFSS 0x3, 0x2                         
      RETLW 0                                
      MOVLW 0x3                              
      CLRF 0x18                              
      CLRF 0x19                              
      MOVWF 0x1a                             
      CLRF 0x1b                              
      CLRF 0x16                              
      CLRF 0x17                              
      RETLW 0                                
m3:
      MOVF 0x18, W                           
      IORWF 0x19, W                          
      BTFSC 0x3, 0x2                         
      GOTO 0x190                             
      INCF 0x16, F                           
      BTFSC 0x3, 0x2                         
      INCF 0x17, F                           
      MOVLW 0x60                             
      XORWF 0x16, W                          
      IORWF 0x17, W                          
      BTFSS 0x3, 0x2                         
      GOTO m11                             
      MOVLW 0x3                              
      MOVWF 0x1a                             
      CLRF 0x1b                              
      CLRF 0x16                              
      CLRF 0x17                              
      CLRF 0x18                              
      CLRF 0x19                              
m11:
      MOVF 0x18, W                           
      IORWF 0x19, W                          
      BTFSC 0x3, 0x2                         
      BTFSC 0x6, 0                           
      GOTO m12                             
      BTFSC 0x6, 0x3                         
      GOTO m12                             
      CLRF 0x18                              
      INCF 0x18, F                           
      CLRF 0x19                              
m12:
      DECF 0x18, W                           
      IORWF 0x19, W                          
      BTFSC 0x3, 0x2                         
      BTFSC 0x6, 0                           
      GOTO m13                             
      BTFSS 0x6, 0x3                         
      GOTO m13                             
      MOVLW 0x2                              
      MOVWF 0x18                             
      CLRF 0x19                              
m13:
      MOVLW 0x2                              
      XORWF 0x18, W                          
      IORWF 0x19, W                          
      BTFSC 0x3, 0x2                         
      BTFSC 0x6, 0                           
      GOTO 0x1b7                             
      BTFSC 0x6, 0x3                         
      GOTO m14                             
      MOVLW 0x3                              
      MOVWF 0x18                             
      CLRF 0x19                              
      CLRF 0x14                              
      CLRF 0x15                              
      MOVF 0x1d, W                           
      MOVWF 0x1f                             
      MOVF 0x1c, W                           
      MOVWF 0x1e                             
      CLRF 0x16                              
      CLRF 0x17                              

m14:
      BTFSS 0x6, 0x3                         
      BTFSC 0x6, 0                           
      GOTO m15                             
      MOVF 0x12, W                           
      IORWF 0x13, W                          
      BTFSS 0x3, 0x2                         
      GOTO m16                             
      CLRF 0x12                              
      INCF 0x12, F                           
      CLRF 0x13                              
      MOVF 0x1d, W                           
      MOVWF 0xf                              
      MOVF 0x1c, W                           
      MOVWF 0xe                              
      MOVF 0xf, W                            
      XORWF 0x1f, W                          
      BTFSS 0x3, 0x2                         
      GOTO m19                             
      MOVF 0xe, W                            
      XORWF 0x1e, W                          
m19:
      BTFSS 0x3, 0x2                         
      GOTO 0x1d1                             
      MOVLW 0xfd                             
      MOVWF 0x1e                             
      CLRF 0x1f                              
      GOTO m16                             
m20:
      MOVF 0x1d, W                           
      MOVWF 0x1f                             
      MOVF 0x1c, W                           
      MOVWF 0x1e                             
      GOTO m16                             
m15:
      CLRF 0x12                              
      CLRF 0x13                              
m16:
      BTFSS 0x6, 0                           
      BTFSS 0x6, 0x3                         
      GOTO m17                             
      INCF 0x1e, F                           
      BTFSC 0x3, 0x2                         
      INCF 0x1f, F                           
m17:
      BTFSC 0x6, 0                           
      BTFSC 0x6, 0x3                         
      GOTO m18                             
      MOVLW 0x1                              
      MOVWF 0xe                              
      CLRF 0xf                               
      SUBWF 0x1e, F                          
      MOVF 0xf, W                            
      BTFSS 0x3, 0                           
      DECF 0x1f, F                           
      SUBWF 0x1f, F                          
m18:
      MOVLW 0                                
      SUBWF 0x1f, W                          
      MOVLW 0xfe                             
      BTFSC 0x3, 0x2                         
      SUBWF 0x1e, W                          
      BTFSS 0x3, 0                           
      GOTO m21                             
      MOVLW 0xfd                             
      MOVWF 0x1e                             
      CLRF 0x1f                              
m21:
      MOVF 0x1d, W                           
      MOVWF 0xf                              
      MOVF 0x1c, W                           
      MOVWF 0xe                              
      MOVF 0xf, W                            
      SUBWF 0x1f, W                          
      BTFSS 0x3, 0x2                         
      GOTO m22                             
      MOVF 0xe, W                            
      SUBWF 0x1e, W                          
m22:
      BTFSC 0x3, 0                           
      RETLW 0                                
      MOVLW 0                                
	end