;; BEGIN inserted by fixasm.pl
;; MPASM workarounds:
BANKED  EQU 1
;; END inserted by fixasm.pl
;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.6.0 #4309 (Jul 28 2006)
; This file generated Wed Oct 11 18:32:44 2006
;--------------------------------------------------------
; PIC16 port for the Microchip 16-bit core micros
;--------------------------------------------------------
	list	p=18f452

	radix dec

;--------------------------------------------------------
; public variables in this module
;--------------------------------------------------------
	global _preset_encoder
	global _preset_flag
	global _evnt
	global _record_flag
	global _buffer_view
	global _storage_view
	global _stat
	global _bankchip
	global _display
	global _sendEditBuffer
	global _modus
	global _device
	global _bank
	global _modul
	global _knobs
	global _potis
	global _stepwidth
	global _bankstick
	global _mem_adress
	global _update
	global _led_time
	global _send_editbuffer
	global _get_userdata
	global _transfer_counter
	global _selected_device
	global _selected_modul
	global _eb_request
	global _parametersleft
	global _parametersright
	global _bankinitcount
	global _sysex
	global _received_func_flag
	global _inc_buffer
	global _preset_number
	global _check_sum
	global _receive_escape
	global _edit_buffer0
	global _edit_buffer1
	global _edit_buffer2
	global _edit_buffer3
	global _edit_buffer4
	global _edit_buffer5
	global _edit_buffer6
	global _edit_buffer7
	global _edit_buffer_header
	global _send_buffer
	global _debug
	global _debugb
	global _debugc
	global _debugi
	global _debugl
	global _printChar
	global _clearLCD
	global _setCursor
	global _printString
	global _printBCD1
	global _printBCD2
	global _printBCD3
	global _printBCD4
	global _printBCD5
	global _writeBank
	global _readBank
	global _writeStream
	global _readStream
	global _writeEditBuffer
	global _readEditBuffer
	global _strcpy
	global _loadDevice
	global _loadModul
	global _nextDump
	global _requestDump
	global _requestNextDump
	global _loadParameterPage
	global _saveParameterValues
	global _initDeviceModus
	global _initModulModus
	global _initParameterModus
	global _Init
	global _init_static
	global _init_dynamic
	global _init_dynamic_cont
	global _init_testbox_cont
	global _Tick
	global _MPROC_NotifyReceivedEvnt
	global _MPROC_NotifyFoundEvent
	global _MPROC_NotifyTimeout
	global _SR_Service_Prepare
	global _SR_Service_Finish
	global _AIN_NotifyChange
	global _Timer
	global _writeBar
	global _displayDevice
	global _displayModul
	global _displayParameter
	global _DISPLAY_Init
	global _DISPLAY_Tick
	global _empty_convert
	global _empty_EB_convert
	global _empty_EB_re_convert
	global _empty_checksum
	global _EB_convert_Matrix1000
	global _EB_re_convert_Matrix1000
	global _EB_convert_UltraProteus
	global _EB_re_convert_UltraProteus
	global _Single_Byte_Sysex_Input
	global _Double_Byte_Sysex_Input_BigEndian
	global _Double_Byte_Sysex_Input_LittleEndian
	global _checksum_Matrix1000
	global _checksum_UltraProteus
	global _convert
	global _eb_convert
	global _eb_re_convert
	global _checksum
	global _sendMessage
	global _sendReply
	global _MPROC_NotifyReceivedByte
	global _DIN_NotifyToggle
	global _ENC_NotifyChange

;--------------------------------------------------------
; extern variables in this module
;--------------------------------------------------------
	extern __gptrget1
	extern __gptrput1
	extern __divuchar
	extern __gptrget2
	extern _MIOS_BOX_CFG0
	extern _MIOS_BOX_CFG1
	extern _MIOS_BOX_STAT
	extern _MIOS_PARAMETER1
	extern _MIOS_PARAMETER2
	extern _MIOS_PARAMETER3
	extern _PORTAbits
	extern _PORTBbits
	extern _PORTCbits
	extern _PORTDbits
	extern _PORTEbits
	extern _LATAbits
	extern _LATBbits
	extern _LATCbits
	extern _LATDbits
	extern _LATEbits
	extern _TRISAbits
	extern _TRISBbits
	extern _TRISCbits
	extern _TRISDbits
	extern _TRISEbits
	extern _PIE1bits
	extern _PIR1bits
	extern _IPR1bits
	extern _PIE2bits
	extern _PIR2bits
	extern _IPR2bits
	extern _EECON1bits
	extern _RCSTAbits
	extern _TXSTAbits
	extern _T3CONbits
	extern _CCP2CONbits
	extern _CCP1CONbits
	extern _ADCON1bits
	extern _ADCON0bits
	extern _SSPCON2bits
	extern _SSPCON1bits
	extern _SSPSTATbits
	extern _T2CONbits
	extern _T1CONbits
	extern _RCONbits
	extern _WDTCONbits
	extern _LVDCONbits
	extern _OSCCONbits
	extern _T0CONbits
	extern _STATUSbits
	extern _INTCON3bits
	extern _INTCON2bits
	extern _INTCONbits
	extern _STKPTRbits
	extern _PORTA
	extern _PORTB
	extern _PORTC
	extern _PORTD
	extern _PORTE
	extern _LATA
	extern _LATB
	extern _LATC
	extern _LATD
	extern _LATE
	extern _TRISA
	extern _TRISB
	extern _TRISC
	extern _TRISD
	extern _TRISE
	extern _PIE1
	extern _PIR1
	extern _IPR1
	extern _PIE2
	extern _PIR2
	extern _IPR2
	extern _EECON1
	extern _EECON2
	extern _EEDATA
	extern _EEADR
	extern _EEADRH
	extern _RCSTA
	extern _TXSTA
	extern _TXREG
	extern _RCREG
	extern _SPBRG
	extern _T3CON
	extern _TMR3L
	extern _TMR3H
	extern _CCP2CON
	extern _CCPR2L
	extern _CCPR2H
	extern _CCP1CON
	extern _CCPR1L
	extern _CCPR1H
	extern _ADCON1
	extern _ADCON0
	extern _ADRESL
	extern _ADRESH
	extern _SSPCON2
	extern _SSPCON1
	extern _SSPSTAT
	extern _SSPADD
	extern _SSPBUF
	extern _T2CON
	extern _PR2
	extern _TMR2
	extern _T1CON
	extern _TMR1L
	extern _TMR1H
	extern _RCON
	extern _WDTCON
	extern _LVDCON
	extern _OSCCON
	extern _T0CON
	extern _TMR0L
	extern _TMR0H
	extern _STATUS
	extern _FSR2L
	extern _FSR2H
	extern _PLUSW2
	extern _PREINC2
	extern _POSTDEC2
	extern _POSTINC2
	extern _INDF2
	extern _BSR
	extern _FSR1L
	extern _FSR1H
	extern _PLUSW1
	extern _PREINC1
	extern _POSTDEC1
	extern _POSTINC1
	extern _INDF1
	extern _WREG
	extern _FSR0L
	extern _FSR0H
	extern _PLUSW0
	extern _PREINC0
	extern _POSTDEC0
	extern _POSTINC0
	extern _INDF0
	extern _INTCON3
	extern _INTCON2
	extern _INTCON
	extern _PRODL
	extern _PRODH
	extern _TABLAT
	extern _TBLPTRL
	extern _TBLPTRH
	extern _TBLPTRU
	extern _PCL
	extern _PCLATH
	extern _PCLATU
	extern _STKPTR
	extern _TOSL
	extern _TOSH
	extern _TOSU
	extern _MIOS_MIDI_BeginStream
	extern _MIOS_MIDI_EndStream
	extern _MIOS_MIDI_TxBufferPut
	extern _MIOS_DOUT_PinSet
	extern _MIOS_ENC_SpeedSet
	extern _MIOS_SRIO_NumberSet
	extern _MIOS_SRIO_UpdateFrqSet
	extern _MIOS_LCD_Clear
	extern _MIOS_LCD_PrintBCD1
	extern _MIOS_LCD_PrintBCD2
	extern _MIOS_LCD_PrintBCD3
	extern _MIOS_LCD_PrintBCD4
	extern _MIOS_LCD_PrintBCD5
	extern _MIOS_LCD_PrintChar
	extern _MIOS_LCD_TypeSet
	extern _MIOS_LCD_PrintCString
	extern _MIOS_GLCD_GCursorSet
	extern _MIOS_BANKSTICK_Read
	extern _MIOS_BANKSTICK_Write
	extern _MIOS_BANKSTICK_CtrlSet
	extern _MIOS_TIMER_Init
	extern _MIOS_Delay
	extern _MIOS_IIC_Start
	extern _MIOS_IIC_Stop
	extern __modulong
	extern __divulong
	extern __mullong
	extern __mulint
	extern __divsint
	extern __divuint
	extern __modsint
	extern _MIOS_MPROC_EVENT_TABLE
	extern _MIOS_ENC_PIN_TABLE
;--------------------------------------------------------
;	Equates to used internal registers
;--------------------------------------------------------
STATUS	equ	0xfd8
PCL	equ	0xff9
PCLATH	equ	0xffa
PCLATU	equ	0xffb
WREG	equ	0xfe8
TBLPTRL	equ	0xff6
TBLPTRH	equ	0xff7
TBLPTRU	equ	0xff8
TABLAT	equ	0xff5
FSR0L	equ	0xfe1 ;; normaly 0xfe9, changed by fixasm.pl
FSR0H	equ	0xfe2 ;; normaly 0xfea, changed by fixasm.pl
FSR1L	equ	0xfe9 ;; normaly 0xfe1, changed by fixasm.pl
FSR2L	equ	0xfd9
INDF0	equ	0xfe7 ;; normaly 0xfef, changed by fixasm.pl
POSTINC0	equ	0xfe6 ;; normaly 0xfee, changed by fixasm.pl
POSTDEC1	equ	0xfed ;; normaly 0xfe5, changed by fixasm.pl
PREINC1	equ	0xfec ;; normaly 0xfe4, changed by fixasm.pl
PLUSW2	equ	0xfdb
PRODL	equ	0xff3
PRODH	equ	0xff4


	idata
_sysex	db	0xff


; Internal registers
.registers	udata_ovr	0x010
r0x00	res	1
r0x01	res	1
r0x02	res	1
r0x03	res	1
r0x04	res	1
r0x05	res	1
r0x06	res	1
r0x07	res	1
r0x08	res	1
r0x09	res	1
r0x0a	res	1
r0x0b	res	1
r0x0c	res	1
r0x0d	res	1
r0x0e	res	1
r0x0f	res	1
r0x10	res	1
r0x11	res	1
r0x12	res	1
r0x13	res	1
r0x14	res	1
r0x15	res	1
r0x16	res	1
r0x17	res	1
r0x18	res	1
r0x19	res	1
r0x1a	res	1
r0x1b	res	1
r0x1c	res	1
r0x1d	res	1
r0x1e	res	1
r0x1f	res	1
r0x20	res	1
r0x21	res	1
r0x22	res	1
r0x23	res	1
r0x24	res	1
r0x25	res	1
r0x26	res	1
r0x27	res	1
r0x28	res	1
r0x29	res	1
r0x2a	res	1
r0x2b	res	1
r0x2c	res	1
r0x2d	res	1
r0x2e	res	1
r0x2f	res	1
r0x30	res	1
r0x31	res	1
r0x32	res	1
r0x33	res	1
r0x34	res	1
r0x35	res	1
r0x36	res	1
r0x37	res	1
r0x38	res	1
r0x39	res	1
r0x3a	res	1
r0x3b	res	1

udata_main_0	udata
_display	res	1

udata_main_1	udata
_bankchip	res	1

udata_main_2	udata
_stat	res	0

udata_main_3	udata
_storage_view	res	4

udata_main_4	udata
_buffer_view	res	2

udata_main_5	udata
_record_flag	res	1

udata_main_6	udata
_evnt	res	3

udata_main_7	udata
_preset_flag	res	1

udata_main_8	udata
_preset_encoder	res	1

udata_main_9	udata
_bankstick	res	1

udata_main_10	udata
_mem_adress	res	4

udata_main_11	udata
_edit_buffer0	res	256

udata_main_12	udata
_edit_buffer1	res	256

udata_main_13	udata
_edit_buffer2	res	256

udata_main_14	udata
_edit_buffer3	res	256

udata_main_15	udata
_edit_buffer4	res	256

udata_main_16	udata
_edit_buffer5	res	256

udata_main_17	udata
_edit_buffer6	res	2

udata_main_18	udata
_edit_buffer7	res	2

udata_main_19	udata
_selected_device	res	29

udata_main_20	udata
_device	res	4

udata_main_21	udata
_selected_modul	res	29

udata_main_22	udata
_bank	res	4

udata_main_23	udata
_eb_request	res	15

udata_main_24	udata
iTemp1	res	1

udata_main_25	udata
_edit_buffer_header	res	256

udata_main_26	udata
iTemp23	res	1

udata_main_27	udata
_parametersleft	res	224

udata_main_28	udata
_potis	res	36

udata_main_29	udata
_modul	res	4

udata_main_30	udata
_parametersright	res	224

udata_main_31	udata
_update	res	1

udata_main_32	udata
_modus	res	1

udata_main_33	udata
_knobs	res	1

udata_main_34	udata
_send_editbuffer	res	1

udata_main_35	udata
_led_time	res	1

udata_main_36	udata
_get_userdata	res	1

udata_main_37	udata
_bankinitcount	res	4

udata_main_38	udata
_stepwidth	res	2

udata_main_39	udata
_check_sum	res	1

udata_main_40	udata
_receive_escape	res	1

udata_main_41	udata
_transfer_counter	res	4

udata_main_42	udata
_preset_number	res	32

udata_main_43	udata
_init_testbox_cont_param_1_1	res	28

udata_main_44	udata
_init_testbox_cont_buffer_1_1	res	22

udata_main_45	udata
_writeBar_printBuff_1_1	res	6

udata_main_46	udata
iTemp3	res	1

udata_main_47	udata
iTemp15	res	2

udata_main_48	udata
_sendMessage_evnt_1_1	res	3

udata_main_49	udata
_send_buffer	res	256

udata_main_50	udata
_received_func_flag	res	1

udata_main_51	udata
_inc_buffer	res	5

;--------------------------------------------------------
; global & static initialisations
;--------------------------------------------------------
; I code from now on!
; ; Starting pCode block
S_main__ENC_NotifyChange	code
_ENC_NotifyChange:
;	.line	260; src/notify.c	void ENC_NotifyChange(unsigned char encoder, char incrementer) __wparam
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVWF	r0x00
	MOVLW	0x02
	MOVFF	PLUSW2, r0x01
;	.line	269; src/notify.c	param=0;
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
;	.line	270; src/notify.c	min=0;
	CLRF	r0x05
	CLRF	r0x06
;	.line	271; src/notify.c	max=0;
	CLRF	r0x07
	CLRF	r0x08
;	.line	272; src/notify.c	encoderold=encoder;							//keeping original encoder number (needed for MIOS Speed Set)
	MOVFF	r0x00, r0x09
;	.line	273; src/notify.c	encoder=encoder+((encoder%8)<4?(encoder%4):(encoder%4)-3);		//remapping of encoder actual <-> logical
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x0a
	MOVLW	0x04
	SUBWF	r0x0a, W
	BC	_02466_DS_
	MOVLW	0x03
	ANDWF	r0x00, W
	MOVWF	r0x0a
	BRA	_02467_DS_
_02466_DS_:
	MOVLW	0x03
	ANDWF	r0x00, W
	MOVWF	r0x0b
	MOVLW	0xfd
	ADDWF	r0x0b, W
	MOVWF	r0x0a
_02467_DS_:
	MOVF	r0x0a, W
	ADDWF	r0x00, F
	BANKSEL	_get_userdata
;	.line	318; src/notify.c	if(get_userdata)
	MOVF	_get_userdata, W, B
	BZ	_02415_DS_
;	.line	319; src/notify.c	return;
	GOTO	_02464_DS_
_02415_DS_:
	BANKSEL	_eb_request
;	.line	321; src/notify.c	if (eb_request.active)
	BTFSS	_eb_request, 0, B
	BRA	_02417_DS_
;	.line	322; src/notify.c	return;
	GOTO	_02464_DS_
_02417_DS_:
	BANKSEL	_eb_request
;	.line	324; src/notify.c	if (eb_request.error)
	BTFSS	_eb_request, 1, B
	BRA	_02419_DS_
;	.line	325; src/notify.c	return;
	GOTO	_02464_DS_
_02419_DS_:
	BANKSEL	_modus
;	.line	328; src/notify.c	if(modus==MOD_PARAMETER) {
	MOVF	_modus, W, B
	XORLW	0x02
	BZ	_02497_DS_
	GOTO	_02464_DS_
_02497_DS_:
;	.line	330; src/notify.c	if (encoder<=7) {										//choosing array of left or right encoders
	MOVLW	0x08
	SUBWF	r0x00, W
	CLRF	r0x0a
	RLCF	r0x0a, F
	MOVF	r0x0a, W
	BNZ	_02423_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x0b
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
;	.line	331; src/notify.c	param = &parametersleft[encoder];
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0b
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x0b, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x0c
	ADDWFC	r0x0c, F
	MOVF	r0x0c, W
	MOVWF	r0x03
	MOVF	r0x0b, W
	MOVWF	r0x02
	MOVLW	0x80
	MOVWF	r0x04
	BRA	_02424_DS_
_02423_DS_:
;	.line	334; src/notify.c	if (encoder>7) {
	MOVF	r0x0a, W
	BZ	_02424_DS_
;	.line	335; src/notify.c	param = &parametersright[encoder%8];
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x0a
; ;multiply lit val:0x1c by variable r0x0a and store in r0x0a
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x0a, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0a
	MOVLW	LOW(_parametersright)
	ADDWF	r0x0a, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x0b
	ADDWFC	r0x0b, F
	MOVF	r0x0b, W
	MOVWF	r0x03
	MOVF	r0x0a, W
	MOVWF	r0x02
	MOVLW	0x80
	MOVWF	r0x04
_02424_DS_:
;	.line	338; src/notify.c	if(!((param->messageChannel)&0xF0))						//return if mode=OFF
	MOVLW	0x0a
	ADDWF	r0x02, W
	MOVWF	r0x0a
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0c
	MOVFF	r0x0a, FSR0L
	MOVFF	r0x0b, PRODL
	MOVF	r0x0c, W
	CALL	__gptrget1
	MOVWF	r0x0a
	MOVF	r0x0a, W
	ANDLW	0xf0
	BNZ	_02426_DS_
;	.line	339; src/notify.c	return;
	GOTO	_02464_DS_
_02426_DS_:
;	.line	341; src/notify.c	if((param->modeSelect)&0x08)							//only react if mode "Encoder"
	MOVLW	0x0b
	ADDWF	r0x02, W
	MOVWF	r0x0a
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0c
	MOVFF	r0x0a, FSR0L
	MOVFF	r0x0b, PRODL
	MOVF	r0x0c, W
	CALL	__gptrget1
	MOVWF	r0x0d
	BTFSS	r0x0d, 3
	BRA	_02428_DS_
;	.line	342; src/notify.c	return;
	GOTO	_02464_DS_
_02428_DS_:
;	.line	344; src/notify.c	if((param->modeSelect)&0x04)							//Set acceleration 2 for 7Bit, 6 for 14Bit
	BTFSS	r0x0d, 2
	BRA	_02430_DS_
;	.line	345; src/notify.c	MIOS_ENC_SpeedSet(encoderold, MIOS_ENC_SPEED_FAST, ((param->modeSelect)&0x02)*2+2);
	MOVLW	0x02
	ANDWF	r0x0d, F
; ;multiply lit val:0x02 by variable r0x0d and store in r0x0d
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x0d, F
	INCF	r0x0d, F
	INCF	r0x0d, F
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	CALL	_MIOS_ENC_SpeedSet
	MOVLW	0x02
	ADDWF	FSR1L, F
	BRA	_02431_DS_
_02430_DS_:
;	.line	347; src/notify.c	MIOS_ENC_SpeedSet(encoderold, MIOS_ENC_SPEED_NORMAL,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	CALL	_MIOS_ENC_SpeedSet
	MOVLW	0x02
	ADDWF	FSR1L, F
_02431_DS_:
;	.line	349; src/notify.c	if(!((param->modeSelect)&0x02)) {					//check 7Bit
	MOVFF	r0x0a, FSR0L
	MOVFF	r0x0b, PRODL
	MOVF	r0x0c, W
	CALL	__gptrget1
	MOVWF	r0x09
	MOVLW	0x02
	ANDWF	r0x09, W
	MOVWF	r0x0a
	MOVF	r0x0a, W
	BTFSS	STATUS, 2
	BRA	_02447_DS_
;	.line	350; src/notify.c	max=(char)(param->valueMax[0]);
	MOVLW	0x10
	ADDWF	r0x02, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0c
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	MOVFF	r0x0b, r0x07
	CLRF	r0x08
	BTFSC	r0x0b, 7
	SETF	r0x08
;	.line	351; src/notify.c	min=(char)(param->valueMin[0]);
	MOVLW	0x0e
	ADDWF	r0x02, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0c
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	MOVFF	r0x0b, r0x05
	CLRF	r0x06
	BTFSC	r0x0b, 7
	SETF	r0x06
;	.line	353; src/notify.c	if((param->modeSelect)&0x01) {					//check negative
	BTFSS	r0x09, 0
	BRA	_02433_DS_
;	.line	354; src/notify.c	max=64+max;
	MOVLW	0x40
	ADDWF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
;	.line	355; src/notify.c	min=64-min;
	MOVF	r0x05, W
	SUBLW	0x40
	MOVWF	r0x05
	MOVLW	0x00
	SUBFWB	r0x06, F
_02433_DS_:
;	.line	358; src/notify.c	if(param->scale==0x00) {								//Max and Min for 7 and 14 Bit depending on scale
	MOVLW	0x14
	ADDWF	r0x02, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0c
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	MOVF	r0x0b, W
	BTFSS	STATUS, 2
	BRA	_02448_DS_
;	.line	359; src/notify.c	if (max==min)										//prevent division through zero
	MOVF	r0x07, W
	XORWF	r0x05, W
	BNZ	_02504_DS_
	MOVF	r0x08, W
	XORWF	r0x06, W
	BZ	_02505_DS_
_02504_DS_:
	BRA	_02435_DS_
_02505_DS_:
;	.line	360; src/notify.c	max++;
	INCF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
_02435_DS_:
;	.line	361; src/notify.c	stepwidth=(max-min);
	MOVF	r0x05, W
	SUBWF	r0x07, W
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
	MOVF	r0x06, W
	SUBWFB	r0x08, W
; removed redundant BANKSEL
	MOVWF	(_stepwidth + 1), B
;	.line	362; src/notify.c	min=0x00;
	CLRF	r0x05
	CLRF	r0x06
;	.line	363; src/notify.c	max=0x7F;
	MOVLW	0x7f
	MOVWF	r0x07
	CLRF	r0x08
	BRA	_02448_DS_
_02447_DS_:
;	.line	367; src/notify.c	if((param->modeSelect)&0x02) {						//check 14Bit
	MOVF	r0x0a, W
	BTFSC	STATUS, 2
	BRA	_02448_DS_
;	.line	368; src/notify.c	max=((int)((param->valueMax[0])<<7)|(int)(param->valueMax[1]));
	MOVLW	0x10
	ADDWF	r0x02, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0c
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0e
	CLRF	r0x0f
	RRCF	r0x0f, W
	RRCF	r0x0e, W
	MOVWF	r0x11
	CLRF	r0x10
	RRCF	r0x10, F
	INCF	r0x0b, F
	BTFSC	STATUS, 0
	INCF	r0x0c, F
	BTFSC	STATUS, 0
	INCF	r0x0d, F
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	CLRF	r0x0c
	MOVF	r0x0b, W
	IORWF	r0x10, W
	MOVWF	r0x07
	MOVF	r0x0c, W
	IORWF	r0x11, W
	MOVWF	r0x08
;	.line	369; src/notify.c	min=((int)((param->valueMin[0])<<7)|(int)(param->valueMin[1]));
	MOVLW	0x0e
	ADDWF	r0x02, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0c
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0e
	CLRF	r0x0f
	RRCF	r0x0f, W
	RRCF	r0x0e, W
	MOVWF	r0x11
	CLRF	r0x10
	RRCF	r0x10, F
	INCF	r0x0b, F
	BTFSC	STATUS, 0
	INCF	r0x0c, F
	BTFSC	STATUS, 0
	INCF	r0x0d, F
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	CLRF	r0x0c
	MOVF	r0x0b, W
	IORWF	r0x10, W
	MOVWF	r0x05
	MOVF	r0x0c, W
	IORWF	r0x11, W
	MOVWF	r0x06
;	.line	370; src/notify.c	if((param->modeSelect)&0x01) {					//check negative
	BTFSS	r0x09, 0
	BRA	_02439_DS_
;	.line	371; src/notify.c	max=8192+max;
	MOVLW	0x20
	ADDWF	r0x08, F
;	.line	372; src/notify.c	min=8192-min;
	MOVF	r0x05, W
	SUBLW	0x00
	MOVWF	r0x05
	MOVLW	0x20
	SUBFWB	r0x06, F
_02439_DS_:
;	.line	374; src/notify.c	if(param->scale==0x00) {								//Max and Min for 7 and 14 Bit depending on scale
	MOVLW	0x14
	ADDWF	r0x02, W
	MOVWF	r0x09
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0c
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0b, PRODL
	MOVF	r0x0c, W
	CALL	__gptrget1
	MOVWF	r0x09
	MOVF	r0x09, W
	BNZ	_02448_DS_
;	.line	376; src/notify.c	if (max==min)										//prevent division through zero
	MOVF	r0x07, W
	XORWF	r0x05, W
	BNZ	_02506_DS_
	MOVF	r0x08, W
	XORWF	r0x06, W
	BZ	_02507_DS_
_02506_DS_:
	BRA	_02441_DS_
_02507_DS_:
;	.line	377; src/notify.c	max++;
	INCF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
_02441_DS_:
;	.line	378; src/notify.c	stepwidth=(max-min);
	MOVF	r0x05, W
	SUBWF	r0x07, W
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
	MOVF	r0x06, W
	SUBWFB	r0x08, W
; removed redundant BANKSEL
	MOVWF	(_stepwidth + 1), B
;	.line	379; src/notify.c	min=0x00;
	CLRF	r0x05
	CLRF	r0x06
;	.line	380; src/notify.c	max=((((param->modeSelect)&0x02)>>1)*0x7F)<<7|0x7F;
	BCF	STATUS, 0
	RRCF	r0x0a, W
	MOVWF	r0x0a
; ;multiply lit val:0x7f by variable r0x0a and store in r0x0a
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x0a, W
	MULLW	0x7f
	MOVFF	PRODL, r0x0a
	MOVFF	PRODH, r0x09
	RRCF	r0x09, W
	RRCF	r0x0a, W
	MOVWF	r0x0c
	CLRF	r0x0b
	RRCF	r0x0b, F
	MOVLW	0x7f
	IORWF	r0x0b, W
	MOVWF	r0x07
	MOVF	r0x0c, W
	MOVWF	r0x08
_02448_DS_:
;	.line	384; src/notify.c	if (param->scale==0)
	MOVLW	0x14
	ADDWF	r0x02, F
	MOVLW	0x00
	ADDWFC	r0x03, F
	MOVLW	0x00
	ADDWFC	r0x04, F
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, PRODL
	MOVF	r0x04, W
	CALL	__gptrget1
	MOVWF	r0x02
	MOVF	r0x02, W
	BNZ	_02456_DS_
; ;multiply lit val:0x02 by variable r0x00 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
;	.line	385; src/notify.c	potis[encoder]+=incrementer;
	BCF	STATUS, 0
	RLCF	r0x00, W
	MOVWF	r0x03
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x09
	MOVFF	INDF0, r0x0a
	MOVFF	r0x01, r0x0b
	CLRF	r0x0c
	BTFSC	r0x01, 7
	SETF	r0x0c
	MOVF	r0x0b, W
	ADDWF	r0x09, F
	MOVF	r0x0c, W
	ADDWFC	r0x0a, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x09, POSTINC0
	MOVFF	r0x0a, INDF0
	BRA	_02457_DS_
_02456_DS_:
;	.line	387; src/notify.c	if (param->scale!=0) {
	MOVF	r0x02, W
	BNZ	_02509_DS_
	BRA	_02457_DS_
_02509_DS_:
;	.line	388; src/notify.c	if(incrementer>0)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7f
	BNC	_02450_DS_
; ;multiply lit val:0x02 by variable r0x00 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
;	.line	389; src/notify.c	potis[encoder]+=param->scale*incrementer;
	BCF	STATUS, 0
	RLCF	r0x00, W
	MOVWF	r0x03
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x09
	MOVFF	INDF0, r0x0a
; ;multiply variable :r0x01 by variable r0x02 and store in r0x0b
	MOVF	r0x02, W
	MULWF	r0x01
	MOVFF	PRODL, r0x0b
	MOVF	r0x02, W
	BTFSC	r0x01, 7
	SUBWF	PRODH, F
	MOVFF	PRODH, r0x0c
	MOVF	r0x0b, W
	ADDWF	r0x09, F
	MOVF	r0x0c, W
	ADDWFC	r0x0a, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x09, POSTINC0
	MOVFF	r0x0a, INDF0
_02450_DS_:
;	.line	390; src/notify.c	if(incrementer<0)
	BSF	STATUS, 0
	BTFSS	r0x01, 7
	BCF	STATUS, 0
	BNC	_02457_DS_
; ;multiply lit val:0x02 by variable r0x00 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
;	.line	391; src/notify.c	potis[encoder]-=param->scale*((~incrementer)+1);
	BCF	STATUS, 0
	RLCF	r0x00, W
	MOVWF	r0x03
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x09
	MOVFF	INDF0, r0x0a
	MOVFF	r0x01, r0x0b
	CLRF	r0x0c
	BTFSC	r0x01, 7
	SETF	r0x0c
	COMF	r0x0b, F
	COMF	r0x0c, F
	INCF	r0x0b, F
	BTFSC	STATUS, 0
	INCF	r0x0c, F
	MOVFF	r0x02, r0x0d
	CLRF	r0x0e
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0b, W
	SUBWF	r0x09, F
	MOVF	r0x0c, W
	SUBWFB	r0x0a, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x09, POSTINC0
	MOVFF	r0x0a, INDF0
; ;multiply lit val:0x02 by variable r0x00 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_02457_DS_:
;	.line	394; src/notify.c	if(potis[encoder]<min)
	BCF	STATUS, 0
	RLCF	r0x00, W
	MOVWF	r0x03
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x09
	MOVFF	INDF0, r0x0a
	MOVF	r0x0a, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x06, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_02511_DS_
	MOVF	r0x05, W
	SUBWF	r0x09, W
_02511_DS_:
	BC	_02459_DS_
;	.line	395; src/notify.c	potis[encoder]=min;
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x05, POSTINC0
	MOVFF	r0x06, INDF0
_02459_DS_:
;	.line	396; src/notify.c	if(potis[encoder]>max)
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x05
	MOVFF	INDF0, r0x06
	MOVF	r0x08, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x06, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_02512_DS_
	MOVF	r0x05, W
	SUBWF	r0x07, W
_02512_DS_:
	BC	_02461_DS_
;	.line	397; src/notify.c	potis[encoder]=max;
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x07, POSTINC0
	MOVFF	r0x08, INDF0
_02461_DS_:
;	.line	399; src/notify.c	potis[16]|=1<<encoder;
	MOVLW	0x01
	MOVWF	r0x03
	MOVLW	0x00
	MOVWF	r0x04
	MOVF	r0x00, W
	BZ	_02513_DS_
	NEGF	WREG
	BCF	STATUS, 0
_02514_DS_:
	RLCF	r0x03, F
	RLCF	r0x04, F
	ADDLW	0x01
	BNC	_02514_DS_
_02513_DS_:
	BANKSEL	(_potis + 32)
	MOVF	(_potis + 32), W, B
	IORWF	r0x03, F
; removed redundant BANKSEL
	MOVF	(_potis + 33), W, B
	IORWF	r0x04, F
	MOVF	r0x03, W
; removed redundant BANKSEL
	MOVWF	(_potis + 32), B
	MOVF	r0x04, W
; removed redundant BANKSEL
	MOVWF	(_potis + 33), B
	BANKSEL	_update
;	.line	400; src/notify.c	update|=0x02;
	BSF	_update, 1, B
;	.line	407; src/notify.c	sendMessage(encoder,(incrementer*(param->scale+(((param->scale-1)>>7)&0x01))));  //sendMessage build & send dynamic midi message depending on encoder nr
	MOVFF	r0x02, r0x03
	CLRF	r0x04
	MOVLW	0xff
	ADDWF	r0x03, F
	BTFSS	STATUS, 0
	DECF	r0x04, F
	RLCF	r0x03, W
	RLCF	r0x04, W
	MOVWF	r0x03
	CLRF	r0x04
	BTFSC	STATUS, 0
	DECF	r0x04, F
	MOVLW	0x01
	ANDWF	r0x03, F
	CLRF	r0x04
	MOVF	r0x03, W
	ADDWF	r0x02, F
; ;multiply variable :r0x02 by variable r0x01 and store in r0x01
	MOVF	r0x01, W
	MULWF	r0x02
	MOVFF	PRODL, r0x01
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_sendMessage
	MOVLW	0x02
	ADDWF	FSR1L, F
_02464_DS_:
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__DIN_NotifyToggle	code
_DIN_NotifyToggle:
;	.line	14; src/notify.c	void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVFF	r0x12, POSTDEC1
	MOVFF	r0x13, POSTDEC1
	MOVWF	r0x00
	MOVLW	0x02
	MOVFF	PLUSW2, r0x01
;	.line	19; src/notify.c	param = 0;
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
;	.line	20; src/notify.c	stepwidth=0x7F;
	MOVLW	0x7f
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
; removed redundant BANKSEL
	CLRF	(_stepwidth + 1), B
;	.line	23; src/notify.c	if(pin<52)
	MOVLW	0x34
	SUBWF	r0x00, W
	BC	_02195_DS_
;	.line	24; src/notify.c	pin=pin+((pin%8)<4?(pin%4):(pin%4)-3);     				// remapping of pins actual <-> logical
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x05
	MOVLW	0x04
	SUBWF	r0x05, W
	BC	_02306_DS_
	MOVLW	0x03
	ANDWF	r0x00, W
	MOVWF	r0x05
	BRA	_02307_DS_
_02306_DS_:
	MOVLW	0x03
	ANDWF	r0x00, W
	MOVWF	r0x06
	MOVLW	0xfd
	ADDWF	r0x06, W
	MOVWF	r0x05
_02307_DS_:
	MOVF	r0x05, W
	ADDWF	r0x00, F
_02195_DS_:
	BANKSEL	_get_userdata
;	.line	59; src/notify.c	if(get_userdata)
	MOVF	_get_userdata, W, B
	BZ	_02197_DS_
;	.line	60; src/notify.c	return;
	GOTO	_02304_DS_
_02197_DS_:
	BANKSEL	_send_editbuffer
;	.line	65; src/notify.c	if(send_editbuffer)
	MOVF	_send_editbuffer, W, B
	BZ	_02199_DS_
;	.line	66; src/notify.c	return;
	GOTO	_02304_DS_
_02199_DS_:
	BANKSEL	_eb_request
;	.line	68; src/notify.c	if(eb_request.active)
	BTFSS	_eb_request, 0, B
	BRA	_02201_DS_
;	.line	69; src/notify.c	return;
	GOTO	_02304_DS_
_02201_DS_:
;	.line	75; src/notify.c	if(pin>=52) {
	MOVLW	0x34
	SUBWF	r0x00, W
	BTG	STATUS, 0
	CLRF	r0x05
	RLCF	r0x05, F
	MOVF	r0x05, W
	BTFSS	STATUS, 2
	BRA	_02302_DS_
	BANKSEL	_eb_request
;	.line	76; src/notify.c	eb_request.error=0;
	BCF	_eb_request, 1, B
	BANKSEL	_get_userdata
;	.line	77; src/notify.c	get_userdata=0x00;
	CLRF	_get_userdata, B
;	.line	79; src/notify.c	if(pin_value && !(knobs&0x10) && modus!=MOD_DEVICE) {
	MOVF	r0x01, W
	BZ	_02205_DS_
	BANKSEL	_knobs
	BTFSC	_knobs, 4, B
	BRA	_02205_DS_
	BANKSEL	_modus
	MOVF	_modus, W, B
	BZ	_02205_DS_
_02365_DS_:
	BANKSEL	_modus
;	.line	80; src/notify.c	if (modus==MOD_PARAMETER)
	MOVF	_modus, W, B
	XORLW	0x02
	BNZ	_02203_DS_
;	.line	81; src/notify.c	saveParameterValues();
	CALL	_saveParameterValues
_02203_DS_:
;	.line	82; src/notify.c	bank=pin-52;
	MOVFF	r0x00, r0x06
	CLRF	r0x07
	MOVLW	0xcc
	ADDWF	r0x06, F
	BTFSS	STATUS, 0
	DECF	r0x07, F
	MOVFF	r0x06, _bank
	MOVFF	r0x07, (_bank + 1)
	CLRF	WREG
	BTFSC	r0x07, 7
	MOVLW	0xff
	BANKSEL	(_bank + 2)
	MOVWF	(_bank + 2), B
; removed redundant BANKSEL
	MOVWF	(_bank + 3), B
;	.line	83; src/notify.c	initModulModus();
	CALL	_initModulModus
_02205_DS_:
;	.line	85; src/notify.c	if(pin_value && (knobs&0x10)) {
	MOVF	r0x01, W
	BZ	_02211_DS_
	BANKSEL	_knobs
	BTFSS	_knobs, 4, B
	BRA	_02211_DS_
; removed redundant BANKSEL
;	.line	86; src/notify.c	knobs&=0xef;
	BCF	_knobs, 4, B
	BANKSEL	_modus
;	.line	87; src/notify.c	if (modus==MOD_PARAMETER)
	MOVF	_modus, W, B
	XORLW	0x02
	BNZ	_02209_DS_
;	.line	88; src/notify.c	saveParameterValues();
	CALL	_saveParameterValues
_02209_DS_:
;	.line	89; src/notify.c	initDeviceModus();
	CALL	_initDeviceModus
_02211_DS_:
;	.line	91; src/notify.c	switch(pin) {
	MOVF	r0x05, W
	BTFSS	STATUS, 2
	BRA	_02229_DS_
	MOVLW	0x38
	SUBWF	r0x00, W
	BTFSC	STATUS, 0
	BRA	_02229_DS_
	MOVLW	0xcc
	ADDWF	r0x00, W
	MOVWF	r0x05
	MOVFF	r0x14, POSTDEC1
	MOVFF	r0x15, POSTDEC1
	CLRF	r0x15
	RLCF	r0x05, W
	RLCF	r0x15, F
	RLCF	WREG, W
	RLCF	r0x15, F
	ANDLW	0xfc
	MOVWF	r0x14
	MOVLW	UPPER(_02372_DS_)
	MOVWF	PCLATU
	MOVLW	HIGH(_02372_DS_)
	MOVWF	PCLATH
	MOVLW	LOW(_02372_DS_)
	ADDWF	r0x14, F
	MOVF	r0x15, W
	ADDWFC	PCLATH, F
	BTFSC	STATUS, 0
	INCF	PCLATU, F
	MOVF	r0x14, W
	MOVFF	PREINC1, r0x15
	MOVFF	PREINC1, r0x14
	MOVWF	PCL
_02372_DS_:
	GOTO	_02213_DS_
	GOTO	_02217_DS_
	GOTO	_02221_DS_
	GOTO	_02225_DS_
_02213_DS_:
;	.line	93; src/notify.c	if(!pin_value)
	MOVF	r0x01, W
	BNZ	_02215_DS_
	BANKSEL	_knobs
;	.line	94; src/notify.c	knobs|=0x1;
	BSF	_knobs, 0, B
	BRA	_02229_DS_
_02215_DS_:
	BANKSEL	_knobs
;	.line	96; src/notify.c	knobs&=0xfe;
	BCF	_knobs, 0, B
;	.line	97; src/notify.c	break;
	BRA	_02229_DS_
_02217_DS_:
;	.line	99; src/notify.c	if(!pin_value)
	MOVF	r0x01, W
	BNZ	_02219_DS_
	BANKSEL	_knobs
;	.line	100; src/notify.c	knobs|=0x2;
	BSF	_knobs, 1, B
	BRA	_02229_DS_
_02219_DS_:
	BANKSEL	_knobs
;	.line	102; src/notify.c	knobs&=0xfd;
	BCF	_knobs, 1, B
;	.line	103; src/notify.c	break;
	BRA	_02229_DS_
_02221_DS_:
;	.line	105; src/notify.c	if(!pin_value)
	MOVF	r0x01, W
	BNZ	_02223_DS_
	BANKSEL	_knobs
;	.line	106; src/notify.c	knobs|=0x4;
	BSF	_knobs, 2, B
	BRA	_02229_DS_
_02223_DS_:
	BANKSEL	_knobs
;	.line	108; src/notify.c	knobs&=0xfb;
	BCF	_knobs, 2, B
;	.line	109; src/notify.c	break;
	BRA	_02229_DS_
_02225_DS_:
;	.line	111; src/notify.c	if(!pin_value)
	MOVF	r0x01, W
	BNZ	_02227_DS_
	BANKSEL	_knobs
;	.line	112; src/notify.c	knobs|=0x8;
	BSF	_knobs, 3, B
	BRA	_02229_DS_
_02227_DS_:
	BANKSEL	_knobs
;	.line	114; src/notify.c	knobs&=0xf7;
	BCF	_knobs, 3, B
_02229_DS_:
;	.line	117; src/notify.c	if((knobs&3)==0x03)
	MOVLW	0x03
	BANKSEL	_knobs
	ANDWF	_knobs, W, B
	MOVWF	r0x05
	MOVF	r0x05, W
	XORLW	0x03
	BNZ	_02231_DS_
_02379_DS_:
	BANKSEL	_knobs
;	.line	118; src/notify.c	knobs|=0x10;
	BSF	_knobs, 4, B
_02231_DS_:
	BANKSEL	_knobs
;	.line	119; src/notify.c	if(!(knobs&03))
	MOVF	_knobs, W, B
	ANDLW	0x03
	BZ	_02380_DS_
	BRA	_02304_DS_
_02380_DS_:
	BANKSEL	_knobs
;	.line	120; src/notify.c	knobs&=0xef;
	BCF	_knobs, 4, B
	GOTO	_02304_DS_
_02302_DS_:
	BANKSEL	_eb_request
;	.line	129; src/notify.c	if(eb_request.error)
	BTFSS	_eb_request, 1, B
	BRA	_02235_DS_
;	.line	130; src/notify.c	return;
	GOTO	_02304_DS_
_02235_DS_:
;	.line	131; src/notify.c	switch(modus) {
	MOVLW	0x03
	BANKSEL	_modus
	SUBWF	_modus, W, B
	BTFSC	STATUS, 0
	GOTO	_02304_DS_
	MOVFF	r0x14, POSTDEC1
	MOVFF	r0x15, POSTDEC1
	CLRF	r0x15
; removed redundant BANKSEL
	RLCF	_modus, W, B
	RLCF	r0x15, F
	RLCF	WREG, W
	RLCF	r0x15, F
	ANDLW	0xfc
	MOVWF	r0x14
	MOVLW	UPPER(_02383_DS_)
	MOVWF	PCLATU
	MOVLW	HIGH(_02383_DS_)
	MOVWF	PCLATH
	MOVLW	LOW(_02383_DS_)
	ADDWF	r0x14, F
	MOVF	r0x15, W
	ADDWFC	PCLATH, F
	BTFSC	STATUS, 0
	INCF	PCLATU, F
	MOVF	r0x14, W
	MOVFF	PREINC1, r0x15
	MOVFF	PREINC1, r0x14
	MOVWF	PCL
_02383_DS_:
	GOTO	_02236_DS_
	GOTO	_02239_DS_
	GOTO	_02242_DS_
_02236_DS_:
;	.line	133; src/notify.c	if(pin_value)
	MOVF	r0x01, W
	BTFSS	STATUS, 2
	GOTO	_02304_DS_
;	.line	135; src/notify.c	device=pin-32;
	MOVFF	r0x00, r0x05
	CLRF	r0x06
	MOVLW	0xe0
	ADDWF	r0x05, F
	BTFSS	STATUS, 0
	DECF	r0x06, F
	MOVFF	r0x05, _device
	MOVFF	r0x06, (_device + 1)
	CLRF	WREG
	BTFSC	r0x06, 7
	MOVLW	0xff
	BANKSEL	(_device + 2)
	MOVWF	(_device + 2), B
; removed redundant BANKSEL
	MOVWF	(_device + 3), B
;	.line	136; src/notify.c	initModulModus();
	CALL	_initModulModus
;	.line	137; src/notify.c	break;
	GOTO	_02304_DS_
_02239_DS_:
;	.line	140; src/notify.c	if(pin_value)
	MOVF	r0x01, W
	BTFSS	STATUS, 2
	GOTO	_02304_DS_
;	.line	142; src/notify.c	modul=pin-32;
	MOVFF	r0x00, r0x05
	CLRF	r0x06
	MOVLW	0xe0
	ADDWF	r0x05, F
	BTFSS	STATUS, 0
	DECF	r0x06, F
	MOVFF	r0x05, _modul
	MOVFF	r0x06, (_modul + 1)
	CLRF	WREG
	BTFSC	r0x06, 7
	MOVLW	0xff
	BANKSEL	(_modul + 2)
	MOVWF	(_modul + 2), B
; removed redundant BANKSEL
	MOVWF	(_modul + 3), B
;	.line	143; src/notify.c	initParameterModus();
	CALL	_initParameterModus
	BANKSEL	(_potis + 34)
;	.line	144; src/notify.c	potis[17]=0x0000;
	CLRF	(_potis + 34), B
; removed redundant BANKSEL
	CLRF	(_potis + 35), B
;	.line	145; src/notify.c	break;
	GOTO	_02304_DS_
_02242_DS_:
;	.line	153; src/notify.c	potis[16]|=1<<(pin-32);
	MOVFF	r0x00, r0x05
	CLRF	r0x06
	MOVLW	0xe0
	ADDWF	r0x05, F
	BTFSS	STATUS, 0
	DECF	r0x06, F
	MOVLW	0x01
	MOVWF	r0x07
	MOVLW	0x00
	MOVWF	r0x08
	MOVF	r0x05, W
	BZ	_02384_DS_
	BN	_02387_DS_
	NEGF	WREG
	BCF	STATUS, 0
_02385_DS_:
	RLCF	r0x07, F
	RLCF	r0x08, F
	ADDLW	0x01
	BNC	_02385_DS_
	BRA	_02384_DS_
_02387_DS_:
	BCF	STATUS, 0
_02386_DS_:
	BTFSC	r0x08, 7
	BSF	STATUS, 0
	RRCF	r0x08, F
	RRCF	r0x07, F
	ADDLW	0x01
	BNC	_02386_DS_
_02384_DS_:
	MOVF	r0x07, W
	BANKSEL	(_potis + 32)
	IORWF	(_potis + 32), W, B
	MOVWF	r0x09
	MOVF	r0x08, W
; removed redundant BANKSEL
	IORWF	(_potis + 33), W, B
	MOVWF	r0x0a
	MOVF	r0x09, W
; removed redundant BANKSEL
	MOVWF	(_potis + 32), B
	MOVF	r0x0a, W
; removed redundant BANKSEL
	MOVWF	(_potis + 33), B
	BANKSEL	_update
;	.line	154; src/notify.c	update|=0x02;
	BSF	_update, 1, B
;	.line	155; src/notify.c	if (pin-32<=7) {										//choosing array
	MOVF	r0x06, W
	ADDLW	0x80
	ADDLW	0x80
	BNZ	_02389_DS_
	MOVLW	0x08
	SUBWF	r0x05, W
_02389_DS_:
	CLRF	r0x09
	RLCF	r0x09, F
	MOVF	r0x09, W
	BNZ	_02246_DS_
;	.line	156; src/notify.c	param = &parametersleft[pin-32];
	MOVLW	0xe0
	ADDWF	r0x00, W
	MOVWF	r0x0a
; ;multiply lit val:0x1c by variable r0x0a and store in r0x0a
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x0a, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0a
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x0a, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x0b
	ADDWFC	r0x0b, F
	MOVF	r0x0b, W
	MOVWF	r0x03
	MOVF	r0x0a, W
	MOVWF	r0x02
	MOVLW	0x80
	MOVWF	r0x04
	BRA	_02247_DS_
_02246_DS_:
;	.line	157; src/notify.c	} else if (pin-32>7) {
	MOVF	r0x09, W
	BZ	_02247_DS_
;	.line	158; src/notify.c	param = &parametersright[(pin-32)%8];
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x08
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	__modsint
	MOVWF	r0x05
	MOVFF	PRODL, r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x05
	MOVFF	PRODL, r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	LOW(_parametersright)
	ADDWF	r0x05, F
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x06, F
	MOVF	r0x06, W
	MOVWF	r0x03
	MOVF	r0x05, W
	MOVWF	r0x02
	MOVLW	0x80
	MOVWF	r0x04
_02247_DS_:
;	.line	160; src/notify.c	if(!(((param->messageChannel)&0xF0)&&((param->modeSelect)&0x08)))						//return if mode=OFF
	MOVLW	0x0a
	ADDWF	r0x02, W
	MOVWF	r0x05
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x06
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x09
	MOVFF	r0x05, FSR0L
	MOVFF	r0x06, PRODL
	MOVF	r0x09, W
	CALL	__gptrget1
	MOVWF	r0x05
	MOVLW	0xf0
	ANDWF	r0x05, F
	MOVF	r0x05, W
	BZ	_02296_DS_
	MOVLW	0x0b
	ADDWF	r0x02, W
	MOVWF	r0x06
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x09
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0a
	MOVFF	r0x06, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x06
	BTFSC	r0x06, 3
	BRA	_02297_DS_
_02296_DS_:
;	.line	161; src/notify.c	return;																				//only react if mode "Switch"
	GOTO	_02304_DS_
_02297_DS_:
;	.line	163; src/notify.c	if(!((param->modeSelect)&0x02)) {
	BTFSC	r0x06, 1
	BRA	_02253_DS_
;	.line	164; src/notify.c	max=(char)(param->valueMax[0]);
	MOVLW	0x10
	ADDWF	r0x02, W
	MOVWF	r0x09
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0a
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0b
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0a, PRODL
	MOVF	r0x0b, W
	CALL	__gptrget1
	MOVWF	r0x09
	CLRF	r0x0a
	BTFSC	r0x09, 7
	SETF	r0x0a
;	.line	165; src/notify.c	min=(char)(param->valueMin[0]);
	MOVLW	0x0e
	ADDWF	r0x02, W
	MOVWF	r0x0b
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0c
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	CLRF	r0x0c
	BTFSC	r0x0b, 7
	SETF	r0x0c
;	.line	166; src/notify.c	if((param->modeSelect)&0x01) {
	BTFSS	r0x06, 0
	BRA	_02254_DS_
;	.line	167; src/notify.c	max=64+max;
	MOVLW	0x40
	ADDWF	r0x09, F
	BTFSC	STATUS, 0
	INCF	r0x0a, F
;	.line	168; src/notify.c	min=64-min;
	MOVF	r0x0b, W
	SUBLW	0x40
	MOVWF	r0x0b
	MOVLW	0x00
	SUBFWB	r0x0c, F
	BRA	_02254_DS_
_02253_DS_:
;	.line	171; src/notify.c	max=((int)((param->valueMax[0])<<7)|(int)(param->valueMax[1]));
	MOVLW	0x10
	ADDWF	r0x02, W
	MOVWF	r0x0d
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0e
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0f
	MOVFF	r0x0d, FSR0L
	MOVFF	r0x0e, PRODL
	MOVF	r0x0f, W
	CALL	__gptrget1
	MOVWF	r0x10
	CLRF	r0x11
	RRCF	r0x11, W
	RRCF	r0x10, W
	MOVWF	r0x13
	CLRF	r0x12
	RRCF	r0x12, F
	INCF	r0x0d, F
	BTFSC	STATUS, 0
	INCF	r0x0e, F
	BTFSC	STATUS, 0
	INCF	r0x0f, F
	MOVFF	r0x0d, FSR0L
	MOVFF	r0x0e, PRODL
	MOVF	r0x0f, W
	CALL	__gptrget1
	MOVWF	r0x0d
	CLRF	r0x0e
	MOVF	r0x0d, W
	IORWF	r0x12, W
	MOVWF	r0x09
	MOVF	r0x0e, W
	IORWF	r0x13, W
	MOVWF	r0x0a
;	.line	172; src/notify.c	min=((int)((param->valueMin[0])<<7)|(int)(param->valueMin[1]));
	MOVLW	0x0e
	ADDWF	r0x02, W
	MOVWF	r0x0d
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0e
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0f
	MOVFF	r0x0d, FSR0L
	MOVFF	r0x0e, PRODL
	MOVF	r0x0f, W
	CALL	__gptrget1
	MOVWF	r0x10
	CLRF	r0x11
	RRCF	r0x11, W
	RRCF	r0x10, W
	MOVWF	r0x13
	CLRF	r0x12
	RRCF	r0x12, F
	INCF	r0x0d, F
	BTFSC	STATUS, 0
	INCF	r0x0e, F
	BTFSC	STATUS, 0
	INCF	r0x0f, F
	MOVFF	r0x0d, FSR0L
	MOVFF	r0x0e, PRODL
	MOVF	r0x0f, W
	CALL	__gptrget1
	MOVWF	r0x0d
	CLRF	r0x0e
	MOVF	r0x0d, W
	IORWF	r0x12, W
	MOVWF	r0x0b
	MOVF	r0x0e, W
	IORWF	r0x13, W
	MOVWF	r0x0c
;	.line	173; src/notify.c	if((param->modeSelect)&0x01) {
	BTFSS	r0x06, 0
	BRA	_02254_DS_
;	.line	174; src/notify.c	max=8192+max;
	MOVLW	0x20
	ADDWF	r0x0a, F
;	.line	175; src/notify.c	min=8192-min;
	MOVF	r0x0b, W
	SUBLW	0x00
	MOVWF	r0x0b
	MOVLW	0x20
	SUBFWB	r0x0c, F
_02254_DS_:
;	.line	180; src/notify.c	switch (param->messageChannel&0xF0) {
	MOVF	r0x05, W
	XORLW	0x30
	BZ	_02257_DS_
	MOVF	r0x05, W
	XORLW	0x50
	BZ	_02257_DS_
	MOVF	r0x05, W
	XORLW	0x60
	BZ	_02257_DS_
	BRA	_02275_DS_
_02257_DS_:
;	.line	184; src/notify.c	if (param->modeSelect&0xF0) {
	MOVF	r0x06, W
	ANDLW	0xf0
	BNZ	_02397_DS_
	BRA	_02275_DS_
_02397_DS_:
;	.line	185; src/notify.c	if (!pin_value){
	MOVF	r0x01, W
	BTFSS	STATUS, 2
	GOTO	_02304_DS_
;	.line	186; src/notify.c	incrementer=(1-(2*(((param->modeSelect)&0x04)>>2)));
	MOVLW	0x04
	ANDWF	r0x06, W
	MOVWF	r0x05
	BCF	STATUS, 0
	RRCF	r0x05, W
	MOVWF	r0x05
	BCF	STATUS, 0
	RRCF	r0x05, F
; ;multiply lit val:0x02 by variable r0x05 and store in r0x05
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x05, F
	MOVF	r0x05, W
	SUBLW	0x01
	MOVWF	r0x05
;	.line	187; src/notify.c	if (param->scale==0)
	MOVLW	0x14
	ADDWF	r0x02, F
	MOVLW	0x00
	ADDWFC	r0x03, F
	MOVLW	0x00
	ADDWFC	r0x04, F
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, PRODL
	MOVF	r0x04, W
	CALL	__gptrget1
	MOVWF	r0x02
	MOVF	r0x02, W
	BNZ	_02265_DS_
;	.line	188; src/notify.c	potis[pin-32]+=incrementer;
	MOVLW	0xe0
	ADDWF	r0x00, W
	MOVWF	r0x03
; ;multiply lit val:0x02 by variable r0x03 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x03, F
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x0d
	MOVFF	INDF0, r0x0e
	MOVFF	r0x05, r0x0f
	CLRF	r0x10
	BTFSC	r0x05, 7
	SETF	r0x10
	MOVF	r0x0f, W
	ADDWF	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x0d, POSTINC0
	MOVFF	r0x0e, INDF0
	BRA	_02266_DS_
_02265_DS_:
;	.line	190; src/notify.c	if (param->scale!=0) {
	MOVF	r0x02, W
	BNZ	_02400_DS_
	BRA	_02266_DS_
_02400_DS_:
;	.line	191; src/notify.c	if(incrementer>0)
	MOVF	r0x05, W
	ADDLW	0x80
	ADDLW	0x7f
	BNC	_02259_DS_
;	.line	192; src/notify.c	potis[pin-32]+=param->scale*incrementer;
	MOVLW	0xe0
	ADDWF	r0x00, W
	MOVWF	r0x03
; ;multiply lit val:0x02 by variable r0x03 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x03, F
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x0d
	MOVFF	INDF0, r0x0e
; ;multiply variable :r0x05 by variable r0x02 and store in r0x0f
	MOVF	r0x02, W
	MULWF	r0x05
	MOVFF	PRODL, r0x0f
	MOVF	r0x02, W
	BTFSC	r0x05, 7
	SUBWF	PRODH, F
	MOVFF	PRODH, r0x10
	MOVF	r0x0f, W
	ADDWF	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x0d, POSTINC0
	MOVFF	r0x0e, INDF0
_02259_DS_:
;	.line	193; src/notify.c	if(incrementer<0)
	BSF	STATUS, 0
	BTFSS	r0x05, 7
	BCF	STATUS, 0
	BNC	_02266_DS_
;	.line	194; src/notify.c	potis[pin-32]-=param->scale*((~incrementer)+1);
	MOVLW	0xe0
	ADDWF	r0x00, W
	MOVWF	r0x03
; ;multiply lit val:0x02 by variable r0x03 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x03, F
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x0d
	MOVFF	INDF0, r0x0e
	MOVFF	r0x05, r0x0f
	CLRF	r0x10
	BTFSC	r0x05, 7
	SETF	r0x10
	COMF	r0x0f, F
	COMF	r0x10, F
	INCF	r0x0f, F
	BTFSC	STATUS, 0
	INCF	r0x10, F
	MOVFF	r0x02, r0x11
	CLRF	r0x12
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x12, W
	MOVWF	POSTDEC1
	MOVF	r0x11, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x0f
	MOVFF	PRODL, r0x10
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0f, W
	SUBWF	r0x0d, F
	MOVF	r0x10, W
	SUBWFB	r0x0e, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x0d, POSTINC0
	MOVFF	r0x0e, INDF0
_02266_DS_:
;	.line	197; src/notify.c	if(potis[pin-32]<min)
	MOVLW	0xe0
	ADDWF	r0x00, W
	MOVWF	r0x03
; ;multiply lit val:0x02 by variable r0x03 and store in r0x04
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x03, W
	MOVWF	r0x04
	MOVLW	LOW(_potis)
	ADDWF	r0x04, F
	MOVLW	HIGH(_potis)
	CLRF	r0x0d
	ADDWFC	r0x0d, F
	MOVFF	r0x04, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	POSTINC0, r0x0e
	MOVFF	INDF0, r0x0f
	MOVF	r0x0f, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x0c, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_02402_DS_
	MOVF	r0x0b, W
	SUBWF	r0x0e, W
_02402_DS_:
	BC	_02268_DS_
;	.line	198; src/notify.c	potis[pin-32]=min;
	MOVFF	r0x04, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	r0x0b, POSTINC0
	MOVFF	r0x0c, INDF0
_02268_DS_:
;	.line	199; src/notify.c	if(potis[pin-32]>max)
	MOVFF	r0x04, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	POSTINC0, r0x0e
	MOVFF	INDF0, r0x0f
	MOVF	r0x0a, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x0f, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_02403_DS_
	MOVF	r0x0e, W
	SUBWF	r0x09, W
_02403_DS_:
	BC	_02270_DS_
;	.line	200; src/notify.c	potis[pin-32]=max;
	MOVFF	r0x04, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	r0x09, POSTINC0
	MOVFF	r0x0a, INDF0
_02270_DS_:
;	.line	202; src/notify.c	sendMessage(pin-32,(incrementer*(param->scale+(((param->scale-1)>>7)&0x01))));
	MOVFF	r0x02, r0x04
	CLRF	r0x0d
	MOVLW	0xff
	ADDWF	r0x04, F
	BTFSS	STATUS, 0
	DECF	r0x0d, F
	RLCF	r0x04, W
	RLCF	r0x0d, W
	MOVWF	r0x04
	CLRF	r0x0d
	BTFSC	STATUS, 0
	DECF	r0x0d, F
	MOVLW	0x01
	ANDWF	r0x04, F
	CLRF	r0x0d
	MOVF	r0x04, W
	ADDWF	r0x02, F
; ;multiply variable :r0x02 by variable r0x05 and store in r0x05
	MOVF	r0x05, W
	MULWF	r0x02
	MOVFF	PRODL, r0x05
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	CALL	_sendMessage
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	204; src/notify.c	break;
	BRA	_02304_DS_
_02275_DS_:
;	.line	207; src/notify.c	if ((param->modeSelect)&0x04) {
	MOVLW	0x04
	ANDWF	r0x06, W
	MOVWF	r0x02
	MOVF	r0x02, W
	BTFSC	STATUS, 2
	BRA	_02293_DS_
;	.line	208; src/notify.c	if (!pin_value){
	MOVF	r0x01, W
	BTFSS	STATUS, 2
	BRA	_02304_DS_
;	.line	209; src/notify.c	if (potis[pin-32]<(min+((max-min)/2))) {
	MOVLW	0xe0
	ADDWF	r0x00, W
	MOVWF	r0x03
; ;multiply lit val:0x02 by variable r0x03 and store in r0x04
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x03, W
	MOVWF	r0x04
	MOVLW	LOW(_potis)
	ADDWF	r0x04, F
	MOVLW	HIGH(_potis)
	CLRF	r0x05
	ADDWFC	r0x05, F
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, FSR0H
	MOVFF	POSTINC0, r0x06
	MOVFF	INDF0, r0x0d
	MOVF	r0x0b, W
	SUBWF	r0x09, W
	MOVWF	r0x0e
	MOVF	r0x0c, W
	SUBWFB	r0x0a, W
	MOVWF	r0x0f
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x0e
	MOVFF	PRODL, r0x0f
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0b, W
	ADDWF	r0x0e, F
	MOVF	r0x0c, W
	ADDWFC	r0x0f, F
	MOVF	r0x0d, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x0f, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_02406_DS_
	MOVF	r0x0e, W
	SUBWF	r0x06, W
_02406_DS_:
	BTFSC	STATUS, 0
	BRA	_02280_DS_
;	.line	210; src/notify.c	potis[pin-32]=max;
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, FSR0H
	MOVFF	r0x09, POSTINC0
	MOVFF	r0x0a, INDF0
;	.line	211; src/notify.c	if(((param->modeSelect)&0x04)>>2)
	BCF	STATUS, 0
	RRCF	r0x02, W
	MOVWF	r0x06
	BCF	STATUS, 0
	RRCF	r0x06, F
	MOVF	r0x06, W
	BZ	_02277_DS_
;	.line	212; src/notify.c	stepwidth=(0x3FFF/potis[pin-32]);
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, FSR0H
	MOVFF	POSTINC0, r0x06
	MOVFF	INDF0, r0x0d
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVLW	0x3f
	MOVWF	POSTDEC1
	MOVLW	0xff
	MOVWF	POSTDEC1
	CALL	__divsint
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
	MOVFF	PRODL, (_stepwidth + 1)
	MOVLW	0x04
	ADDWF	FSR1L, F
	BRA	_02281_DS_
_02277_DS_:
;	.line	214; src/notify.c	stepwidth=(0x7F/potis[pin-32]);
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, FSR0H
	MOVFF	POSTINC0, r0x06
	MOVFF	INDF0, r0x0d
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x7f
	MOVWF	POSTDEC1
	CALL	__divsint
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
	MOVFF	PRODL, (_stepwidth + 1)
	MOVLW	0x04
	ADDWF	FSR1L, F
	BRA	_02281_DS_
_02280_DS_:
;	.line	217; src/notify.c	potis[pin-32]=min;
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, FSR0H
	MOVFF	r0x0b, POSTINC0
	MOVFF	r0x0c, INDF0
	BANKSEL	_stepwidth
;	.line	218; src/notify.c	stepwidth=0x0000;
	CLRF	_stepwidth, B
; removed redundant BANKSEL
	CLRF	(_stepwidth + 1), B
_02281_DS_:
;	.line	220; src/notify.c	sendMessage(pin-32,0x00);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	CALL	_sendMessage
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	222; src/notify.c	break;
	BRA	_02304_DS_
_02293_DS_:
;	.line	224; src/notify.c	switch (pin_value) {
	MOVF	r0x01, W
	BZ	_02284_DS_
	MOVF	r0x01, W
	XORLW	0x01
	BNZ	_02410_DS_
	BRA	_02288_DS_
_02410_DS_:
	BRA	_02291_DS_
_02284_DS_:
;	.line	226; src/notify.c	potis[pin-32]=max;
	MOVLW	0xe0
	ADDWF	r0x00, W
	MOVWF	r0x01
; ;multiply lit val:0x02 by variable r0x01 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x01, W
	MOVWF	r0x03
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x09, POSTINC0
	MOVFF	r0x0a, INDF0
;	.line	228; src/notify.c	if(((param->modeSelect)&0x04)>>2)
	BCF	STATUS, 0
	RRCF	r0x02, W
	MOVWF	r0x02
	BCF	STATUS, 0
	RRCF	r0x02, F
	MOVF	r0x02, W
	BZ	_02286_DS_
;	.line	229; src/notify.c	stepwidth=(0x3FFF/potis[pin-32]);
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x02
	MOVFF	INDF0, r0x05
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVLW	0x3f
	MOVWF	POSTDEC1
	MOVLW	0xff
	MOVWF	POSTDEC1
	CALL	__divsint
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
	MOVFF	PRODL, (_stepwidth + 1)
	MOVLW	0x04
	ADDWF	FSR1L, F
	BRA	_02287_DS_
_02286_DS_:
;	.line	231; src/notify.c	stepwidth=(0x7F/potis[pin-32]);
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	POSTINC0, r0x03
	MOVFF	INDF0, r0x04
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x7f
	MOVWF	POSTDEC1
	CALL	__divsint
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
	MOVFF	PRODL, (_stepwidth + 1)
	MOVLW	0x04
	ADDWF	FSR1L, F
_02287_DS_:
;	.line	232; src/notify.c	sendMessage(pin-32,0x00);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_sendMessage
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	233; src/notify.c	break;
	BRA	_02291_DS_
_02288_DS_:
;	.line	236; src/notify.c	if (potis[17]&(0x01<<(pin-32))) {
	MOVFF	(_potis + 34), r0x01
	MOVFF	(_potis + 35), r0x02
	MOVF	r0x07, W
	ANDWF	r0x01, W
	MOVWF	r0x03
	MOVF	r0x08, W
	ANDWF	r0x02, W
	MOVWF	r0x04
	MOVF	r0x03, W
	IORWF	r0x04, W
	BZ	_02291_DS_
;	.line	237; src/notify.c	potis[pin-32]=min;
	MOVLW	0xe0
	ADDWF	r0x00, F
; ;multiply lit val:0x02 by variable r0x00 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x00, W
	MOVWF	r0x03
	MOVLW	LOW(_potis)
	ADDWF	r0x03, F
	MOVLW	HIGH(_potis)
	CLRF	r0x04
	ADDWFC	r0x04, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x0b, POSTINC0
	MOVFF	r0x0c, INDF0
	BANKSEL	_stepwidth
;	.line	238; src/notify.c	stepwidth=0x0000;
	CLRF	_stepwidth, B
; removed redundant BANKSEL
	CLRF	(_stepwidth + 1), B
;	.line	239; src/notify.c	potis[17]&=(~(0x01<<(pin-32)));
	COMF	r0x07, W
	MOVWF	r0x03
	COMF	r0x08, W
	MOVWF	r0x04
	MOVF	r0x03, W
	ANDWF	r0x01, F
	MOVF	r0x04, W
	ANDWF	r0x02, F
	MOVF	r0x01, W
	BANKSEL	(_potis + 34)
	MOVWF	(_potis + 34), B
	MOVF	r0x02, W
; removed redundant BANKSEL
	MOVWF	(_potis + 35), B
;	.line	240; src/notify.c	sendMessage(pin-32,0x00);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_sendMessage
	MOVLW	0x02
	ADDWF	FSR1L, F
_02291_DS_:
	BANKSEL	(_potis + 34)
;	.line	246; src/notify.c	potis[17]|=1<<(pin-32);
	MOVF	(_potis + 34), W, B
	IORWF	r0x07, F
; removed redundant BANKSEL
	MOVF	(_potis + 35), W, B
	IORWF	r0x08, F
	MOVF	r0x07, W
; removed redundant BANKSEL
	MOVWF	(_potis + 34), B
	MOVF	r0x08, W
; removed redundant BANKSEL
	MOVWF	(_potis + 35), B
_02304_DS_:
;	.line	251; src/notify.c	}
	MOVFF	PREINC1, r0x13
	MOVFF	PREINC1, r0x12
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__MPROC_NotifyReceivedByte	code
_MPROC_NotifyReceivedByte:
;	.line	31; src/midi.c	void MPROC_NotifyReceivedByte(unsigned char byte) __wparam __critical
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVWF	r0x00
	BANKSEL	_send_editbuffer
;	.line	37; src/midi.c	if (send_editbuffer)
	MOVF	_send_editbuffer, W, B
	BZ	_02013_DS_
;	.line	38; src/midi.c	return;
	GOTO	_02087_DS_
_02013_DS_:
;	.line	42; src/midi.c	if(byte==0xFE) {
	MOVF	r0x00, W
	XORLW	0xfe
	BNZ	_02015_DS_
;	.line	48; src/midi.c	return;
	GOTO	_02087_DS_
_02015_DS_:
;	.line	55; src/midi.c	if (byte == 0xF0) {
	CLRF	r0x01
	MOVF	r0x00, W
	XORLW	0xf0
	BNZ	_02134_DS_
	INCF	r0x01, F
_02134_DS_:
	MOVF	r0x01, W
	BZ	_02020_DS_
	BANKSEL	_eb_request
;	.line	56; src/midi.c	if(eb_request.active)
	BTFSS	_eb_request, 0, B
	BRA	_02017_DS_
;	.line	57; src/midi.c	sysex=0xFE;
	MOVLW	0xfe
	BANKSEL	_sysex
	MOVWF	_sysex, B
	BRA	_02018_DS_
_02017_DS_:
	BANKSEL	_sysex
;	.line	59; src/midi.c	sysex = 0x00;
	CLRF	_sysex, B
_02018_DS_:
;	.line	60; src/midi.c	record_flag = 1;
	MOVLW	0x01
	BANKSEL	_record_flag
	MOVWF	_record_flag, B
_02020_DS_:
	BANKSEL	_sysex
;	.line	78; src/midi.c	switch (sysex) {									// still in Core-relevant Sysex-Message? no -> sysex = 0xFF -> Tunnel												//            	                            yes -> sysex = number of Byte
	MOVF	_sysex, W, B
	BNZ	_02136_DS_
	BRA	_02021_DS_
_02136_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x01
	BNZ	_02138_DS_
	BRA	_02024_DS_
_02138_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x02
	BNZ	_02140_DS_
	BRA	_02028_DS_
_02140_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x03
	BNZ	_02142_DS_
	BRA	_02032_DS_
_02142_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x04
	BNZ	_02144_DS_
	BRA	_02036_DS_
_02144_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x05
	BNZ	_02146_DS_
	BRA	_02040_DS_
_02146_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x06
	BNZ	_02148_DS_
	BRA	_02041_DS_
_02148_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x07
	BNZ	_02150_DS_
	BRA	_02044_DS_
_02150_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x08
	BNZ	_02152_DS_
	BRA	_02047_DS_
_02152_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x09
	BNZ	_02154_DS_
	BRA	_02048_DS_
_02154_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x10
	BNZ	_02156_DS_
	BRA	_02049_DS_
_02156_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0x11
	BNZ	_02158_DS_
	BRA	_02050_DS_
_02158_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0xfe
	BNZ	_02160_DS_
	BRA	_02069_DS_
_02160_DS_:
	BANKSEL	_sysex
	MOVF	_sysex, W, B
	XORLW	0xff
	BNZ	_02162_DS_
	GOTO	_02081_DS_
_02162_DS_:
	GOTO	_02087_DS_
_02021_DS_:
;	.line	80; src/midi.c	if(byte == 0xF0) {							// Sysex?
	MOVF	r0x01, W
	BTFSC	STATUS, 2
	GOTO	_02087_DS_
;	.line	81; src/midi.c	inc_buffer[0] = byte;					// keep recent byte in buffer
	MOVF	r0x00, W
	BANKSEL	_inc_buffer
	MOVWF	_inc_buffer, B
;	.line	82; src/midi.c	sysex = 0x01;
	MOVLW	0x01
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	84; src/midi.c	break;
	GOTO	_02087_DS_
_02024_DS_:
;	.line	87; src/midi.c	if(byte == 0x55) {							// Manufacturer Code MIDIbox GLCD?
	MOVF	r0x00, W
	XORLW	0x55
	BNZ	_02026_DS_
;	.line	88; src/midi.c	inc_buffer[1] = byte;					//  keep recent byte in buffer
	MOVF	r0x00, W
	BANKSEL	(_inc_buffer + 1)
	MOVWF	(_inc_buffer + 1), B
;	.line	89; src/midi.c	sysex = 0x02;
	MOVLW	0x02
	BANKSEL	_sysex
	MOVWF	_sysex, B
	GOTO	_02087_DS_
_02026_DS_:
;	.line	92; src/midi.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
	BANKSEL	_inc_buffer
;	.line	93; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[0]);		
	MOVF	_inc_buffer, W, B
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	94; src/midi.c	MIOS_MIDI_TxBufferPut (byte);			
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	95; src/midi.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
;	.line	96; src/midi.c	sysex = 0xFF;							//exit Core-relevant - Sysex
	MOVLW	0xff
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	98; src/midi.c	break;
	GOTO	_02087_DS_
_02028_DS_:
;	.line	101; src/midi.c	if(byte == 0x4D) {							// M?
	MOVF	r0x00, W
	XORLW	0x4d
	BNZ	_02030_DS_
;	.line	102; src/midi.c	inc_buffer[2] = byte;					//keep recent byte in buffer
	MOVF	r0x00, W
	BANKSEL	(_inc_buffer + 2)
	MOVWF	(_inc_buffer + 2), B
;	.line	103; src/midi.c	sysex = 0x03;
	MOVLW	0x03
	BANKSEL	_sysex
	MOVWF	_sysex, B
	GOTO	_02087_DS_
_02030_DS_:
;	.line	106; src/midi.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
	BANKSEL	_inc_buffer
;	.line	107; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[0]);	//Falls nicht mehr in einer für Core relevanten Sysex Message,
	MOVF	_inc_buffer, W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_inc_buffer + 1)
;	.line	108; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[1]);	//tunnele Buffer und aktuelles Byte an Ausgang
	MOVF	(_inc_buffer + 1), W, B
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	109; src/midi.c	MIOS_MIDI_TxBufferPut (byte);
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	110; src/midi.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
;	.line	111; src/midi.c	sysex = 0xFF;							//exit Core-relevant - Sysex
	MOVLW	0xff
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	113; src/midi.c	break;
	GOTO	_02087_DS_
_02032_DS_:
;	.line	116; src/midi.c	if(byte == 0x42) {							// B?
	MOVF	r0x00, W
	XORLW	0x42
	BNZ	_02034_DS_
;	.line	117; src/midi.c	inc_buffer[3] = byte;
	MOVF	r0x00, W
	BANKSEL	(_inc_buffer + 3)
	MOVWF	(_inc_buffer + 3), B
;	.line	118; src/midi.c	sysex = 0x04;
	MOVLW	0x04
	BANKSEL	_sysex
	MOVWF	_sysex, B
	GOTO	_02087_DS_
_02034_DS_:
;	.line	121; src/midi.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
	BANKSEL	_inc_buffer
;	.line	122; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[0]);	//Falls nicht mehr in einer für Core relevanten Sysex Message,
	MOVF	_inc_buffer, W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_inc_buffer + 1)
;	.line	123; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[1]);	//tunnele Buffer und aktuelles Byte an Ausgang
	MOVF	(_inc_buffer + 1), W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_inc_buffer + 2)
;	.line	124; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[2]);
	MOVF	(_inc_buffer + 2), W, B
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	125; src/midi.c	MIOS_MIDI_TxBufferPut (byte);
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	126; src/midi.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
;	.line	127; src/midi.c	sysex = 0xFF;							//exit Core-relevant - Sysex
	MOVLW	0xff
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	129; src/midi.c	break;
	GOTO	_02087_DS_
_02036_DS_:
;	.line	132; src/midi.c	if(byte == CURENT_CORE) {					// CURRENT CORE?
	MOVF	r0x00, W
	BNZ	_02038_DS_
;	.line	133; src/midi.c	sysex = 0x05;
	MOVLW	0x05
	BANKSEL	_sysex
	MOVWF	_sysex, B
	GOTO	_02087_DS_
_02038_DS_:
;	.line	136; src/midi.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
	BANKSEL	_inc_buffer
;	.line	137; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[0]);	//Falls nicht mehr in einer für Core relevanten Sysex Message,
	MOVF	_inc_buffer, W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_inc_buffer + 1)
;	.line	138; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[1]);	//tunnele Buffer und aktuelles Byte an Ausgang
	MOVF	(_inc_buffer + 1), W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_inc_buffer + 2)
;	.line	139; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[2]);
	MOVF	(_inc_buffer + 2), W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_inc_buffer + 3)
;	.line	140; src/midi.c	MIOS_MIDI_TxBufferPut (inc_buffer[3]);
	MOVF	(_inc_buffer + 3), W, B
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	141; src/midi.c	MIOS_MIDI_TxBufferPut (byte);
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	142; src/midi.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
;	.line	143; src/midi.c	sysex = 0xFF;							//exit Core-relevant - Sysex
	MOVLW	0xff
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	145; src/midi.c	break;
	GOTO	_02087_DS_
_02040_DS_:
;	.line	148; src/midi.c	received_func_flag = byte;
	MOVFF	r0x00, _received_func_flag
;	.line	149; src/midi.c	sysex = 0x06;
	MOVLW	0x06
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	151; src/midi.c	break;
	GOTO	_02087_DS_
_02041_DS_:
;	.line	154; src/midi.c	if(byte == MAJOR_VERSION) {
	MOVF	r0x00, W
	XORLW	0x01
	BZ	_02170_DS_
	GOTO	_02087_DS_
_02170_DS_:
;	.line	155; src/midi.c	sysex = 0x07;
	MOVLW	0x07
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	157; src/midi.c	break;
	GOTO	_02087_DS_
_02044_DS_:
;	.line	160; src/midi.c	if(byte == MINOR_VERSION) {
	MOVF	r0x00, W
	BTFSS	STATUS, 2
	GOTO	_02087_DS_
;	.line	161; src/midi.c	sysex = 0x08;
	MOVLW	0x08
	BANKSEL	_sysex
	MOVWF	_sysex, B
	BANKSEL	_mem_adress
;	.line	162; src/midi.c	mem_adress = 0;
	CLRF	_mem_adress, B
; removed redundant BANKSEL
	CLRF	(_mem_adress + 1), B
; removed redundant BANKSEL
	CLRF	(_mem_adress + 2), B
; removed redundant BANKSEL
	CLRF	(_mem_adress + 3), B
;	.line	164; src/midi.c	break;
	GOTO	_02087_DS_
_02047_DS_:
;	.line	167; src/midi.c	mem_adress |= byte;
	MOVFF	r0x00, r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	MOVF	r0x02, W
	BANKSEL	_mem_adress
	IORWF	_mem_adress, F, B
	MOVF	r0x03, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 1), F, B
	MOVF	r0x04, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 2), F, B
	MOVF	r0x05, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 3), F, B
; removed redundant BANKSEL
;	.line	168; src/midi.c	mem_adress <<= 8;
	MOVF	(_mem_adress + 2), W, B
; removed redundant BANKSEL
	MOVWF	(_mem_adress + 3), B
; removed redundant BANKSEL
	MOVF	(_mem_adress + 1), W, B
; removed redundant BANKSEL
	MOVWF	(_mem_adress + 2), B
; removed redundant BANKSEL
	MOVF	_mem_adress, W, B
; removed redundant BANKSEL
	MOVWF	(_mem_adress + 1), B
; removed redundant BANKSEL
	CLRF	_mem_adress, B
;	.line	169; src/midi.c	sysex = 0x09;
	MOVLW	0x09
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	170; src/midi.c	break;
	BRA	_02087_DS_
_02048_DS_:
;	.line	173; src/midi.c	mem_adress |= byte;
	MOVFF	r0x00, r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	MOVF	r0x02, W
	BANKSEL	_mem_adress
	IORWF	_mem_adress, F, B
	MOVF	r0x03, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 1), F, B
	MOVF	r0x04, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 2), F, B
	MOVF	r0x05, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 3), F, B
; removed redundant BANKSEL
;	.line	174; src/midi.c	mem_adress |= (mem_adress>>7)&0x80;
	RLCF	_mem_adress, W, B
; removed redundant BANKSEL
	RLCF	(_mem_adress + 1), W, B
	MOVWF	r0x02
	CLRF	r0x03
	RLCF	r0x03, F
; removed redundant BANKSEL
	MOVF	(_mem_adress + 2), W, B
	RLNCF	WREG, W
	ANDLW	0xfe
	IORWF	r0x03, F
; removed redundant BANKSEL
	RLCF	(_mem_adress + 2), W, B
; removed redundant BANKSEL
	RLCF	(_mem_adress + 3), W, B
	MOVWF	r0x04
	CLRF	r0x05
	RLCF	r0x05, F
	MOVLW	0x80
	ANDWF	r0x02, F
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	MOVF	r0x02, W
; removed redundant BANKSEL
	IORWF	_mem_adress, F, B
	MOVF	r0x03, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 1), F, B
	MOVF	r0x04, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 2), F, B
	MOVF	r0x05, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 3), F, B
; removed redundant BANKSEL
;	.line	175; src/midi.c	mem_adress <<= 8;
	MOVF	(_mem_adress + 2), W, B
; removed redundant BANKSEL
	MOVWF	(_mem_adress + 3), B
; removed redundant BANKSEL
	MOVF	(_mem_adress + 1), W, B
; removed redundant BANKSEL
	MOVWF	(_mem_adress + 2), B
; removed redundant BANKSEL
	MOVF	_mem_adress, W, B
; removed redundant BANKSEL
	MOVWF	(_mem_adress + 1), B
; removed redundant BANKSEL
	CLRF	_mem_adress, B
;	.line	176; src/midi.c	sysex = 0x10;
	MOVLW	0x10
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	177; src/midi.c	break;
	BRA	_02087_DS_
_02049_DS_:
;	.line	180; src/midi.c	mem_adress |= byte;
	MOVFF	r0x00, r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	MOVF	r0x02, W
	BANKSEL	_mem_adress
	IORWF	_mem_adress, F, B
	MOVF	r0x03, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 1), F, B
	MOVF	r0x04, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 2), F, B
	MOVF	r0x05, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 3), F, B
; removed redundant BANKSEL
;	.line	181; src/midi.c	mem_adress |= (mem_adress>>14)&0x80;
	RLCF	(_mem_adress + 1), W, B
	MOVWF	r0x03
; removed redundant BANKSEL
	RLCF	(_mem_adress + 2), W, B
	MOVWF	r0x02
	RLCF	r0x03, F
	RLCF	r0x02, F
	RLCF	r0x03, W
	ANDLW	0x03
	MOVWF	r0x03
; removed redundant BANKSEL
	MOVF	(_mem_adress + 3), W, B
	RLNCF	WREG, W
	RLNCF	WREG, W
	ANDLW	0xfc
	IORWF	r0x03, F
; removed redundant BANKSEL
	RLNCF	(_mem_adress + 3), W, B
	ANDLW	0x81
	MOVWF	r0x04
	RLNCF	r0x04, F
	CLRF	r0x05
	MOVLW	0x80
	ANDWF	r0x02, F
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	MOVF	r0x02, W
; removed redundant BANKSEL
	IORWF	_mem_adress, F, B
	MOVF	r0x03, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 1), F, B
	MOVF	r0x04, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 2), F, B
	MOVF	r0x05, W
; removed redundant BANKSEL
	IORWF	(_mem_adress + 3), F, B
;	.line	182; src/midi.c	mem_adress &= 0x1fffff;
	MOVLW	0x1f
; removed redundant BANKSEL
	ANDWF	(_mem_adress + 2), F, B
; removed redundant BANKSEL
	CLRF	(_mem_adress + 3), B
;	.line	183; src/midi.c	sysex = 0x11;
	MOVLW	0x11
	BANKSEL	_sysex
	MOVWF	_sysex, B
;	.line	184; src/midi.c	break;
	BRA	_02087_DS_
_02050_DS_:
;	.line	190; src/midi.c	if(byte==0xF7) {
	MOVF	r0x00, W
	XORLW	0xf7
	BNZ	_02067_DS_
;	.line	191; src/midi.c	sysex = 0xFF;
	MOVLW	0xff
	BANKSEL	_sysex
	MOVWF	_sysex, B
	BANKSEL	_record_flag
;	.line	192; src/midi.c	record_flag = 0;
	CLRF	_record_flag, B
	BANKSEL	_transfer_counter
;	.line	194; src/midi.c	transfer_counter=0;
	CLRF	_transfer_counter, B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 1), B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 2), B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 3), B
	BANKSEL	_check_sum
;	.line	195; src/midi.c	check_sum&=0x7F;
	BCF	_check_sum, 7, B
;	.line	196; src/midi.c	sendReply(0,check_sum);
	MOVF	_check_sum, W, B
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_sendReply
	MOVLW	0x02
	ADDWF	FSR1L, F
	BANKSEL	_check_sum
;	.line	197; src/midi.c	check_sum=0;
	CLRF	_check_sum, B
	BRA	_02087_DS_
_02067_DS_:
	BANKSEL	_received_func_flag
;	.line	199; src/midi.c	} else if(received_func_flag==0x00) {
	MOVF	_received_func_flag, W, B
	BTFSS	STATUS, 2
	BRA	_02087_DS_
;	.line	200; src/midi.c	if(transfer_counter++>=64) {
	MOVFF	_transfer_counter, r0x02
	MOVFF	(_transfer_counter + 1), r0x03
	MOVFF	(_transfer_counter + 2), r0x04
	MOVFF	(_transfer_counter + 3), r0x05
	BANKSEL	_transfer_counter
	INCF	_transfer_counter, F, B
	BNC	_12414_DS_
; removed redundant BANKSEL
	INCF	(_transfer_counter + 1), F, B
_12414_DS_:
	BNC	_22415_DS_
	BANKSEL	(_transfer_counter + 2)
	INCF	(_transfer_counter + 2), F, B
_22415_DS_:
	BNC	_32416_DS_
	BANKSEL	(_transfer_counter + 3)
	INCF	(_transfer_counter + 3), F, B
_32416_DS_:
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_02177_DS_
	MOVLW	0x00
	SUBWF	r0x04, W
	BNZ	_02177_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_02177_DS_
	MOVLW	0x40
	SUBWF	r0x02, W
_02177_DS_:
	BNC	_02052_DS_
	BANKSEL	_transfer_counter
;	.line	201; src/midi.c	transfer_counter=0;
	CLRF	_transfer_counter, B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 1), B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 2), B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 3), B
	BANKSEL	_check_sum
;	.line	202; src/midi.c	sendReply(0,check_sum);
	MOVF	_check_sum, W, B
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_sendReply
	MOVLW	0x02
	ADDWF	FSR1L, F
	BANKSEL	_check_sum
;	.line	203; src/midi.c	check_sum=0;
	CLRF	_check_sum, B
_02052_DS_:
;	.line	205; src/midi.c	if(byte==0x60 && receive_escape<3) {
	MOVF	r0x00, W
	XORLW	0x60
	BNZ	_02054_DS_
	MOVLW	0x03
	BANKSEL	_receive_escape
	SUBWF	_receive_escape, W, B
	BC	_02054_DS_
; removed redundant BANKSEL
;	.line	206; src/midi.c	receive_escape++;
	INCF	_receive_escape, F, B
;	.line	207; src/midi.c	return;
	BRA	_02087_DS_
_02054_DS_:
	BANKSEL	_receive_escape
;	.line	209; src/midi.c	if(receive_escape==1) {
	MOVF	_receive_escape, W, B
	XORLW	0x01
	BNZ	_02057_DS_
;	.line	210; src/midi.c	byte|=0x80;
	BSF	r0x00, 7
_02057_DS_:
	BANKSEL	_receive_escape
;	.line	212; src/midi.c	if(receive_escape==2) {
	MOVF	_receive_escape, W, B
	XORLW	0x02
	BNZ	_02059_DS_
;	.line	213; src/midi.c	writeStream (0x60);
	MOVLW	0x60
	MOVWF	POSTDEC1
	CALL	_writeStream
	INCF	FSR1L, F
;	.line	214; src/midi.c	check_sum^=0x60;
	MOVLW	0x60
	BANKSEL	_check_sum
	XORWF	_check_sum, F, B
_02059_DS_:
	BANKSEL	_receive_escape
;	.line	216; src/midi.c	if(receive_escape==3) {
	MOVF	_receive_escape, W, B
	XORLW	0x03
	BNZ	_02061_DS_
;	.line	219; src/midi.c	writeStream (0x60|0x80);
	MOVLW	0xe0
	MOVWF	POSTDEC1
	CALL	_writeStream
	INCF	FSR1L, F
;	.line	220; src/midi.c	check_sum^=(0x60|0x80);
	MOVLW	0xe0
	BANKSEL	_check_sum
	XORWF	_check_sum, F, B
_02061_DS_:
	BANKSEL	_receive_escape
;	.line	222; src/midi.c	receive_escape=0;
	CLRF	_receive_escape, B
	BANKSEL	_get_userdata
;	.line	223; src/midi.c	if (get_userdata==0)
	MOVF	_get_userdata, W, B
	BNZ	_02063_DS_
;	.line	224; src/midi.c	update=0x10;
	MOVLW	0x10
	BANKSEL	_update
	MOVWF	_update, B
_02063_DS_:
	BANKSEL	_eb_request
;	.line	225; src/midi.c	eb_request.error=0;
	BCF	_eb_request, 1, B
;	.line	226; src/midi.c	get_userdata=0x08;
	MOVLW	0x08
	BANKSEL	_get_userdata
	MOVWF	_get_userdata, B
;	.line	228; src/midi.c	check_sum^=byte;
	MOVF	r0x00, W
	BANKSEL	_check_sum
	XORWF	_check_sum, F, B
;	.line	229; src/midi.c	writeStream (byte);
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeStream
	INCF	FSR1L, F
;	.line	233; src/midi.c	break;
	BRA	_02087_DS_
_02069_DS_:
;	.line	237; src/midi.c	if(byte==0xF0)
	MOVF	r0x01, W
	BZ	_02071_DS_
;	.line	238; src/midi.c	return;
	BRA	_02087_DS_
_02071_DS_:
;	.line	239; src/midi.c	if(eb_request.dump.wrong_header_length>eb_request.data_counter) {
	MOVFF	(_eb_request + 10), r0x01
	MOVFF	(_eb_request + 2), r0x02
	MOVFF	(_eb_request + 3), r0x03
	MOVFF	r0x01, r0x04
	CLRF	r0x05
	MOVF	r0x05, W
	SUBWF	r0x03, W
	BNZ	_02187_DS_
	MOVF	r0x04, W
	SUBWF	r0x02, W
_02187_DS_:
	BC	_02073_DS_
;	.line	240; src/midi.c	eb_request.data_counter++;
	MOVLW	0x01
	ADDWF	r0x02, W
	MOVWF	r0x04
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x05
	MOVF	r0x04, W
	BANKSEL	(_eb_request + 2)
	MOVWF	(_eb_request + 2), B
	MOVF	r0x05, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 3), B
	BRA	_02074_DS_
_02073_DS_:
;	.line	243; src/midi.c	writeEditBuffer((eb_request.data_counter++)-eb_request.dump.wrong_header_length,byte);
	MOVLW	0x01
	ADDWF	r0x02, W
	MOVWF	r0x04
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x05
	MOVF	r0x04, W
	BANKSEL	(_eb_request + 2)
	MOVWF	(_eb_request + 2), B
	MOVF	r0x05, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 3), B
	CLRF	r0x04
	MOVF	r0x01, W
	SUBWF	r0x02, F
	MOVF	r0x04, W
	SUBWFB	r0x03, F
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_writeEditBuffer
	MOVLW	0x03
	ADDWF	FSR1L, F
_02074_DS_:
;	.line	246; src/midi.c	if(byte==0xF7) {
	MOVF	r0x00, W
	XORLW	0xf7
	BZ	_02189_DS_
	BRA	_02087_DS_
_02189_DS_:
;	.line	248; src/midi.c	sysex=0xFF;
	MOVLW	0xff
	BANKSEL	_sysex
	MOVWF	_sysex, B
	BANKSEL	_record_flag
;	.line	249; src/midi.c	record_flag = 0;
	CLRF	_record_flag, B
;	.line	250; src/midi.c	for(i=0;i<8;i++) {
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
_02083_DS_:
	MOVLW	0x08
	SUBWF	r0x01, W
	BTFSC	STATUS, 0
	BRA	_02086_DS_
;	.line	251; src/midi.c	if(parametersleft[i].edit&0x0FFF)
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x03, W
	MOVWF	r0x05
	CLRF	r0x06
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x06, F
	MOVLW	0x15
	ADDWF	r0x05, W
	MOVWF	r0x07
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x08
	MOVFF	r0x07, FSR0L
	MOVFF	r0x08, FSR0H
	MOVFF	POSTINC0, r0x07
	MOVFF	INDF0, r0x08
	MOVLW	0x0f
	ANDWF	r0x08, F
	MOVF	r0x07, W
	IORWF	r0x08, W
	BZ	_02076_DS_
;	.line	252; src/midi.c	potis[i]=eb_re_convert(parametersleft[i].value[0],parametersleft[i].edit&0x0FFF);
	MOVLW	LOW(_potis)
	ADDWF	r0x02, W
	MOVWF	r0x09
	CLRF	r0x0a
	MOVLW	HIGH(_potis)
	ADDWFC	r0x0a, F
	MOVLW	0x12
	ADDWF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	MOVFF	r0x05, FSR0L
	MOVFF	r0x06, FSR0H
	MOVFF	INDF0, r0x05
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	_eb_re_convert
	MOVWF	r0x05
	MOVFF	PRODL, r0x06
	MOVLW	0x03
	ADDWF	FSR1L, F
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0a, FSR0H
	MOVFF	r0x05, POSTINC0
	MOVFF	r0x06, INDF0
_02076_DS_:
;	.line	253; src/midi.c	if(parametersright[i].edit&0x0FFF)
	MOVLW	LOW(_parametersright)
	ADDWF	r0x04, W
	MOVWF	r0x05
	CLRF	r0x06
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x06, F
	MOVLW	0x15
	ADDWF	r0x05, W
	MOVWF	r0x07
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x08
	MOVFF	r0x07, FSR0L
	MOVFF	r0x08, FSR0H
	MOVFF	POSTINC0, r0x07
	MOVFF	INDF0, r0x08
	MOVLW	0x0f
	ANDWF	r0x08, F
	MOVF	r0x07, W
	IORWF	r0x08, W
	BZ	_02085_DS_
;	.line	254; src/midi.c	potis[i+8]=eb_re_convert(parametersright[i].value[0],parametersright[i].edit&0x0FFF);
	MOVLW	0x08
	ADDWF	r0x01, W
	MOVWF	r0x09
; ;multiply lit val:0x02 by variable r0x09 and store in r0x09
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x09, F
	MOVLW	LOW(_potis)
	ADDWF	r0x09, F
	MOVLW	HIGH(_potis)
	CLRF	r0x0a
	ADDWFC	r0x0a, F
	MOVLW	0x12
	ADDWF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	MOVFF	r0x05, FSR0L
	MOVFF	r0x06, FSR0H
	MOVFF	INDF0, r0x05
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	_eb_re_convert
	MOVWF	r0x05
	MOVFF	PRODL, r0x06
	MOVLW	0x03
	ADDWF	FSR1L, F
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0a, FSR0H
	MOVFF	r0x05, POSTINC0
	MOVFF	r0x06, INDF0
_02085_DS_:
;	.line	250; src/midi.c	for(i=0;i<8;i++) {
	INCF	r0x02, F
	INCF	r0x02, F
	MOVLW	0x1c
	ADDWF	r0x03, F
	MOVLW	0x1c
	ADDWF	r0x04, F
	INCF	r0x01, F
	BRA	_02083_DS_
_02086_DS_:
	BANKSEL	_eb_request
;	.line	257; src/midi.c	eb_request.active=0;
	BCF	_eb_request, 0, B
;	.line	259; src/midi.c	update=0x03;
	MOVLW	0x03
	BANKSEL	_update
	MOVWF	_update, B
;	.line	263; src/midi.c	break;
	BRA	_02087_DS_
_02081_DS_:
;	.line	266; src/midi.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
;	.line	267; src/midi.c	MIOS_MIDI_TxBufferPut (byte);				// send MIDI-Byte from input to output
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	268; src/midi.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
_02087_DS_:
;	.line	270; src/midi.c	}
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__sendReply	code
_sendReply:
;	.line	14; src/midi.c	void sendReply(unsigned char reply,unsigned char checksum) __critical {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	15; src/midi.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
;	.line	16; src/midi.c	MIOS_MIDI_TxBufferPut(0xF0);
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	17; src/midi.c	MIOS_MIDI_TxBufferPut(0x54);
	MOVLW	0x54
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	18; src/midi.c	MIOS_MIDI_TxBufferPut(reply);
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	19; src/midi.c	MIOS_MIDI_TxBufferPut(checksum);
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	20; src/midi.c	MIOS_MIDI_TxBufferPut(0xF7);
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	21; src/midi.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__sendMessage	code
_sendMessage:
;	.line	59; src/message.c	void sendMessage(unsigned char number, signed char incrementer) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVFF	r0x12, POSTDEC1
	MOVFF	r0x13, POSTDEC1
	MOVFF	r0x14, POSTDEC1
	MOVFF	r0x15, POSTDEC1
	MOVFF	r0x16, POSTDEC1
	MOVFF	r0x17, POSTDEC1
	MOVFF	r0x18, POSTDEC1
	MOVFF	r0x19, POSTDEC1
	MOVFF	r0x1a, POSTDEC1
	MOVFF	r0x1b, POSTDEC1
	MOVFF	r0x1c, POSTDEC1
	MOVFF	r0x1d, POSTDEC1
	MOVFF	r0x1e, POSTDEC1
	MOVFF	r0x1f, POSTDEC1
	MOVFF	r0x20, POSTDEC1
	MOVFF	r0x21, POSTDEC1
	MOVFF	r0x22, POSTDEC1
	MOVFF	r0x23, POSTDEC1
	MOVFF	r0x24, POSTDEC1
	MOVFF	r0x25, POSTDEC1
	MOVFF	r0x26, POSTDEC1
	MOVFF	r0x27, POSTDEC1
	MOVFF	r0x28, POSTDEC1
	MOVFF	r0x29, POSTDEC1
	MOVFF	r0x2a, POSTDEC1
	MOVFF	r0x2b, POSTDEC1
	MOVFF	r0x2c, POSTDEC1
	MOVFF	r0x2d, POSTDEC1
	MOVFF	r0x2e, POSTDEC1
	MOVFF	r0x2f, POSTDEC1
	MOVFF	r0x30, POSTDEC1
	MOVFF	r0x31, POSTDEC1
	MOVFF	r0x32, POSTDEC1
	MOVFF	r0x33, POSTDEC1
	MOVFF	r0x34, POSTDEC1
	MOVFF	r0x35, POSTDEC1
	MOVFF	r0x36, POSTDEC1
	MOVFF	r0x37, POSTDEC1
	MOVFF	r0x38, POSTDEC1
	MOVFF	r0x39, POSTDEC1
	MOVFF	r0x3a, POSTDEC1
	MOVFF	r0x3b, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	77; src/message.c	param = 0;
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
;	.line	78; src/message.c	sendMessageMemory=0x00;
	CLRF	r0x05
;	.line	79; src/message.c	relativ=0x0000;
	CLRF	r0x06
	CLRF	r0x07
;	.line	81; src/message.c	if (number<=7)
	MOVLW	0x08
	SUBWF	r0x00, W
	CLRF	r0x08
	RLCF	r0x08, F
	MOVF	r0x08, W
	BNZ	_01783_DS_
;	.line	82; src/message.c	param = &parametersleft[number%8];
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x09
; ;multiply lit val:0x1c by variable r0x09 and store in r0x09
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x09, W
	MULLW	0x1c
	MOVFF	PRODL, r0x09
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x09, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x0a
	ADDWFC	r0x0a, F
	MOVF	r0x0a, W
	MOVWF	r0x03
	MOVF	r0x09, W
	MOVWF	r0x02
	MOVLW	0x80
	MOVWF	r0x04
	BRA	_01784_DS_
_01783_DS_:
;	.line	84; src/message.c	if (number>7)
	MOVF	r0x08, W
	BZ	_01784_DS_
;	.line	85; src/message.c	param = &parametersright[number%8];
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x08
; ;multiply lit val:0x1c by variable r0x08 and store in r0x08
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x08, W
	MULLW	0x1c
	MOVFF	PRODL, r0x08
	MOVLW	LOW(_parametersright)
	ADDWF	r0x08, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x09
	ADDWFC	r0x09, F
	MOVF	r0x09, W
	MOVWF	r0x03
	MOVF	r0x08, W
	MOVWF	r0x02
	MOVLW	0x80
	MOVWF	r0x04
_01784_DS_:
;	.line	89; src/message.c	eb_convert(param->value[0],((param->edit&0x0FFF)-1),potis[number]);
	MOVLW	0x12
	ADDWF	r0x02, W
	MOVWF	r0x08
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x09
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0a
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVLW	0x15
	ADDWF	r0x02, W
	MOVWF	r0x09
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0a
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0b
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0a, PRODL
	MOVF	r0x0b, W
	CALL	__gptrget2
	MOVWF	r0x0c
	MOVFF	PRODL, r0x0d
	MOVLW	0x0f
	ANDWF	r0x0d, F
	MOVLW	0xff
	ADDWF	r0x0c, F
	BTFSS	STATUS, 0
	DECF	r0x0d, F
; ;multiply lit val:0x02 by variable r0x00 and store in r0x00
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	BCF	STATUS, 0
	RLCF	r0x00, F
	MOVLW	LOW(_potis)
	ADDWF	r0x00, W
	MOVWF	r0x0e
	CLRF	r0x0f
	MOVLW	HIGH(_potis)
	ADDWFC	r0x0f, F
	MOVFF	r0x0e, FSR0L
	MOVFF	r0x0f, FSR0H
	MOVFF	POSTINC0, r0x0e
	MOVFF	INDF0, r0x0f
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	CALL	_eb_convert
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	92; src/message.c	do {
	MOVLW	LOW(_potis)
	ADDWF	r0x00, W
	MOVWF	r0x08
	CLRF	r0x0c
	MOVLW	HIGH(_potis)
	ADDWFC	r0x0c, F
	MOVLW	0x0b
	ADDWF	r0x02, W
	MOVWF	r0x0d
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x0e
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x0f
	MOVLW	0x0c
	ADDWF	r0x02, W
	MOVWF	r0x10
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x11
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x12
	MOVFF	r0x08, r0x13
	MOVFF	r0x0c, r0x14
	MOVLW	0x0c
	ADDWF	r0x02, W
	MOVWF	r0x15
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x16
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x17
	INCF	r0x15, F
	BTFSC	STATUS, 0
	INCF	r0x16, F
	BTFSC	STATUS, 0
	INCF	r0x17, F
	MOVLW	0x0c
	ADDWF	r0x02, W
	MOVWF	r0x18
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x19
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x1a
	MOVFF	r0x08, r0x1b
	MOVFF	r0x0c, r0x1c
	MOVLW	0x0c
	ADDWF	r0x02, W
	MOVWF	r0x1d
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x1e
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x1f
	MOVFF	r0x08, r0x20
	MOVFF	r0x0c, r0x21
	MOVLW	0x0c
	ADDWF	r0x02, W
	MOVWF	r0x22
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x23
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x24
	MOVFF	r0x08, r0x25
	MOVFF	r0x0c, r0x26
	MOVLW	0x0a
	ADDWF	r0x02, W
	MOVWF	r0x27
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x28
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x29
_01862_DS_:
;	.line	94; src/message.c	switch (param->messageChannel|0x0F) {
	MOVFF	r0x27, FSR0L
	MOVFF	r0x28, PRODL
	MOVF	r0x29, W
	CALL	__gptrget1
	MOVWF	r0x2a
	MOVLW	0x0f
	IORWF	r0x2a, W
	MOVWF	r0x2b
	MOVF	r0x2b, W
	XORLW	0x1f
	BNZ	_01934_DS_
	BRA	_01790_DS_
_01934_DS_:
	MOVF	r0x2b, W
	XORLW	0x3f
	BNZ	_01936_DS_
	GOTO	_01813_DS_
_01936_DS_:
	MOVF	r0x2b, W
	XORLW	0x4f
	BNZ	_01938_DS_
	GOTO	_01854_DS_
_01938_DS_:
	MOVF	r0x2b, W
	XORLW	0x5f
	BNZ	_01940_DS_
	GOTO	_01800_DS_
_01940_DS_:
	MOVF	r0x2b, W
	XORLW	0x6f
	BNZ	_01942_DS_
	GOTO	_01800_DS_
_01942_DS_:
	MOVF	r0x2b, W
	XORLW	0x7f
	BZ	_01944_DS_
	GOTO	_01861_DS_
_01944_DS_:
;	.line	100; src/message.c	if (param->edit&0x1000) {
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0a, PRODL
	MOVF	r0x0b, W
	CALL	__gptrget2
	MOVWF	r0x2b
	MOVFF	PRODL, r0x2c
	BTFSS	r0x2c, 4
	BRA	_01789_DS_
	BANKSEL	_send_editbuffer
;	.line	101; src/message.c	if (!send_editbuffer)
	MOVF	_send_editbuffer, W, B
	BNZ	_01787_DS_
;	.line	102; src/message.c	send_editbuffer=0x50;
	MOVLW	0x50
; removed redundant BANKSEL
	MOVWF	_send_editbuffer, B
_01787_DS_:
;	.line	104; src/message.c	return;
	GOTO	_01873_DS_
_01789_DS_:
;	.line	108; src/message.c	MIOS_MIDI_TxBufferPut(0xF0);
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	109; src/message.c	for(i=0,x=((param->number[0]<<8)|param->number[1])+BASE_DYNMEM+device*DYNBLOCK_LENGTH+sizeof(SysexStruct);i<param->sysex.length;i++)
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, PRODL
	MOVF	r0x24, W
	CALL	__gptrget1
	MOVWF	r0x2b
	CLRF	r0x2c
	MOVF	r0x2b, W
	MOVWF	r0x2e
	CLRF	r0x2d
	MOVLW	0x01
	ADDWF	r0x22, W
	MOVWF	r0x2b
	MOVLW	0x00
	ADDWFC	r0x23, W
	MOVWF	r0x2c
	MOVLW	0x00
	ADDWFC	r0x24, W
	MOVWF	r0x2f
	MOVFF	r0x2b, FSR0L
	MOVFF	r0x2c, PRODL
	MOVF	r0x2f, W
	CALL	__gptrget1
	MOVWF	r0x2b
	CLRF	r0x2c
	MOVF	r0x2b, W
	IORWF	r0x2d, F
	MOVF	r0x2c, W
	IORWF	r0x2e, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x2b
	MOVFF	PRODL, r0x2c
	MOVFF	PRODH, r0x2f
	MOVFF	FSR0L, r0x30
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x03
	ADDWF	r0x2b, F
	MOVLW	0x00
	ADDWFC	r0x2c, F
	MOVLW	0x08
	ADDWFC	r0x2f, F
	MOVLW	0x00
	ADDWFC	r0x30, F
	CLRF	WREG
	BTFSC	r0x2e, 7
	MOVLW	0xff
	MOVWF	r0x31
	MOVWF	r0x32
	MOVF	r0x2b, W
	ADDWF	r0x2d, W
	MOVWF	r0x2b
	MOVF	r0x2c, W
	ADDWFC	r0x2e, W
	MOVWF	r0x2c
	MOVF	r0x2f, W
	ADDWFC	r0x31, W
	MOVWF	r0x2d
	MOVF	r0x30, W
	ADDWFC	r0x32, W
	MOVWF	r0x2e
	MOVLW	0x19
	ADDWF	r0x02, W
	MOVWF	r0x2f
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x30
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x31
	MOVLW	0x02
	ADDWF	r0x2f, F
	MOVLW	0x00
	ADDWFC	r0x30, F
	MOVLW	0x00
	ADDWFC	r0x31, F
	CLRF	r0x32
	CLRF	r0x33
	CLRF	r0x34
	CLRF	r0x35
_01865_DS_:
	MOVFF	r0x2f, FSR0L
	MOVFF	r0x30, PRODL
	MOVF	r0x31, W
	CALL	__gptrget1
	MOVWF	r0x36
	CLRF	r0x37
	CLRF	r0x38
	CLRF	r0x39
	MOVF	r0x39, W
	SUBWF	r0x35, W
	BNZ	_01945_DS_
	MOVF	r0x38, W
	SUBWF	r0x34, W
	BNZ	_01945_DS_
	MOVF	r0x37, W
	SUBWF	r0x33, W
	BNZ	_01945_DS_
	MOVF	r0x36, W
	SUBWF	r0x32, W
_01945_DS_:
	BC	_01868_DS_
;	.line	110; src/message.c	send_buffer[i]=readBank(i+x);
	MOVLW	LOW(_send_buffer)
	ADDWF	r0x32, W
	MOVWF	r0x36
	MOVLW	HIGH(_send_buffer)
	ADDWFC	r0x33, W
	MOVWF	r0x37
	MOVF	r0x2b, W
	ADDWF	r0x32, W
	MOVWF	r0x38
	MOVF	r0x2c, W
	ADDWFC	r0x33, W
	MOVWF	r0x39
	MOVF	r0x2d, W
	ADDWFC	r0x34, W
	MOVWF	r0x3a
	MOVF	r0x2e, W
	ADDWFC	r0x35, W
	MOVWF	r0x3b
	MOVF	r0x3b, W
	MOVWF	POSTDEC1
	MOVF	r0x3a, W
	MOVWF	POSTDEC1
	MOVF	r0x39, W
	MOVWF	POSTDEC1
	MOVF	r0x38, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x38
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x36, FSR0L
	MOVFF	r0x37, FSR0H
	MOVFF	r0x38, INDF0
;	.line	109; src/message.c	for(i=0,x=((param->number[0]<<8)|param->number[1])+BASE_DYNMEM+device*DYNBLOCK_LENGTH+sizeof(SysexStruct);i<param->sysex.length;i++)
	INCF	r0x32, F
	BTFSC	STATUS, 0
	INCF	r0x33, F
	BTFSC	STATUS, 0
	INCF	r0x34, F
	BTFSC	STATUS, 0
	INCF	r0x35, F
	BRA	_01865_DS_
_01868_DS_:
;	.line	112; src/message.c	convert(param->sysex.convert_func,send_buffer,potis[number],param->sysex.convert_func_addr);
	MOVLW	0x19
	ADDWF	r0x02, W
	MOVWF	r0x2b
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x2c
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x2d
	MOVFF	r0x2b, FSR0L
	MOVFF	r0x2c, PRODL
	MOVF	r0x2d, W
	CALL	__gptrget1
	MOVWF	r0x2b
	MOVLW	HIGH(_send_buffer)
	MOVWF	r0x2d
	MOVLW	LOW(_send_buffer)
	MOVWF	r0x2c
	MOVLW	0x80
	MOVWF	r0x2e
	MOVLW	LOW(_potis)
	ADDWF	r0x00, W
	MOVWF	r0x2f
	CLRF	r0x30
	MOVLW	HIGH(_potis)
	ADDWFC	r0x30, F
	MOVFF	r0x2f, FSR0L
	MOVFF	r0x30, FSR0H
	MOVFF	POSTINC0, r0x2f
	MOVFF	INDF0, r0x30
	MOVLW	0x19
	ADDWF	r0x02, W
	MOVWF	r0x31
	MOVLW	0x00
	ADDWFC	r0x03, W
	MOVWF	r0x32
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x33
	MOVLW	0x01
	ADDWF	r0x31, W
	MOVWF	r0x34
	MOVLW	0x00
	ADDWFC	r0x32, W
	MOVWF	r0x35
	MOVLW	0x00
	ADDWFC	r0x33, W
	MOVWF	r0x36
	MOVFF	r0x34, FSR0L
	MOVFF	r0x35, PRODL
	MOVF	r0x36, W
	CALL	__gptrget1
	MOVWF	r0x34
	MOVF	r0x34, W
	MOVWF	POSTDEC1
	MOVF	r0x30, W
	MOVWF	POSTDEC1
	MOVF	r0x2f, W
	MOVWF	POSTDEC1
	MOVF	r0x2e, W
	MOVWF	POSTDEC1
	MOVF	r0x2d, W
	MOVWF	POSTDEC1
	MOVF	r0x2c, W
	MOVWF	POSTDEC1
	MOVF	r0x2b, W
	MOVWF	POSTDEC1
	CALL	_convert
	MOVLW	0x07
	ADDWF	FSR1L, F
;	.line	114; src/message.c	for(i=0;i<param->sysex.length;i++)
	MOVLW	0x02
	ADDWF	r0x31, W
	MOVWF	r0x2b
	MOVLW	0x00
	ADDWFC	r0x32, W
	MOVWF	r0x2c
	MOVLW	0x00
	ADDWFC	r0x33, W
	MOVWF	r0x2d
	CLRF	r0x2e
	CLRF	r0x2f
	CLRF	r0x30
	CLRF	r0x31
_01869_DS_:
	MOVFF	r0x2b, FSR0L
	MOVFF	r0x2c, PRODL
	MOVF	r0x2d, W
	CALL	__gptrget1
	MOVWF	r0x32
	CLRF	r0x33
	CLRF	r0x34
	CLRF	r0x35
	MOVF	r0x35, W
	SUBWF	r0x31, W
	BNZ	_01946_DS_
	MOVF	r0x34, W
	SUBWF	r0x30, W
	BNZ	_01946_DS_
	MOVF	r0x33, W
	SUBWF	r0x2f, W
	BNZ	_01946_DS_
	MOVF	r0x32, W
	SUBWF	r0x2e, W
_01946_DS_:
	BC	_01872_DS_
;	.line	116; src/message.c	MIOS_MIDI_TxBufferPut(send_buffer[i]);
	MOVLW	LOW(_send_buffer)
	ADDWF	r0x2e, W
	MOVWF	r0x32
	MOVLW	HIGH(_send_buffer)
	ADDWFC	r0x2f, W
	MOVWF	r0x33
	MOVFF	r0x32, FSR0L
	MOVFF	r0x33, FSR0H
	MOVFF	INDF0, r0x32
	MOVF	r0x32, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	114; src/message.c	for(i=0;i<param->sysex.length;i++)
	INCF	r0x2e, F
	BTFSC	STATUS, 0
	INCF	r0x2f, F
	BTFSC	STATUS, 0
	INCF	r0x30, F
	BTFSC	STATUS, 0
	INCF	r0x31, F
	BRA	_01869_DS_
_01872_DS_:
;	.line	117; src/message.c	MIOS_MIDI_TxBufferPut(0xF7);
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	119; src/message.c	return;
	GOTO	_01873_DS_
_01790_DS_:
;	.line	144; src/message.c	switch (param->modeSelect|0x0F) {
	MOVFF	r0x0d, FSR0L
	MOVFF	r0x0e, PRODL
	MOVF	r0x0f, W
	CALL	__gptrget1
	MOVWF	r0x2b
	MOVLW	0x0f
	IORWF	r0x2b, W
	MOVWF	r0x2c
	MOVF	r0x2c, W
	XORLW	0x0f
	BZ	_01791_DS_
	MOVF	r0x2c, W
	XORLW	0x1f
	BNZ	_01950_DS_
	BRA	_01795_DS_
_01950_DS_:
	MOVF	r0x2c, W
	XORLW	0x2f
	BNZ	_01952_DS_
	BRA	_01796_DS_
_01952_DS_:
	MOVF	r0x2c, W
	XORLW	0x3f
	BNZ	_01954_DS_
	BRA	_01797_DS_
_01954_DS_:
	GOTO	_01861_DS_
_01791_DS_:
;	.line	146; src/message.c	if ((potis[number]&0x7F)==0){
	MOVFF	r0x08, FSR0L
	MOVFF	r0x0c, FSR0H
	MOVFF	POSTINC0, r0x2c
	MOVFF	INDF0, r0x2d
	BCF	r0x2c, 7
	CLRF	r0x2d
	MOVF	r0x2c, W
	IORWF	r0x2d, W
	BNZ	_01793_DS_
;	.line	147; src/message.c	evnt[0]=(0x80|(param->messageChannel&0x0F));
	MOVLW	0x0f
	ANDWF	r0x2a, W
	MOVWF	r0x2e
	BSF	r0x2e, 7
	MOVF	r0x2e, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	148; src/message.c	evnt[1]=(param->number[0]&0x7F);
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, PRODL
	MOVF	r0x24, W
	CALL	__gptrget1
	MOVWF	r0x2e
	BCF	r0x2e, 7
	MOVF	r0x2e, W
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
;	.line	149; src/message.c	evnt[2]=(0x64);
	MOVLW	0x64
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
	GOTO	_01861_DS_
_01793_DS_:
;	.line	151; src/message.c	evnt[0]=(0x90|(param->messageChannel&0x0F));
	MOVLW	0x0f
	ANDWF	r0x2a, W
	MOVWF	r0x2e
	MOVLW	0x90
	IORWF	r0x2e, F
	MOVF	r0x2e, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	152; src/message.c	evnt[1]=(param->number[0]&0x7F);
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, PRODL
	MOVF	r0x24, W
	CALL	__gptrget1
	MOVWF	r0x2e
	BCF	r0x2e, 7
	MOVF	r0x2e, W
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
;	.line	153; src/message.c	evnt[2]=(potis[number]&0x7F);
	MOVF	r0x2c, W
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	155; src/message.c	break;
	GOTO	_01861_DS_
_01795_DS_:
;	.line	158; src/message.c	evnt[0]=(0xA0|(param->messageChannel&0x0F));
	MOVLW	0x0f
	ANDWF	r0x2a, W
	MOVWF	r0x2c
	MOVLW	0xa0
	IORWF	r0x2c, F
	MOVF	r0x2c, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	159; src/message.c	evnt[1]=(param->number[0]&0x7F);
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, PRODL
	MOVF	r0x24, W
	CALL	__gptrget1
	MOVWF	r0x2c
	BCF	r0x2c, 7
	MOVF	r0x2c, W
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
;	.line	160; src/message.c	evnt[2]=(potis[number]&0x7F);
	MOVFF	r0x25, FSR0L
	MOVFF	r0x26, FSR0H
	MOVFF	POSTINC0, r0x2c
	MOVFF	INDF0, r0x2d
	BCF	r0x2c, 7
	CLRF	r0x2d
	MOVF	r0x2c, W
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	161; src/message.c	break;
	GOTO	_01861_DS_
_01796_DS_:
;	.line	165; src/message.c	evnt[0]=(0xD0|(param->messageChannel&0x0F));
	MOVLW	0x0f
	ANDWF	r0x2a, W
	MOVWF	r0x2c
	MOVLW	0xd0
	IORWF	r0x2c, F
	MOVF	r0x2c, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	166; src/message.c	evnt[1]=(potis[number]&0x7F);
	MOVLW	LOW(_potis)
	ADDWF	r0x00, W
	MOVWF	r0x2c
	CLRF	r0x2d
	MOVLW	HIGH(_potis)
	ADDWFC	r0x2d, F
	MOVFF	r0x2c, FSR0L
	MOVFF	r0x2d, FSR0H
	MOVFF	POSTINC0, r0x2c
	MOVFF	INDF0, r0x2d
	BCF	r0x2c, 7
	CLRF	r0x2d
	MOVF	r0x2c, W
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
;	.line	167; src/message.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
	BANKSEL	_sendMessage_evnt_1_1
;	.line	168; src/message.c	MIOS_MIDI_TxBufferPut(evnt[0]);
	MOVF	_sendMessage_evnt_1_1, W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
;	.line	169; src/message.c	MIOS_MIDI_TxBufferPut(evnt[1]);
	MOVF	(_sendMessage_evnt_1_1 + 1), W, B
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	170; src/message.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
;	.line	171; src/message.c	return;
	GOTO	_01873_DS_
_01797_DS_:
;	.line	174; src/message.c	evnt[0]=(0xE0|(param->messageChannel&0x0F));
	MOVLW	0x0f
	ANDWF	r0x2a, W
	MOVWF	r0x2c
	MOVLW	0xe0
	IORWF	r0x2c, F
	MOVF	r0x2c, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	175; src/message.c	evnt[1]=((potis[number]&0x7F)*((param->modeSelect&0x02)>>1));
	MOVFF	r0x20, FSR0L
	MOVFF	r0x21, FSR0H
	MOVFF	POSTINC0, r0x2c
	MOVFF	INDF0, r0x2d
	MOVLW	0x7f
	ANDWF	r0x2c, W
	MOVWF	r0x2e
	CLRF	r0x2f
	MOVLW	0x02
	ANDWF	r0x2b, F
	BCF	STATUS, 0
	RRCF	r0x2b, W
	MOVWF	r0x2b
; ;multiply variable :r0x2b by variable r0x2e and store in r0x2e
	MOVF	r0x2e, W
	MULWF	r0x2b
	MOVFF	PRODL, r0x2e
	MOVF	r0x2e, W
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
; ;multiply lit val:0x07 by variable r0x2b and store in r0x2b
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
;	.line	176; src/message.c	evnt[2]=((potis[number]>>(7*((param->modeSelect&0x02)>>1)))&0x7F);
	MOVF	r0x2b, W
	MULLW	0x07
	MOVFF	PRODL, r0x2b
	MOVFF	PRODH, r0x2e
	MOVF	r0x2b, W
	BZ	_01968_DS_
	BN	_01971_DS_
	NEGF	WREG
	BCF	STATUS, 0
_01969_DS_:
	BTFSC	r0x2d, 7
	BSF	STATUS, 0
	RRCF	r0x2d, F
	RRCF	r0x2c, F
	ADDLW	0x01
	BNC	_01969_DS_
	BRA	_01968_DS_
_01971_DS_:
	BCF	STATUS, 0
_01970_DS_:
	RLCF	r0x2c, F
	RLCF	r0x2d, F
	ADDLW	0x01
	BNC	_01970_DS_
_01968_DS_:
	BCF	r0x2c, 7
	CLRF	r0x2d
	MOVF	r0x2c, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	179; src/message.c	break;
	GOTO	_01861_DS_
_01800_DS_:
;	.line	183; src/message.c	if (sendMessageMemory<0x02){
	MOVLW	0x02
	SUBWF	r0x05, W
	BTFSC	STATUS, 0
	BRA	_01813_DS_
;	.line	184; src/message.c	evnt[0]=(0xB0|(param->messageChannel&0x0F));
	MOVFF	r0x27, FSR0L
	MOVFF	r0x28, PRODL
	MOVF	r0x29, W
	CALL	__gptrget1
	MOVWF	r0x2b
	MOVLW	0x0f
	ANDWF	r0x2b, W
	MOVWF	r0x2c
	MOVLW	0xb0
	IORWF	r0x2c, F
	MOVF	r0x2c, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	185; src/message.c	if ((param->messageChannel|0x0F)==0x5F) {
	MOVLW	0x0f
	IORWF	r0x2b, F
	MOVF	r0x2b, W
	XORLW	0x5f
	BNZ	_01805_DS_
;	.line	186; src/message.c	if (sendMessageMemory==0x00) {
	MOVF	r0x05, W
	BNZ	_01802_DS_
;	.line	187; src/message.c	evnt[1]=0x63;
	MOVLW	0x63
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
	BRA	_01805_DS_
_01802_DS_:
;	.line	189; src/message.c	evnt[1]=0x62;
	MOVLW	0x62
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
_01805_DS_:
;	.line	192; src/message.c	if ((param->messageChannel|0x0F)==0x6F) {
	MOVF	r0x2b, W
	XORLW	0x6f
	BNZ	_01810_DS_
;	.line	193; src/message.c	if (sendMessageMemory==0x00) {
	MOVF	r0x05, W
	BNZ	_01807_DS_
;	.line	194; src/message.c	evnt[1]=0x65;
	MOVLW	0x65
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
	BRA	_01810_DS_
_01807_DS_:
;	.line	196; src/message.c	evnt[1]=0x64;
	MOVLW	0x64
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
_01810_DS_:
;	.line	199; src/message.c	evnt[2]=(param->number[sendMessageMemory]&0x7F);
	MOVF	r0x05, W
	ADDWF	r0x1d, W
	MOVWF	r0x2b
	CLRF	WREG
	ADDWFC	r0x1e, W
	MOVWF	r0x2c
	CLRF	WREG
	ADDWFC	r0x1f, W
	MOVWF	r0x2d
	MOVFF	r0x2b, FSR0L
	MOVFF	r0x2c, PRODL
	MOVF	r0x2d, W
	CALL	__gptrget1
	MOVWF	r0x2b
	BCF	r0x2b, 7
	MOVF	r0x2b, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	200; src/message.c	sendMessageMemory+=0x01;
	INCF	r0x05, F
;	.line	201; src/message.c	break;
	BRA	_01861_DS_
_01813_DS_:
;	.line	205; src/message.c	evnt[0]=(0xB0|(param->messageChannel&0x0F));
	MOVFF	r0x27, FSR0L
	MOVFF	r0x28, PRODL
	MOVF	r0x29, W
	CALL	__gptrget1
	MOVWF	r0x2b
	MOVLW	0x0f
	ANDWF	r0x2b, F
	MOVLW	0xb0
	IORWF	r0x2b, F
	MOVF	r0x2b, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	206; src/message.c	if (param->modeSelect&0x02) {				//14BIT?
	MOVFF	r0x0d, FSR0L
	MOVFF	r0x0e, PRODL
	MOVF	r0x0f, W
	CALL	__gptrget1
	MOVWF	r0x2b
	MOVLW	0x02
	ANDWF	r0x2b, W
	MOVWF	r0x2c
	MOVF	r0x2c, W
	BTFSC	STATUS, 2
	BRA	_01828_DS_
;	.line	207; src/message.c	if (!(sendMessageMemory&0x01)) {
	BTFSC	r0x05, 0
	BRA	_01828_DS_
;	.line	208; src/message.c	if (sendMessageMemory&0x02) {
	BTFSS	r0x05, 1
	BRA	_01815_DS_
;	.line	209; src/message.c	evnt[1]=0x06;
	MOVLW	0x06
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
	BRA	_01816_DS_
_01815_DS_:
;	.line	211; src/message.c	evnt[1]=param->number[0];
	MOVFF	r0x10, FSR0L
	MOVFF	r0x11, PRODL
	MOVF	r0x12, W
	CALL	__gptrget1
	MOVWF	r0x2d
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
_01816_DS_:
;	.line	213; src/message.c	switch (param->modeSelect|0x0F) {
	MOVLW	0x0f
	IORWF	r0x2b, W
	MOVWF	r0x2d
	MOVF	r0x2d, W
	XORLW	0x0f
	BZ	_01817_DS_
	MOVF	r0x2d, W
	XORLW	0x1f
	BZ	_01818_DS_
	MOVF	r0x2d, W
	XORLW	0x2f
	BZ	_01819_DS_
	MOVF	r0x2d, W
	XORLW	0x3f
	BNZ	_01989_DS_
	BRA	_01820_DS_
_01989_DS_:
	BRA	_01824_DS_
_01817_DS_:
;	.line	215; src/message.c	evnt[2]=((potis[number]>>7)&0x7F);
	MOVFF	r0x13, FSR0L
	MOVFF	r0x14, FSR0H
	MOVFF	POSTINC0, r0x2d
	MOVFF	INDF0, r0x2e
	RLCF	r0x2d, W
	RLCF	r0x2e, W
	MOVWF	r0x2d
	CLRF	r0x2e
	BTFSC	STATUS, 0
	DECF	r0x2e, F
	BCF	r0x2d, 7
	CLRF	r0x2e
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	216; src/message.c	break;
	BRA	_01824_DS_
_01818_DS_:
;	.line	219; src/message.c	evnt[2]=(((relativ+incrementer)>>7)&0x7F);
	MOVFF	r0x01, r0x2d
	CLRF	r0x2e
	BTFSC	r0x01, 7
	SETF	r0x2e
	MOVF	r0x06, W
	ADDWF	r0x2d, F
	MOVF	r0x07, W
	ADDWFC	r0x2e, F
	RLCF	r0x2d, W
	RLCF	r0x2e, W
	MOVWF	r0x2d
	CLRF	r0x2e
	RLCF	r0x2e, F
	BCF	r0x2d, 7
	CLRF	r0x2e
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	220; src/message.c	break;
	BRA	_01824_DS_
_01819_DS_:
;	.line	223; src/message.c	relativ=0x4000;
	CLRF	r0x06
	MOVLW	0x40
	MOVWF	r0x07
;	.line	224; src/message.c	evnt[2]=(((relativ+incrementer)>>7)&0x7F);
	MOVFF	r0x01, r0x2d
	CLRF	r0x2e
	BTFSC	r0x01, 7
	SETF	r0x2e
	MOVLW	0x40
	ADDWF	r0x2e, F
	RLCF	r0x2d, W
	RLCF	r0x2e, W
	MOVWF	r0x2d
	CLRF	r0x2e
	RLCF	r0x2e, F
	BCF	r0x2d, 7
	CLRF	r0x2e
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	225; src/message.c	break;
	BRA	_01824_DS_
_01820_DS_:
;	.line	228; src/message.c	relativ=0x4000;
	CLRF	r0x06
	MOVLW	0x40
	MOVWF	r0x07
;	.line	229; src/message.c	if (incrementer<0)
	BSF	STATUS, 0
	BTFSS	r0x01, 7
	BCF	STATUS, 0
	BNC	_01822_DS_
;	.line	230; src/message.c	evnt[2]=((((relativ+1)+(~incrementer))>>7)&0x7F);
	MOVFF	r0x01, r0x2d
	CLRF	r0x2e
	BTFSC	r0x01, 7
	SETF	r0x2e
	COMF	r0x2d, F
	COMF	r0x2e, F
	INCF	r0x2d, F
	MOVLW	0x40
	ADDWFC	r0x2e, F
	RLCF	r0x2d, W
	RLCF	r0x2e, W
	MOVWF	r0x2d
	CLRF	r0x2e
	RLCF	r0x2e, F
	BCF	r0x2d, 7
	CLRF	r0x2e
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
	BRA	_01824_DS_
_01822_DS_:
;	.line	232; src/message.c	evnt[2]=(((relativ+(incrementer))>>7)&0x7F);
	MOVFF	r0x01, r0x2d
	CLRF	r0x2e
	BTFSC	r0x01, 7
	SETF	r0x2e
	MOVLW	0x40
	ADDWF	r0x2e, F
	RLCF	r0x2d, W
	RLCF	r0x2e, W
	MOVWF	r0x2d
	CLRF	r0x2e
	RLCF	r0x2e, F
	BCF	r0x2d, 7
	CLRF	r0x2e
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
_01824_DS_:
;	.line	235; src/message.c	sendMessageMemory|=0x01;
	BSF	r0x05, 0
;	.line	236; src/message.c	break;
	BRA	_01861_DS_
_01828_DS_:
;	.line	240; src/message.c	if (!(param->modeSelect&0x40)) {
	BTFSC	r0x2b, 6
	BRA	_01833_DS_
;	.line	241; src/message.c	if (sendMessageMemory&0x02) {
	BTFSS	r0x05, 1
	BRA	_01830_DS_
;	.line	242; src/message.c	evnt[1]=(0x06+(((param->modeSelect&0x02)>>1)*0x20));
	BCF	STATUS, 0
	RRCF	r0x2c, W
	MOVWF	r0x2d
; ;multiply lit val:0x20 by variable r0x2d and store in r0x2d
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x2d, W
	MULLW	0x20
	MOVFF	PRODL, r0x2d
	MOVLW	0x06
	ADDWF	r0x2d, F
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
	BRA	_01833_DS_
_01830_DS_:
;	.line	244; src/message.c	evnt[1]=((param->number[0])+(((param->modeSelect&0x02)>>1)*0x20));
	BCF	STATUS, 0
	RRCF	r0x2c, W
	MOVWF	r0x2d
; ;multiply lit val:0x20 by variable r0x2d and store in r0x2d
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x2d, W
	MULLW	0x20
	MOVFF	PRODL, r0x2d
	MOVFF	r0x10, FSR0L
	MOVFF	r0x11, PRODL
	MOVF	r0x12, W
	CALL	__gptrget1
	MOVWF	r0x2e
	MOVF	r0x2e, W
	ADDWF	r0x2d, F
	MOVF	r0x2d, W
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
_01833_DS_:
;	.line	248; src/message.c	switch (param->modeSelect|0x0F) {
	MOVLW	0x0f
	IORWF	r0x2b, F
	MOVF	r0x2b, W
	XORLW	0x0f
	BZ	_01834_DS_
	MOVF	r0x2b, W
	XORLW	0x1f
	BZ	_01835_DS_
	MOVF	r0x2b, W
	XORLW	0x2f
	BZ	_01836_DS_
	MOVF	r0x2b, W
	XORLW	0x3f
	BZ	_01839_DS_
	MOVF	r0x2b, W
	XORLW	0x4f
	BNZ	_02004_DS_
	BRA	_01845_DS_
_02004_DS_:
	BRA	_01861_DS_
_01834_DS_:
;	.line	250; src/message.c	evnt[2]=((potis[number])&0x7F);
	MOVFF	r0x1b, FSR0L
	MOVFF	r0x1c, FSR0H
	MOVFF	POSTINC0, r0x2b
	MOVFF	INDF0, r0x2d
	BCF	r0x2b, 7
	CLRF	r0x2d
	MOVF	r0x2b, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	251; src/message.c	sendMessageMemory=0x00;
	CLRF	r0x05
;	.line	252; src/message.c	break;
	BRA	_01861_DS_
_01835_DS_:
;	.line	255; src/message.c	evnt[2]=((relativ+incrementer)&0x7F);
	MOVF	r0x06, W
	MOVWF	r0x2b
	MOVF	r0x01, W
	ADDWF	r0x2b, F
	BCF	r0x2b, 7
	MOVF	r0x2b, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	256; src/message.c	break;
	BRA	_01861_DS_
_01836_DS_:
;	.line	259; src/message.c	if (!(param->modeSelect&0x02)) {
	MOVF	r0x2c, W
	BNZ	_01838_DS_
;	.line	260; src/message.c	relativ=0x40;
	MOVLW	0x40
	MOVWF	r0x06
	CLRF	r0x07
_01838_DS_:
;	.line	262; src/message.c	evnt[2]=((relativ+incrementer)&0x7F);
	MOVF	r0x06, W
	MOVWF	r0x2b
	MOVF	r0x01, W
	ADDWF	r0x2b, F
	BCF	r0x2b, 7
	MOVF	r0x2b, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	263; src/message.c	break;
	BRA	_01861_DS_
_01839_DS_:
;	.line	266; src/message.c	if (!(param->modeSelect&0x02))
	MOVF	r0x2c, W
	BNZ	_01841_DS_
;	.line	267; src/message.c	relativ=0x40;
	MOVLW	0x40
	MOVWF	r0x06
	CLRF	r0x07
_01841_DS_:
;	.line	268; src/message.c	if (incrementer<0)
	BSF	STATUS, 0
	BTFSS	r0x01, 7
	BCF	STATUS, 0
	BNC	_01843_DS_
;	.line	269; src/message.c	evnt[2]=(((relativ+1)+(~incrementer))&0x7F);
	MOVF	r0x06, W
	MOVWF	r0x2b
	INCF	r0x2b, F
	COMF	r0x01, W
	MOVWF	r0x2c
	MOVF	r0x2c, W
	ADDWF	r0x2b, F
	BCF	r0x2b, 7
	MOVF	r0x2b, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
	BRA	_01861_DS_
_01843_DS_:
;	.line	271; src/message.c	evnt[2]=((relativ+(incrementer))&0x7F);
	MOVF	r0x06, W
	MOVWF	r0x2b
	MOVF	r0x01, W
	ADDWF	r0x2b, F
	BCF	r0x2b, 7
	MOVF	r0x2b, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	272; src/message.c	break;
	BRA	_01861_DS_
_01845_DS_:
;	.line	274; src/message.c	evnt[2]=0x01;
	MOVLW	0x01
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	275; src/message.c	if (!(sendMessageMemory&0x01)) {
	BTFSC	r0x05, 0
	BRA	_01850_DS_
;	.line	276; src/message.c	if (incrementer>0) {
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7f
	BNC	_01847_DS_
;	.line	277; src/message.c	evnt[1]=0x60;
	MOVLW	0x60
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
	BRA	_01850_DS_
_01847_DS_:
;	.line	279; src/message.c	evnt[1]=0x61;
	MOVLW	0x61
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
;	.line	280; src/message.c	incrementer=((~incrementer)+1);
	COMF	r0x01, W
	MOVWF	r0x2b
	INCF	r0x2b, W
	MOVWF	r0x01
_01850_DS_:
;	.line	283; src/message.c	sendMessageMemory|=0x01;
	BSF	r0x05, 0
;	.line	284; src/message.c	incrementer--;
	DECF	r0x01, F
;	.line	285; src/message.c	if (!(incrementer))
	MOVF	r0x01, W
	BTFSS	STATUS, 2
	BRA	_01861_DS_
;	.line	286; src/message.c	sendMessageMemory=0x00;
	CLRF	r0x05
;	.line	289; src/message.c	break;
	BRA	_01861_DS_
_01854_DS_:
;	.line	292; src/message.c	if (((param->modeSelect)&0x10)&&(sendMessageMemory==0x00)) { //MSB
	MOVFF	r0x0d, FSR0L
	MOVFF	r0x0e, PRODL
	MOVF	r0x0f, W
	CALL	__gptrget1
	MOVWF	r0x2b
	BTFSS	r0x2b, 4
	BRA	_01856_DS_
	MOVF	r0x05, W
	BNZ	_01856_DS_
;	.line	293; src/message.c	evnt[0]=(0xB0|(param->messageChannel&0x0F));
	MOVLW	0x0f
	ANDWF	r0x2a, F
	MOVLW	0xb0
	IORWF	r0x2a, F
	MOVF	r0x2a, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
; removed redundant BANKSEL
;	.line	294; src/message.c	evnt[1]=0x00;
	CLRF	(_sendMessage_evnt_1_1 + 1), B
;	.line	295; src/message.c	evnt[2]=param->number[0];
	MOVFF	r0x18, FSR0L
	MOVFF	r0x19, PRODL
	MOVF	r0x1a, W
	CALL	__gptrget1
	MOVWF	r0x2a
	MOVF	r0x2a, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	296; src/message.c	++sendMessageMemory;
	INCF	r0x05, F
;	.line	297; src/message.c	break;
	BRA	_01861_DS_
_01856_DS_:
;	.line	299; src/message.c	if (((param->modeSelect)&0x20)&&(sendMessageMemory<0x02)) {  //LSB
	BTFSS	r0x2b, 5
	BRA	_01859_DS_
	MOVLW	0x02
	SUBWF	r0x05, W
	BC	_01859_DS_
;	.line	300; src/message.c	evnt[0]=(0xB0|(param->messageChannel&0x0F));
	MOVFF	r0x27, FSR0L
	MOVFF	r0x28, PRODL
	MOVF	r0x29, W
	CALL	__gptrget1
	MOVWF	r0x2a
	MOVLW	0x0f
	ANDWF	r0x2a, F
	MOVLW	0xb0
	IORWF	r0x2a, F
	MOVF	r0x2a, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	301; src/message.c	evnt[1]=0x20;
	MOVLW	0x20
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
;	.line	302; src/message.c	evnt[2]=param->number[1];
	MOVFF	r0x15, FSR0L
	MOVFF	r0x16, PRODL
	MOVF	r0x17, W
	CALL	__gptrget1
	MOVWF	r0x2a
	MOVF	r0x2a, W
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
	MOVWF	(_sendMessage_evnt_1_1 + 2), B
;	.line	303; src/message.c	sendMessageMemory+=2;
	INCF	r0x05, F
	INCF	r0x05, F
;	.line	304; src/message.c	break;
	BRA	_01861_DS_
_01859_DS_:
;	.line	306; src/message.c	evnt[0]=(0xC0|(param->messageChannel&0x0F));
	MOVFF	r0x27, FSR0L
	MOVFF	r0x28, PRODL
	MOVF	r0x29, W
	CALL	__gptrget1
	MOVWF	r0x2a
	MOVLW	0x0f
	ANDWF	r0x2a, F
	MOVLW	0xc0
	IORWF	r0x2a, F
	MOVF	r0x2a, W
	BANKSEL	_sendMessage_evnt_1_1
	MOVWF	_sendMessage_evnt_1_1, B
;	.line	307; src/message.c	evnt[1]=(potis[number]&0x7F);
	MOVLW	LOW(_potis)
	ADDWF	r0x00, W
	MOVWF	r0x2a
	CLRF	r0x2b
	MOVLW	HIGH(_potis)
	ADDWFC	r0x2b, F
	MOVFF	r0x2a, FSR0L
	MOVFF	r0x2b, FSR0H
	MOVFF	POSTINC0, r0x2a
	MOVFF	INDF0, r0x2b
	BCF	r0x2a, 7
	CLRF	r0x2b
	MOVF	r0x2a, W
; removed redundant BANKSEL
	MOVWF	(_sendMessage_evnt_1_1 + 1), B
;	.line	308; src/message.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
	BANKSEL	_sendMessage_evnt_1_1
;	.line	309; src/message.c	MIOS_MIDI_TxBufferPut(evnt[0]);
	MOVF	_sendMessage_evnt_1_1, W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
;	.line	310; src/message.c	MIOS_MIDI_TxBufferPut(evnt[1]);
	MOVF	(_sendMessage_evnt_1_1 + 1), W, B
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	311; src/message.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
;	.line	312; src/message.c	return;
	BRA	_01873_DS_
_01861_DS_:
;	.line	316; src/message.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
	BANKSEL	_sendMessage_evnt_1_1
;	.line	317; src/message.c	MIOS_MIDI_TxBufferPut(evnt[0]);
	MOVF	_sendMessage_evnt_1_1, W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_sendMessage_evnt_1_1 + 1)
;	.line	318; src/message.c	MIOS_MIDI_TxBufferPut(evnt[1]);
	MOVF	(_sendMessage_evnt_1_1 + 1), W, B
	CALL	_MIOS_MIDI_TxBufferPut
	BANKSEL	(_sendMessage_evnt_1_1 + 2)
;	.line	319; src/message.c	MIOS_MIDI_TxBufferPut(evnt[2]);
	MOVF	(_sendMessage_evnt_1_1 + 2), W, B
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	320; src/message.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
;	.line	321; src/message.c	} while (!(sendMessageMemory==0x00));
	MOVF	r0x05, W
	BTFSS	STATUS, 2
	GOTO	_01862_DS_
_01873_DS_:
;	.line	322; src/message.c	return;
	MOVFF	PREINC1, r0x3b
	MOVFF	PREINC1, r0x3a
	MOVFF	PREINC1, r0x39
	MOVFF	PREINC1, r0x38
	MOVFF	PREINC1, r0x37
	MOVFF	PREINC1, r0x36
	MOVFF	PREINC1, r0x35
	MOVFF	PREINC1, r0x34
	MOVFF	PREINC1, r0x33
	MOVFF	PREINC1, r0x32
	MOVFF	PREINC1, r0x31
	MOVFF	PREINC1, r0x30
	MOVFF	PREINC1, r0x2f
	MOVFF	PREINC1, r0x2e
	MOVFF	PREINC1, r0x2d
	MOVFF	PREINC1, r0x2c
	MOVFF	PREINC1, r0x2b
	MOVFF	PREINC1, r0x2a
	MOVFF	PREINC1, r0x29
	MOVFF	PREINC1, r0x28
	MOVFF	PREINC1, r0x27
	MOVFF	PREINC1, r0x26
	MOVFF	PREINC1, r0x25
	MOVFF	PREINC1, r0x24
	MOVFF	PREINC1, r0x23
	MOVFF	PREINC1, r0x22
	MOVFF	PREINC1, r0x21
	MOVFF	PREINC1, r0x20
	MOVFF	PREINC1, r0x1f
	MOVFF	PREINC1, r0x1e
	MOVFF	PREINC1, r0x1d
	MOVFF	PREINC1, r0x1c
	MOVFF	PREINC1, r0x1b
	MOVFF	PREINC1, r0x1a
	MOVFF	PREINC1, r0x19
	MOVFF	PREINC1, r0x18
	MOVFF	PREINC1, r0x17
	MOVFF	PREINC1, r0x16
	MOVFF	PREINC1, r0x15
	MOVFF	PREINC1, r0x14
	MOVFF	PREINC1, r0x13
	MOVFF	PREINC1, r0x12
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__sendEditBuffer	code
_sendEditBuffer:
;	.line	10; src/message.c	void sendEditBuffer() __critical
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
;	.line	14; src/message.c	MIOS_MIDI_BeginStream();
	CALL	_MIOS_MIDI_BeginStream
;	.line	15; src/message.c	MIOS_MIDI_TxBufferPut(0xF0);
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	17; src/message.c	for(i=0;i<eb_request.dump.header_length;i++)
	CLRF	r0x00
	CLRF	r0x01
_01758_DS_:
	MOVFF	(_eb_request + 14), (iTemp3 + 6)
	MOVFF	(iTemp3 + 6), r0x02
	CLRF	r0x03
	MOVF	r0x01, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x03, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01774_DS_
	MOVF	r0x02, W
	SUBWF	r0x00, W
_01774_DS_:
	BC	_01761_DS_
;	.line	18; src/message.c	MIOS_MIDI_TxBufferPut(edit_buffer_header[i]);
	MOVLW	LOW(_edit_buffer_header)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer_header)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	17; src/message.c	for(i=0;i<eb_request.dump.header_length;i++)
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BRA	_01758_DS_
_01761_DS_:
;	.line	20; src/message.c	for (i=0;i<eb_request.dump.edit_buffer_length;i++)
	CLRF	r0x00
	CLRF	r0x01
_01762_DS_:
	MOVFF	(_eb_request + 11), (iTemp15 + 3)
	MOVFF	(_eb_request + 12), (iTemp15 + 4)
	MOVFF	r0x00, r0x02
	MOVFF	r0x01, r0x03
	BANKSEL	(iTemp15 + 4)
	MOVF	(iTemp15 + 4), W, B
	SUBWF	r0x03, W
	BNZ	_01775_DS_
; removed redundant BANKSEL
	MOVF	(iTemp15 + 3), W, B
	SUBWF	r0x02, W
_01775_DS_:
	BC	_01765_DS_
;	.line	21; src/message.c	MIOS_MIDI_TxBufferPut(readEditBuffer(i));
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x02
	MOVLW	0x02
	ADDWF	FSR1L, F
	MOVF	r0x02, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	20; src/message.c	for (i=0;i<eb_request.dump.edit_buffer_length;i++)
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BRA	_01762_DS_
_01765_DS_:
;	.line	23; src/message.c	MIOS_MIDI_TxBufferPut(checksum(1));
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_checksum
	MOVWF	r0x00
	INCF	FSR1L, F
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	24; src/message.c	MIOS_MIDI_TxBufferPut(0xF7);
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	25; src/message.c	MIOS_MIDI_EndStream();
	CALL	_MIOS_MIDI_EndStream
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__checksum	code
_checksum:
;	.line	159; src/func.c	unsigned char checksum(unsigned char func) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
;	.line	160; src/func.c	switch(func) {
	MOVF	r0x00, W
	XORLW	0x01
	BZ	_01743_DS_
	MOVF	r0x00, W
	XORLW	0x02
	BZ	_01744_DS_
	BRA	_01745_DS_
_01743_DS_:
;	.line	162; src/func.c	return checksum_Matrix1000();
	CALL	_checksum_Matrix1000
	MOVWF	r0x00
	MOVF	r0x00, W
	BRA	_01747_DS_
_01744_DS_:
;	.line	164; src/func.c	return checksum_UltraProteus();
	CALL	_checksum_UltraProteus
	MOVWF	r0x00
	MOVF	r0x00, W
	BRA	_01747_DS_
_01745_DS_:
;	.line	166; src/func.c	return empty_checksum();
	CALL	_empty_checksum
	MOVWF	r0x00
	MOVF	r0x00, W
_01747_DS_:
;	.line	167; src/func.c	}
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__eb_re_convert	code
_eb_re_convert:
;	.line	142; src/func.c	int eb_re_convert(unsigned char func, int value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
;	.line	143; src/func.c	switch(func) {
	MOVF	r0x00, W
	XORLW	0x01
	BZ	_01728_DS_
	MOVF	r0x00, W
	XORLW	0x02
	BZ	_01729_DS_
	BRA	_01730_DS_
_01728_DS_:
;	.line	145; src/func.c	return EB_re_convert_Matrix1000(value_position);
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_EB_re_convert_Matrix1000
	MOVWF	r0x00
	MOVFF	PRODL, r0x03
	MOVLW	0x02
	ADDWF	FSR1L, F
	MOVFF	r0x03, PRODL
	MOVF	r0x00, W
	BRA	_01732_DS_
_01729_DS_:
;	.line	147; src/func.c	return EB_re_convert_UltraProteus(value_position);
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_EB_re_convert_UltraProteus
	MOVWF	r0x00
	MOVFF	PRODL, r0x03
	MOVLW	0x02
	ADDWF	FSR1L, F
	MOVFF	r0x03, PRODL
	MOVF	r0x00, W
	BRA	_01732_DS_
_01730_DS_:
;	.line	149; src/func.c	return empty_EB_re_convert(value_position);
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_empty_EB_re_convert
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVLW	0x02
	ADDWF	FSR1L, F
	MOVFF	r0x01, PRODL
	MOVF	r0x00, W
_01732_DS_:
;	.line	150; src/func.c	}
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__eb_convert	code
_eb_convert:
;	.line	124; src/func.c	void eb_convert(unsigned char func, int value_position, int value) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
	MOVLW	0x06
	MOVFF	PLUSW2, r0x04
;	.line	125; src/func.c	switch(func) {
	MOVF	r0x00, W
	XORLW	0x01
	BZ	_01713_DS_
	MOVF	r0x00, W
	XORLW	0x02
	BZ	_01714_DS_
	BRA	_01715_DS_
_01713_DS_:
;	.line	126; src/func.c	case 1: EB_convert_Matrix1000(value_position, value);
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_EB_convert_Matrix1000
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	127; src/func.c	break;
	BRA	_01717_DS_
_01714_DS_:
;	.line	128; src/func.c	case 2: EB_convert_UltraProteus(value_position, value);
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_EB_convert_UltraProteus
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	129; src/func.c	break;
	BRA	_01717_DS_
_01715_DS_:
;	.line	130; src/func.c	default: empty_EB_convert(value_position, value);
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_empty_EB_convert
	MOVLW	0x04
	ADDWF	FSR1L, F
_01717_DS_:
;	.line	132; src/func.c	}
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__convert	code
_convert:
;	.line	104; src/func.c	void convert(unsigned char func,unsigned char *z_input_sysex,int value,unsigned char value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
	MOVLW	0x06
	MOVFF	PLUSW2, r0x04
	MOVLW	0x07
	MOVFF	PLUSW2, r0x05
	MOVLW	0x08
	MOVFF	PLUSW2, r0x06
;	.line	105; src/func.c	switch(func) {
	MOVLW	0x01
	SUBWF	r0x00, W
	BTFSS	STATUS, 0
	BRA	_01700_DS_
	MOVLW	0x04
	SUBWF	r0x00, W
	BTFSC	STATUS, 0
	BRA	_01700_DS_
	DECF	r0x00, F
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	CLRF	r0x08
	RLCF	r0x00, W
	RLCF	r0x08, F
	RLCF	WREG, W
	RLCF	r0x08, F
	ANDLW	0xfc
	MOVWF	r0x07
	MOVLW	UPPER(_01708_DS_)
	MOVWF	PCLATU
	MOVLW	HIGH(_01708_DS_)
	MOVWF	PCLATH
	MOVLW	LOW(_01708_DS_)
	ADDWF	r0x07, F
	MOVF	r0x08, W
	ADDWFC	PCLATH, F
	BTFSC	STATUS, 0
	INCF	PCLATU, F
	MOVF	r0x07, W
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVWF	PCL
_01708_DS_:
	GOTO	_01697_DS_
	GOTO	_01698_DS_
	GOTO	_01699_DS_
_01697_DS_:
;	.line	106; src/func.c	case 1: Single_Byte_Sysex_Input(z_input_sysex,value,value_position);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_Single_Byte_Sysex_Input
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	107; src/func.c	break;
	BRA	_01702_DS_
_01698_DS_:
;	.line	108; src/func.c	case 2: Double_Byte_Sysex_Input_BigEndian(z_input_sysex,value,value_position);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_Double_Byte_Sysex_Input_BigEndian
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	109; src/func.c	break;
	BRA	_01702_DS_
_01699_DS_:
;	.line	110; src/func.c	case 3: Double_Byte_Sysex_Input_LittleEndian(z_input_sysex,value,value_position);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_Double_Byte_Sysex_Input_LittleEndian
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	111; src/func.c	break;
	BRA	_01702_DS_
_01700_DS_:
;	.line	112; src/func.c	default: empty_convert(z_input_sysex,value,value_position);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	_empty_convert
	MOVLW	0x06
	ADDWF	FSR1L, F
_01702_DS_:
;	.line	114; src/func.c	}
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__checksum_UltraProteus	code
_checksum_UltraProteus:
;	.line	79; src/func.c	unsigned char checksum_UltraProteus() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
;	.line	82; src/func.c	checksum=0;
	CLRF	r0x00
;	.line	83; src/func.c	EB_Length=edit_buffer0[0]<<8|edit_buffer0[1];
	MOVFF	_edit_buffer0, r0x01
	CLRF	r0x02
	MOVF	r0x01, W
	MOVWF	r0x04
	CLRF	r0x03
	MOVFF	(_edit_buffer0 + 1), r0x01
	CLRF	r0x02
	MOVF	r0x03, W
	IORWF	r0x01, F
	MOVF	r0x04, W
	IORWF	r0x02, F
;	.line	84; src/func.c	for(i=0;i<=EB_Length-1;i++)								//-1 for checksum byte
	MOVLW	0xff
	ADDWF	r0x01, F
	BTFSS	STATUS, 0
	DECF	r0x02, F
	CLRF	r0x03
	CLRF	r0x04
_01683_DS_:
	MOVF	r0x02, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x04, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01692_DS_
	MOVF	r0x03, W
	SUBWF	r0x01, W
_01692_DS_:
	BNC	_01686_DS_
;	.line	85; src/func.c	checksum=(checksum+readEditBuffer(i+2))&0x7F;		//+2 for Length bytes at beginning
	MOVLW	0x02
	ADDWF	r0x03, W
	MOVWF	r0x05
	MOVLW	0x00
	ADDWFC	r0x04, W
	MOVWF	r0x06
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x05
	MOVLW	0x02
	ADDWF	FSR1L, F
	MOVF	r0x00, W
	ADDWF	r0x05, F
	MOVLW	0x7f
	ANDWF	r0x05, W
	MOVWF	r0x00
;	.line	84; src/func.c	for(i=0;i<=EB_Length-1;i++)								//-1 for checksum byte
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x04, F
	BRA	_01683_DS_
_01686_DS_:
;	.line	86; src/func.c	return checksum;
	MOVF	r0x00, W
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__checksum_Matrix1000	code
_checksum_Matrix1000:
;	.line	68; src/func.c	unsigned char checksum_Matrix1000() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
;	.line	71; src/func.c	checksum=0;
	CLRF	r0x00
;	.line	73; src/func.c	EB_Length=eb_request.dump.edit_buffer_length;
	MOVFF	(_eb_request + 11), r0x01
	MOVFF	(_eb_request + 12), r0x02
;	.line	74; src/func.c	for(i=0;i<=EB_Length-1;i++)
	MOVLW	0xff
	ADDWF	r0x01, F
	BTFSS	STATUS, 0
	DECF	r0x02, F
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
_01669_DS_:
	MOVF	r0x02, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x04, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01678_DS_
	MOVF	r0x03, W
	SUBWF	r0x01, W
_01678_DS_:
	BNC	_01672_DS_
;	.line	75; src/func.c	checksum=(checksum+(readEditBuffer(i*2+1+2)<<4|readEditBuffer(i*2+2)))&0x7F;
	MOVLW	0x03
	ADDWF	r0x05, W
	MOVWF	r0x07
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x07
	MOVLW	0x02
	ADDWF	FSR1L, F
	SWAPF	r0x07, W
	ANDLW	0xf0
	MOVWF	r0x08
	MOVLW	0x02
	ADDWF	r0x05, W
	MOVWF	r0x07
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x09
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x0a
	MOVLW	0x02
	ADDWF	FSR1L, F
	MOVF	r0x0a, W
	IORWF	r0x08, F
	MOVF	r0x00, W
	ADDWF	r0x08, F
	MOVLW	0x7f
	ANDWF	r0x08, W
	MOVWF	r0x00
;	.line	74; src/func.c	for(i=0;i<=EB_Length-1;i++)
	MOVFF	r0x07, r0x05
	MOVFF	r0x09, r0x06
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x04, F
	BRA	_01669_DS_
_01672_DS_:
;	.line	76; src/func.c	return checksum;
	MOVF	r0x00, W
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__Double_Byte_Sysex_Input_LittleEndian	code
_Double_Byte_Sysex_Input_LittleEndian:
;	.line	63; src/func.c	void Double_Byte_Sysex_Input_LittleEndian (unsigned char *z_input_sysex,int value,unsigned char value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
	MOVLW	0x06
	MOVFF	PLUSW2, r0x04
	MOVLW	0x07
	MOVFF	PLUSW2, r0x05
;	.line	64; src/func.c	z_input_sysex[value_position]=value&0x7F;
	MOVF	r0x05, W
	ADDWF	r0x00, W
	MOVWF	r0x06
	CLRF	WREG
	ADDWFC	r0x01, W
	MOVWF	r0x07
	CLRF	WREG
	ADDWFC	r0x02, W
	MOVWF	r0x08
	MOVLW	0x7f
	ANDWF	r0x03, W
	MOVWF	r0x09
	CLRF	r0x0a
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x06, FSR0L
	MOVFF	r0x07, PRODL
	MOVF	r0x08, W
	CALL	__gptrput1
;	.line	65; src/func.c	z_input_sysex[value_position+1]=(value>>7)&0x7F;
	CLRF	r0x06
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	MOVF	r0x05, W
	ADDWF	r0x00, F
	MOVF	r0x06, W
	ADDWFC	r0x01, F
	CLRF	WREG
	BTFSC	r0x06, 7
	SETF	WREG
	ADDWFC	r0x02, F
	RLCF	r0x03, W
	RLCF	r0x04, W
	MOVWF	r0x03
	CLRF	r0x04
	BTFSC	STATUS, 0
	DECF	r0x04, F
	BCF	r0x03, 7
	CLRF	r0x04
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x00, FSR0L
	MOVFF	r0x01, PRODL
	MOVF	r0x02, W
	CALL	__gptrput1
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__Double_Byte_Sysex_Input_BigEndian	code
_Double_Byte_Sysex_Input_BigEndian:
;	.line	58; src/func.c	void Double_Byte_Sysex_Input_BigEndian (unsigned char *z_input_sysex,int value,unsigned char value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
	MOVLW	0x06
	MOVFF	PLUSW2, r0x04
	MOVLW	0x07
	MOVFF	PLUSW2, r0x05
;	.line	59; src/func.c	z_input_sysex[value_position]=(value>>7)&0x7F;
	MOVF	r0x05, W
	ADDWF	r0x00, W
	MOVWF	r0x06
	CLRF	WREG
	ADDWFC	r0x01, W
	MOVWF	r0x07
	CLRF	WREG
	ADDWFC	r0x02, W
	MOVWF	r0x08
	RLCF	r0x03, W
	RLCF	r0x04, W
	MOVWF	r0x09
	CLRF	r0x0a
	BTFSC	STATUS, 0
	DECF	r0x0a, F
	BCF	r0x09, 7
	CLRF	r0x0a
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x06, FSR0L
	MOVFF	r0x07, PRODL
	MOVF	r0x08, W
	CALL	__gptrput1
;	.line	60; src/func.c	z_input_sysex[value_position+1]=value&0x7F;
	CLRF	r0x06
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	MOVF	r0x05, W
	ADDWF	r0x00, F
	MOVF	r0x06, W
	ADDWFC	r0x01, F
	CLRF	WREG
	BTFSC	r0x06, 7
	SETF	WREG
	ADDWFC	r0x02, F
	BCF	r0x03, 7
	CLRF	r0x04
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x00, FSR0L
	MOVFF	r0x01, PRODL
	MOVF	r0x02, W
	CALL	__gptrput1
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__Single_Byte_Sysex_Input	code
_Single_Byte_Sysex_Input:
;	.line	54; src/func.c	void Single_Byte_Sysex_Input (unsigned char *z_input_sysex,int value,unsigned char value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
	MOVLW	0x06
	MOVFF	PLUSW2, r0x04
	MOVLW	0x07
	MOVFF	PLUSW2, r0x05
;	.line	55; src/func.c	*(z_input_sysex + value_position) =value&0x7F;
	MOVF	r0x05, W
	ADDWF	r0x00, F
	CLRF	WREG
	ADDWFC	r0x01, F
	CLRF	WREG
	ADDWFC	r0x02, F
	BCF	r0x03, 7
	CLRF	r0x04
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x00, FSR0L
	MOVFF	r0x01, PRODL
	MOVF	r0x02, W
	CALL	__gptrput1
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__EB_re_convert_UltraProteus	code
_EB_re_convert_UltraProteus:
;	.line	48; src/func.c	int EB_re_convert_UltraProteus(int value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	50; src/func.c	value=readEditBuffer(value_position*2+1+2)<<7|readEditBuffer(value_position*2+2);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x03
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	0x00
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x02
	MOVLW	0x02
	ADDWF	FSR1L, F
	CLRF	r0x03
	BTFSC	r0x02, 7
	SETF	r0x03
	RRCF	r0x03, W
	RRCF	r0x02, W
	MOVWF	r0x05
	CLRF	r0x04
	RRCF	r0x04, F
	MOVLW	0x02
	ADDWF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x00
	MOVLW	0x02
	ADDWF	FSR1L, F
	CLRF	r0x01
	BTFSC	r0x00, 7
	SETF	r0x01
	MOVF	r0x00, W
	IORWF	r0x04, F
	MOVF	r0x01, W
	IORWF	r0x05, F
;	.line	51; src/func.c	return value;
	MOVFF	r0x05, PRODL
	MOVF	r0x04, W
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__EB_convert_UltraProteus	code
_EB_convert_UltraProteus:
;	.line	43; src/func.c	void EB_convert_UltraProteus(int value_position, int value) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
;	.line	44; src/func.c	writeEditBuffer(value_position*2+2,value&0x7F);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x02
	ADDWF	r0x00, W
	MOVWF	r0x04
	MOVLW	0x00
	ADDWFC	r0x01, W
	MOVWF	r0x05
	MOVLW	0x7f
	ANDWF	r0x02, W
	MOVWF	r0x06
	CLRF	r0x07
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	_writeEditBuffer
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	45; src/func.c	writeEditBuffer(value_position*2+1+2,(value>>7)&0x7F);				//first two bytes reserved for length of buffer
	MOVLW	0x03
	ADDWF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	RLCF	r0x02, W
	RLCF	r0x03, W
	MOVWF	r0x02
	CLRF	r0x03
	BTFSC	STATUS, 0
	DECF	r0x03, F
	BCF	r0x02, 7
	CLRF	r0x03
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeEditBuffer
	MOVLW	0x03
	ADDWF	FSR1L, F
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__EB_re_convert_Matrix1000	code
_EB_re_convert_Matrix1000:
;	.line	35; src/func.c	int EB_re_convert_Matrix1000(int value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	37; src/func.c	value=readEditBuffer(value_position*2+1)<<4|readEditBuffer(value_position*2);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x01
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	0x00
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x02
	MOVLW	0x02
	ADDWF	FSR1L, F
	SWAPF	r0x02, W
	ANDLW	0xf0
	MOVWF	r0x03
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_readEditBuffer
	MOVWF	r0x00
	MOVLW	0x02
	ADDWF	FSR1L, F
	MOVF	r0x00, W
	IORWF	r0x03, F
;	.line	38; src/func.c	return value;
	CLRF	r0x00
	BTFSC	r0x03, 7
	SETF	r0x00
	MOVFF	r0x00, PRODL
	MOVF	r0x03, W
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__EB_convert_Matrix1000	code
_EB_convert_Matrix1000:
;	.line	30; src/func.c	void EB_convert_Matrix1000(int value_position, int value) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
;	.line	31; src/func.c	writeEditBuffer(value_position*2,value&0x0F);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x0f
	ANDWF	r0x02, W
	MOVWF	r0x04
	CLRF	r0x05
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeEditBuffer
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	32; src/func.c	writeEditBuffer(value_position*2+1,(value>>4)&0x0F);				//first two bytes reserved for length of buffer
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	MOVLW	0xf0
	ANDWF	r0x02, F
	SWAPF	r0x02, F
	SWAPF	r0x03, F
	ANDWF	r0x03, W
	XORWF	r0x03, F
	ADDWF	r0x02, F
	MOVLW	0xf0
	BTFSC	r0x03, 3
	ADDWF	r0x03, F
	MOVLW	0x0f
	ANDWF	r0x02, F
	CLRF	r0x03
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeEditBuffer
	MOVLW	0x03
	ADDWF	FSR1L, F
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__empty_checksum	code
_empty_checksum:
;	.line	27; src/func.c	return ' ';
	MOVLW	0x20
	RETURN	

; ; Starting pCode block
S_main__empty_EB_re_convert	code
_empty_EB_re_convert:
;	.line	22; src/func.c	int empty_EB_re_convert(int value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
;	.line	23; src/func.c	return 0;
	CLRF	PRODL
	CLRF	WREG
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__empty_EB_convert	code
_empty_EB_convert:
;	.line	19; src/func.c	void empty_EB_convert(int value_position, int value) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
;	.line	20; src/func.c	}
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__empty_convert	code
_empty_convert:
;	.line	16; src/func.c	void empty_convert(unsigned char *z_input_sysex,int value,unsigned char value_position) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
;	.line	17; src/func.c	}
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__DISPLAY_Tick	code
_DISPLAY_Tick:
;	.line	373; src/display.c	void DISPLAY_Tick(void) __wparam
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	BANKSEL	_update
;	.line	382; src/display.c	if(update&0x01){
	BTFSS	_update, 0, B
	BRA	_01580_DS_
;	.line	383; src/display.c	switch(modus){
	MOVLW	0x03
	BANKSEL	_modus
	SUBWF	_modus, W, B
	BC	_01580_DS_
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	CLRF	r0x06
; removed redundant BANKSEL
	RLCF	_modus, W, B
	RLCF	r0x06, F
	RLCF	WREG, W
	RLCF	r0x06, F
	ANDLW	0xfc
	MOVWF	r0x05
	MOVLW	UPPER(_01613_DS_)
	MOVWF	PCLATU
	MOVLW	HIGH(_01613_DS_)
	MOVWF	PCLATH
	MOVLW	LOW(_01613_DS_)
	ADDWF	r0x05, F
	MOVF	r0x06, W
	ADDWFC	PCLATH, F
	BTFSC	STATUS, 0
	INCF	PCLATU, F
	MOVF	r0x05, W
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVWF	PCL
_01613_DS_:
	GOTO	_01575_DS_
	GOTO	_01576_DS_
	GOTO	_01577_DS_
_01575_DS_:
;	.line	385; src/display.c	displayDevice();
	CALL	_displayDevice
;	.line	386; src/display.c	break;
	BRA	_01580_DS_
_01576_DS_:
;	.line	388; src/display.c	displayModul();
	CALL	_displayModul
;	.line	389; src/display.c	break;
	BRA	_01580_DS_
_01577_DS_:
;	.line	391; src/display.c	displayParameter();
	CALL	_displayParameter
_01580_DS_:
	BANKSEL	_update
;	.line	395; src/display.c	if(update&0x02 && modus==MOD_PARAMETER) {
	BTFSS	_update, 1, B
	BRA	_01584_DS_
	BANKSEL	_modus
	MOVF	_modus, W, B
	XORLW	0x02
	BNZ	_01584_DS_
;	.line	396; src/display.c	x=potis[16];
	MOVFF	(_potis + 32), r0x00
	MOVFF	(_potis + 33), r0x01
	BANKSEL	(_potis + 32)
;	.line	397; src/display.c	potis[16]=0;
	CLRF	(_potis + 32), B
; removed redundant BANKSEL
	CLRF	(_potis + 33), B
;	.line	398; src/display.c	for(i=0;i<16;i++)
	CLRF	r0x02
_01594_DS_:
	MOVF	r0x02, W
	ADDLW	0x80
	ADDLW	0x70
	BC	_01584_DS_
;	.line	399; src/display.c	if((x>>i)&1) {
	MOVFF	r0x00, r0x03
	MOVFF	r0x01, r0x04
	MOVF	r0x02, W
	BZ	_01617_DS_
	BN	_01620_DS_
	NEGF	WREG
	BCF	STATUS, 0
_01618_DS_:
	BTFSC	r0x04, 7
	BSF	STATUS, 0
	RRCF	r0x04, F
	RRCF	r0x03, F
	ADDLW	0x01
	BNC	_01618_DS_
	BRA	_01617_DS_
_01620_DS_:
	BCF	STATUS, 0
_01619_DS_:
	RLCF	r0x03, F
	RLCF	r0x04, F
	ADDLW	0x01
	BNC	_01619_DS_
_01617_DS_:
	BTFSS	r0x03, 0
	BRA	_01596_DS_
;	.line	400; src/display.c	writeBar(i);
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_writeBar
	INCF	FSR1L, F
_01596_DS_:
;	.line	398; src/display.c	for(i=0;i<16;i++)
	INCF	r0x02, F
	BRA	_01594_DS_
_01584_DS_:
	BANKSEL	_update
;	.line	403; src/display.c	if(update&0x04) {
	BTFSS	_update, 2, B
	BRA	_01587_DS_
;	.line	404; src/display.c	clearLCD(0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	405; src/display.c	clearLCD(1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	406; src/display.c	setCursor(0,17,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	407; src/display.c	printString(0,"Load");
	MOVLW	UPPER(__str_22)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_22)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_22)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	408; src/display.c	setCursor(0,17,11);
	MOVLW	0x0b
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	409; src/display.c	printString(0,"Edit");
	MOVLW	UPPER(__str_23)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_23)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_23)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	410; src/display.c	setCursor(0,15,12);
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x0f
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	411; src/display.c	printString(0,"Buffer");
	MOVLW	UPPER(__str_24)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_24)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_24)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	412; src/display.c	setCursor(1,17,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	413; src/display.c	printString(1,"Load");
	MOVLW	UPPER(__str_22)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_22)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_22)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	414; src/display.c	setCursor(1,17,11);
	MOVLW	0x0b
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	415; src/display.c	printString(1,"Edit");
	MOVLW	UPPER(__str_23)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_23)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_23)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	416; src/display.c	setCursor(1,15,12);
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x0f
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	417; src/display.c	printString(1,"Buffer");
	MOVLW	UPPER(__str_24)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_24)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_24)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
_01587_DS_:
	BANKSEL	_update
;	.line	419; src/display.c	if(update&0x08) {
	BTFSS	_update, 3, B
	BRA	_01589_DS_
;	.line	420; src/display.c	clearLCD(0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	421; src/display.c	clearLCD(1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	422; src/display.c	setCursor(0,16,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x10
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	423; src/display.c	printString(0,"Error");
	MOVLW	UPPER(__str_25)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_25)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_25)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	424; src/display.c	setCursor(1,16,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x10
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	425; src/display.c	printString(1,"Error");
	MOVLW	UPPER(__str_25)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_25)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_25)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
_01589_DS_:
	BANKSEL	_update
;	.line	427; src/display.c	if(update&0x10) {
	BTFSS	_update, 4, B
	BRA	_01591_DS_
;	.line	428; src/display.c	clearLCD(0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	429; src/display.c	clearLCD(1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	430; src/display.c	setCursor(0,10,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	431; src/display.c	printString(0,"Receive");
	MOVLW	UPPER(__str_26)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_26)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_26)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	432; src/display.c	setCursor(0,18,11);
	MOVLW	0x0b
	MOVWF	POSTDEC1
	MOVLW	0x12
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	433; src/display.c	printString(0,"User");
	MOVLW	UPPER(__str_27)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_27)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_27)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	434; src/display.c	setCursor(0,18,12);
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x12
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	435; src/display.c	printString(0,"Data");
	MOVLW	UPPER(__str_28)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_28)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_28)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	436; src/display.c	setCursor(1,10,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	437; src/display.c	printString(1,"Receive");
	MOVLW	UPPER(__str_26)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_26)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_26)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	438; src/display.c	setCursor(1,18,11);
	MOVLW	0x0b
	MOVWF	POSTDEC1
	MOVLW	0x12
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	439; src/display.c	printString(1,"User");
	MOVLW	UPPER(__str_27)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_27)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_27)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	440; src/display.c	setCursor(1,18,12);
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x12
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	441; src/display.c	printString(1,"Data");
	MOVLW	UPPER(__str_28)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_28)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_28)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
_01591_DS_:
	BANKSEL	_update
;	.line	443; src/display.c	if(update&0x20) {
	BTFSS	_update, 5, B
	BRA	_01593_DS_
;	.line	444; src/display.c	clearLCD(0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	445; src/display.c	clearLCD(1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	446; src/display.c	setCursor(0,17,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	447; src/display.c	printString(0,"Send");
	MOVLW	UPPER(__str_29)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_29)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_29)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	448; src/display.c	setCursor(0,17,11);
	MOVLW	0x0b
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	449; src/display.c	printString(0,"Edit");
	MOVLW	UPPER(__str_23)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_23)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_23)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	450; src/display.c	setCursor(0,15,12);
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x0f
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	451; src/display.c	printString(0,"Buffer");
	MOVLW	UPPER(__str_24)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_24)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_24)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	452; src/display.c	setCursor(1,17,10);
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	453; src/display.c	printString(1,"Send");
	MOVLW	UPPER(__str_29)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_29)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_29)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	454; src/display.c	setCursor(1,17,11);
	MOVLW	0x0b
	MOVWF	POSTDEC1
	MOVLW	0x11
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	455; src/display.c	printString(1,"Edit");
	MOVLW	UPPER(__str_23)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_23)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_23)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	456; src/display.c	setCursor(1,15,12);
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x0f
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	457; src/display.c	printString(1,"Buffer");
	MOVLW	UPPER(__str_24)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_24)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_24)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
_01593_DS_:
	BANKSEL	_update
;	.line	460; src/display.c	update=0x00;
	CLRF	_update, B
;	.line	465; src/display.c	setCursor(0,0,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__DISPLAY_Init	code
_DISPLAY_Init:
;	.line	356; src/display.c	}
	RETURN	

; ; Starting pCode block
S_main__displayParameter	code
_displayParameter:
;	.line	276; src/display.c	void displayParameter() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVFF	r0x12, POSTDEC1
;	.line	282; src/display.c	clearLCD(1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	283; src/display.c	setCursor(1,13,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0d
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	284; src/display.c	printString(1,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	285; src/display.c	printBCD1(1,2);
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	286; src/display.c	setCursor(1,12,29);
	MOVLW	0x1d
	MOVWF	POSTDEC1
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	287; src/display.c	printString(1,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	288; src/display.c	printBCD1(1,4);
	MOVLW	0x04
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	289; src/display.c	setCursor(1,0,28);
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	290; src/display.c	begin=0;end=10;
	CLRF	r0x00
	MOVLW	0x0a
	MOVWF	r0x01
;	.line	291; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
_01477_DS_:
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_01546_DS_
	MOVLW	0x00
	SUBWF	r0x04, W
	BNZ	_01546_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_01546_DS_
	MOVLW	0x0a
	SUBWF	r0x02, W
_01546_DS_:
	BTFSC	STATUS, 0
	BRA	_01480_DS_
;	.line	292; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE+10);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x06
	MOVFF	PRODL, r0x07
	MOVFF	PRODH, r0x08
	MOVFF	FSR0L, r0x09
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x02, W
	ADDWF	r0x06, F
	MOVF	r0x03, W
	ADDWFC	r0x07, F
	MOVF	r0x04, W
	ADDWFC	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVLW	0x0a
	ADDWF	r0x06, F
	MOVLW	0x00
	ADDWFC	r0x07, F
	MOVLW	0x00
	ADDWFC	r0x08, F
	MOVLW	0x00
	ADDWFC	r0x09, F
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	293; src/display.c	if(!begin && buff!=' ')
	MOVF	r0x00, W
	BNZ	_01454_DS_
	MOVF	r0x06, W
	XORLW	0x20
	BZ	_01454_DS_
;	.line	294; src/display.c	begin=addr;
	MOVF	r0x02, W
	MOVWF	r0x00
_01454_DS_:
;	.line	295; src/display.c	if(begin && buff!=' ')
	MOVF	r0x00, W
	BZ	_01479_DS_
	MOVF	r0x06, W
	XORLW	0x20
	BZ	_01479_DS_
;	.line	296; src/display.c	end=addr+1;
	MOVF	r0x02, W
	MOVWF	r0x07
	INCF	r0x07, W
	MOVWF	r0x01
_01479_DS_:
;	.line	291; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BRA	_01477_DS_
_01480_DS_:
;	.line	298; src/display.c	if ((end-begin)%2)
	MOVFF	r0x01, r0x02
	CLRF	r0x03
	BTFSC	r0x01, 7
	SETF	r0x03
	MOVFF	r0x00, r0x04
	CLRF	r0x05
	BTFSC	r0x00, 7
	SETF	r0x05
	MOVF	r0x04, W
	SUBWF	r0x02, F
	MOVF	r0x05, W
	SUBWFB	r0x03, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	__modsint
	MOVWF	r0x02
	MOVFF	PRODL, r0x03
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x02, W
	IORWF	r0x03, W
	BZ	_01521_DS_
;	.line	299; src/display.c	end+=1;
	INCF	r0x01, F
_01521_DS_:
;	.line	300; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x07
	CLRF	r0x08
_01481_DS_:
	MOVLW	0x00
	SUBWF	r0x08, W
	BNZ	_01551_DS_
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_01551_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_01551_DS_
	MOVLW	0x0a
	SUBWF	r0x02, W
_01551_DS_:
	BTFSC	STATUS, 0
	BRA	_01484_DS_
;	.line	301; src/display.c	if(addr<(10-end+begin)/2 || addr>9-(10-end+begin)/2)
	MOVFF	r0x01, r0x09
	CLRF	r0x0a
	BTFSC	r0x01, 7
	SETF	r0x0a
	MOVF	r0x09, W
	SUBLW	0x0a
	MOVWF	r0x09
	MOVLW	0x00
	SUBFWB	r0x0a, F
	MOVF	r0x04, W
	ADDWF	r0x09, W
	MOVWF	r0x0b
	MOVF	r0x05, W
	ADDWFC	r0x0a, W
	MOVWF	r0x0c
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x0b, r0x0d
	MOVFF	r0x0c, r0x0e
	CLRF	WREG
	BTFSC	r0x0c, 7
	MOVLW	0xff
	MOVWF	r0x0f
	MOVWF	r0x10
	MOVF	r0x10, W
	SUBWF	r0x08, W
	BNZ	_01552_DS_
	MOVF	r0x0f, W
	SUBWF	r0x07, W
	BNZ	_01552_DS_
	MOVF	r0x0e, W
	SUBWF	r0x03, W
	BNZ	_01552_DS_
	MOVF	r0x0d, W
	SUBWF	r0x02, W
_01552_DS_:
	BNC	_01461_DS_
	MOVF	r0x0b, W
	SUBLW	0x09
	MOVWF	r0x0d
	MOVLW	0x00
	SUBFWB	r0x0c, W
	MOVWF	r0x0e
	CLRF	WREG
	BTFSC	r0x0e, 7
	MOVLW	0xff
	MOVWF	r0x0f
	MOVWF	r0x10
	MOVF	r0x08, W
	SUBWF	r0x10, W
	BNZ	_01553_DS_
	MOVF	r0x07, W
	SUBWF	r0x0f, W
	BNZ	_01553_DS_
	MOVF	r0x03, W
	SUBWF	r0x0e, W
	BNZ	_01553_DS_
	MOVF	r0x02, W
	SUBWF	r0x0d, W
_01553_DS_:
	BC	_01462_DS_
_01461_DS_:
;	.line	302; src/display.c	buff=' ';
	MOVLW	0x20
	MOVWF	r0x06
	BRA	_01463_DS_
_01462_DS_:
;	.line	304; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE+10-((10-end+begin)/2)*(begin>(10-end)?-1:1));
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0d
	MOVFF	PRODL, r0x0e
	MOVFF	PRODH, r0x0f
	MOVFF	FSR0L, r0x10
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x02, W
	ADDWF	r0x0d, F
	MOVF	r0x03, W
	ADDWFC	r0x0e, F
	MOVF	r0x07, W
	ADDWFC	r0x0f, F
	MOVF	r0x08, W
	ADDWFC	r0x10, F
	MOVLW	0x0a
	ADDWF	r0x0d, F
	MOVLW	0x00
	ADDWFC	r0x0e, F
	MOVLW	0x00
	ADDWFC	r0x0f, F
	MOVLW	0x00
	ADDWFC	r0x10, F
	MOVF	r0x0a, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x05, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01554_DS_
	MOVF	r0x04, W
	SUBWF	r0x09, W
_01554_DS_:
	BC	_01507_DS_
	MOVLW	0xff
	MOVWF	r0x09
	BRA	_01508_DS_
_01507_DS_:
	MOVLW	0x01
	MOVWF	r0x09
_01508_DS_:
	CLRF	r0x0a
	BTFSC	r0x09, 7
	SETF	r0x0a
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x09
	MOVFF	PRODL, r0x0a
	MOVLW	0x04
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x0a, 7
	MOVLW	0xff
	MOVWF	r0x0b
	MOVWF	r0x0c
	MOVF	r0x09, W
	SUBWF	r0x0d, F
	MOVF	r0x0a, W
	SUBWFB	r0x0e, F
	MOVF	r0x0b, W
	SUBWFB	r0x0f, F
	MOVF	r0x0c, W
	SUBWFB	r0x10, F
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
_01463_DS_:
;	.line	305; src/display.c	printChar(1,buff);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	300; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
	BRA	_01481_DS_
_01484_DS_:
;	.line	307; src/display.c	clearLCD(0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	308; src/display.c	setCursor(0,13,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0d
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	309; src/display.c	printString(0,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	310; src/display.c	printBCD1(0,1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	311; src/display.c	setCursor(0,12,29);
	MOVLW	0x1d
	MOVWF	POSTDEC1
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	312; src/display.c	printString(0,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	313; src/display.c	printBCD1(0,3);
	MOVLW	0x03
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	314; src/display.c	setCursor(0,0,28);
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	315; src/display.c	begin=0;end=10;
	CLRF	r0x00
	MOVLW	0x0a
	MOVWF	r0x01
;	.line	316; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
_01485_DS_:
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_01555_DS_
	MOVLW	0x00
	SUBWF	r0x04, W
	BNZ	_01555_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_01555_DS_
	MOVLW	0x0a
	SUBWF	r0x02, W
_01555_DS_:
	BTFSC	STATUS, 0
	BRA	_01488_DS_
;	.line	317; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x07
	MOVFF	PRODL, r0x08
	MOVFF	PRODH, r0x09
	MOVFF	FSR0L, r0x0a
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x02, W
	ADDWF	r0x07, F
	MOVF	r0x03, W
	ADDWFC	r0x08, F
	MOVF	r0x04, W
	ADDWFC	r0x09, F
	MOVF	r0x05, W
	ADDWFC	r0x0a, F
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	318; src/display.c	if(!begin && buff!=' ')
	MOVF	r0x00, W
	BNZ	_01466_DS_
	MOVF	r0x06, W
	XORLW	0x20
	BZ	_01466_DS_
;	.line	319; src/display.c	begin=addr;
	MOVF	r0x02, W
	MOVWF	r0x00
_01466_DS_:
;	.line	320; src/display.c	if(begin && buff!=' ')
	MOVF	r0x00, W
	BZ	_01487_DS_
	MOVF	r0x06, W
	XORLW	0x20
	BZ	_01487_DS_
;	.line	321; src/display.c	end=addr+1;
	MOVF	r0x02, W
	MOVWF	r0x07
	INCF	r0x07, W
	MOVWF	r0x01
_01487_DS_:
;	.line	316; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BRA	_01485_DS_
_01488_DS_:
;	.line	323; src/display.c	if ((end-begin)%2)
	MOVFF	r0x01, r0x02
	CLRF	r0x03
	BTFSC	r0x01, 7
	SETF	r0x03
	CLRF	r0x04
	BTFSC	r0x00, 7
	SETF	r0x04
	MOVF	r0x00, W
	SUBWF	r0x02, F
	MOVF	r0x04, W
	SUBWFB	r0x03, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	__modsint
	MOVWF	r0x02
	MOVFF	PRODL, r0x03
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x02, W
	IORWF	r0x03, W
	BZ	_01532_DS_
;	.line	324; src/display.c	end+=1;
	INCF	r0x01, F
_01532_DS_:
;	.line	325; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x05
	CLRF	r0x07
_01489_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_01560_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_01560_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_01560_DS_
	MOVLW	0x0a
	SUBWF	r0x02, W
_01560_DS_:
	BTFSC	STATUS, 0
	BRA	_01492_DS_
;	.line	326; src/display.c	if(addr<(10-end+begin)/2 || addr>9-(10-end+begin)/2)
	MOVFF	r0x01, r0x08
	CLRF	r0x09
	BTFSC	r0x01, 7
	SETF	r0x09
	MOVF	r0x08, W
	SUBLW	0x0a
	MOVWF	r0x08
	MOVLW	0x00
	SUBFWB	r0x09, F
	MOVF	r0x00, W
	ADDWF	r0x08, W
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWFC	r0x09, W
	MOVWF	r0x0b
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x0a
	MOVFF	PRODL, r0x0b
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x0a, r0x0c
	MOVFF	r0x0b, r0x0d
	CLRF	WREG
	BTFSC	r0x0b, 7
	MOVLW	0xff
	MOVWF	r0x0e
	MOVWF	r0x0f
	MOVF	r0x0f, W
	SUBWF	r0x07, W
	BNZ	_01561_DS_
	MOVF	r0x0e, W
	SUBWF	r0x05, W
	BNZ	_01561_DS_
	MOVF	r0x0d, W
	SUBWF	r0x03, W
	BNZ	_01561_DS_
	MOVF	r0x0c, W
	SUBWF	r0x02, W
_01561_DS_:
	BNC	_01473_DS_
	MOVF	r0x0a, W
	SUBLW	0x09
	MOVWF	r0x0c
	MOVLW	0x00
	SUBFWB	r0x0b, W
	MOVWF	r0x0d
	CLRF	WREG
	BTFSC	r0x0d, 7
	MOVLW	0xff
	MOVWF	r0x0e
	MOVWF	r0x0f
	MOVF	r0x07, W
	SUBWF	r0x0f, W
	BNZ	_01562_DS_
	MOVF	r0x05, W
	SUBWF	r0x0e, W
	BNZ	_01562_DS_
	MOVF	r0x03, W
	SUBWF	r0x0d, W
	BNZ	_01562_DS_
	MOVF	r0x02, W
	SUBWF	r0x0c, W
_01562_DS_:
	BC	_01474_DS_
_01473_DS_:
;	.line	327; src/display.c	buff=' ';
	MOVLW	0x20
	MOVWF	r0x06
	BRA	_01475_DS_
_01474_DS_:
;	.line	329; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE-((10-end+begin)/2)*(begin>(10-end)?-1:1));
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0c
	MOVFF	PRODL, r0x0d
	MOVFF	PRODH, r0x0e
	MOVFF	FSR0L, r0x0f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x02, W
	ADDWF	r0x0c, F
	MOVF	r0x03, W
	ADDWFC	r0x0d, F
	MOVF	r0x05, W
	ADDWFC	r0x0e, F
	MOVF	r0x07, W
	ADDWFC	r0x0f, F
	MOVF	r0x09, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x04, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01563_DS_
	MOVF	r0x00, W
	SUBWF	r0x08, W
_01563_DS_:
	BC	_01509_DS_
	MOVLW	0xff
	MOVWF	r0x08
	BRA	_01510_DS_
_01509_DS_:
	MOVLW	0x01
	MOVWF	r0x08
_01510_DS_:
	CLRF	r0x09
	BTFSC	r0x08, 7
	SETF	r0x09
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x08
	MOVFF	PRODL, r0x09
	MOVLW	0x04
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x09, 7
	MOVLW	0xff
	MOVWF	r0x0a
	MOVWF	r0x0b
	MOVF	r0x08, W
	SUBWF	r0x0c, F
	MOVF	r0x09, W
	SUBWFB	r0x0d, F
	MOVF	r0x0a, W
	SUBWFB	r0x0e, F
	MOVF	r0x0b, W
	SUBWFB	r0x0f, F
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
_01475_DS_:
;	.line	330; src/display.c	printChar(0,buff);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	325; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_01489_DS_
_01492_DS_:
;	.line	334; src/display.c	for(line=0;line<8;line++) {
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x07
	CLRF	r0x08
	CLRF	r0x09
	CLRF	r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
_01501_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_01564_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_01564_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_01564_DS_
	MOVLW	0x08
	SUBWF	r0x00, W
_01564_DS_:
	BTFSC	STATUS, 0
	BRA	_01505_DS_
;	.line	335; src/display.c	setCursor(1,0, line*3+3);
	MOVF	r0x00, W
	MOVWF	r0x0d
; ;multiply lit val:0x03 by variable r0x0d and store in r0x0d
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x0d, W
	MULLW	0x03
	MOVFF	PRODL, r0x0d
	MOVLW	0x03
	ADDWF	r0x0d, F
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	336; src/display.c	for(addr=0;addr<10;addr++) {
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	CLRF	r0x10
_01493_DS_:
	MOVLW	0x00
	SUBWF	r0x10, W
	BNZ	_01565_DS_
	MOVLW	0x00
	SUBWF	r0x0f, W
	BNZ	_01565_DS_
	MOVLW	0x00
	SUBWF	r0x0e, W
	BNZ	_01565_DS_
	MOVLW	0x0a
	SUBWF	r0x0d, W
_01565_DS_:
	BC	_01496_DS_
;	.line	337; src/display.c	buff=parametersright[line].name[addr];
	MOVLW	LOW(_parametersright)
	ADDWF	r0x04, W
	MOVWF	r0x11
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x05, W
	MOVWF	r0x12
	MOVF	r0x0d, W
	ADDWF	r0x11, F
	MOVF	r0x0e, W
	ADDWFC	r0x12, F
	MOVFF	r0x11, FSR0L
	MOVFF	r0x12, FSR0H
	MOVFF	INDF0, r0x06
;	.line	338; src/display.c	printChar(1,buff);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	336; src/display.c	for(addr=0;addr<10;addr++) {
	INCF	r0x0d, F
	BTFSC	STATUS, 0
	INCF	r0x0e, F
	BTFSC	STATUS, 0
	INCF	r0x0f, F
	BTFSC	STATUS, 0
	INCF	r0x10, F
	BRA	_01493_DS_
_01496_DS_:
;	.line	340; src/display.c	setCursor(0,0, line*3+3);
	MOVF	r0x00, W
	MOVWF	r0x0d
; ;multiply lit val:0x03 by variable r0x0d and store in r0x0d
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x0d, W
	MULLW	0x03
	MOVFF	PRODL, r0x0d
	MOVLW	0x03
	ADDWF	r0x0d, F
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	341; src/display.c	for(addr=0;addr<10;addr++) {
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	CLRF	r0x10
_01497_DS_:
	MOVLW	0x00
	SUBWF	r0x10, W
	BNZ	_01566_DS_
	MOVLW	0x00
	SUBWF	r0x0f, W
	BNZ	_01566_DS_
	MOVLW	0x00
	SUBWF	r0x0e, W
	BNZ	_01566_DS_
	MOVLW	0x0a
	SUBWF	r0x0d, W
_01566_DS_:
	BC	_01503_DS_
;	.line	342; src/display.c	buff=parametersleft[line].name[addr];
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x09, W
	MOVWF	r0x11
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x0a, W
	MOVWF	r0x12
	MOVF	r0x0d, W
	ADDWF	r0x11, F
	MOVF	r0x0e, W
	ADDWFC	r0x12, F
	MOVFF	r0x11, FSR0L
	MOVFF	r0x12, FSR0H
	MOVFF	INDF0, r0x06
;	.line	343; src/display.c	printChar(0,buff);
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	341; src/display.c	for(addr=0;addr<10;addr++) {
	INCF	r0x0d, F
	BTFSC	STATUS, 0
	INCF	r0x0e, F
	BTFSC	STATUS, 0
	INCF	r0x0f, F
	BTFSC	STATUS, 0
	INCF	r0x10, F
	BRA	_01497_DS_
_01503_DS_:
;	.line	334; src/display.c	for(line=0;line<8;line++) {
	MOVLW	0x1c
	ADDWF	r0x04, F
	MOVLW	0x00
	ADDWFC	r0x05, F
	MOVLW	0x00
	ADDWFC	r0x07, F
	MOVLW	0x00
	ADDWFC	r0x08, F
	MOVLW	0x1c
	ADDWF	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	ADDWFC	r0x0b, F
	MOVLW	0x00
	ADDWFC	r0x0c, F
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BRA	_01501_DS_
_01505_DS_:
	MOVFF	PREINC1, r0x12
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__displayModul	code
_displayModul:
;	.line	191; src/display.c	void displayModul() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVFF	r0x12, POSTDEC1
	MOVFF	r0x13, POSTDEC1
;	.line	195; src/display.c	disp=BASE+DEVICE_MENU_LENGTH+16*MODUL_MENU_ENTRY*bank+64*MODUL_MENU_ENTRY*device;
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x60
	MOVWF	POSTDEC1
	BANKSEL	(_bank + 3)
	MOVF	(_bank + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_bank, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVFF	PRODH, r0x02
	MOVFF	FSR0L, r0x03
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x60
	ADDWF	r0x00, F
	MOVLW	0x01
	ADDWFC	r0x01, F
	MOVLW	0x00
	ADDWFC	r0x02, F
	MOVLW	0x00
	ADDWFC	r0x03, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x05
	MOVWF	POSTDEC1
	MOVLW	0x80
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x04
	MOVFF	PRODL, r0x05
	MOVFF	PRODH, r0x06
	MOVFF	FSR0L, r0x07
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x04, W
	ADDWF	r0x00, F
	MOVF	r0x05, W
	ADDWFC	r0x01, F
	MOVF	r0x06, W
	ADDWFC	r0x02, F
	MOVF	r0x07, W
	ADDWFC	r0x03, F
;	.line	197; src/display.c	clearLCD(1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	198; src/display.c	setCursor(1,13,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0d
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	199; src/display.c	printString(1,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	200; src/display.c	printBCD1(1,2);
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	201; src/display.c	setCursor(1,12,29);
	MOVLW	0x1d
	MOVWF	POSTDEC1
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	202; src/display.c	printString(1,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	203; src/display.c	printBCD1(1,4);
	MOVLW	0x04
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	204; src/display.c	setCursor(1,0,28);
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	205; src/display.c	begin=0;end=10;
	CLRF	r0x02
	MOVLW	0x0a
	MOVWF	r0x03
;	.line	206; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x04
_01348_DS_:
	MOVLW	0x0a
	SUBWF	r0x04, W
	BTFSC	STATUS, 0
	BRA	_01351_DS_
;	.line	207; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE+10);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x05
	MOVFF	PRODL, r0x06
	MOVFF	PRODH, r0x07
	MOVFF	FSR0L, r0x08
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVFF	r0x04, r0x09
	CLRF	r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	MOVF	r0x09, W
	ADDWF	r0x05, F
	MOVF	r0x0a, W
	ADDWFC	r0x06, F
	MOVF	r0x0b, W
	ADDWFC	r0x07, F
	MOVF	r0x0c, W
	ADDWFC	r0x08, F
	MOVLW	0x0a
	ADDWF	r0x05, F
	MOVLW	0x00
	ADDWFC	r0x06, F
	MOVLW	0x00
	ADDWFC	r0x07, F
	MOVLW	0x00
	ADDWFC	r0x08, F
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	208; src/display.c	if(!begin && buff!=' ')
	MOVF	r0x02, W
	BNZ	_01325_DS_
	MOVF	r0x05, W
	XORLW	0x20
	BZ	_01325_DS_
;	.line	209; src/display.c	begin=addr;
	MOVFF	r0x04, r0x02
_01325_DS_:
;	.line	210; src/display.c	if(begin && buff!=' ')
	MOVF	r0x02, W
	BZ	_01350_DS_
	MOVF	r0x05, W
	XORLW	0x20
	BZ	_01350_DS_
;	.line	211; src/display.c	end=addr+1;
	INCF	r0x04, W
	MOVWF	r0x03
_01350_DS_:
;	.line	206; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x04, F
	BRA	_01348_DS_
_01351_DS_:
;	.line	213; src/display.c	if ((end-begin)%2)
	MOVFF	r0x03, r0x04
	CLRF	r0x06
	BTFSC	r0x03, 7
	SETF	r0x06
	MOVFF	r0x02, r0x07
	CLRF	r0x08
	BTFSC	r0x02, 7
	SETF	r0x08
	MOVF	r0x07, W
	SUBWF	r0x04, F
	MOVF	r0x08, W
	SUBWFB	r0x06, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	__modsint
	MOVWF	r0x04
	MOVFF	PRODL, r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x04, W
	IORWF	r0x06, W
	BZ	_01400_DS_
;	.line	214; src/display.c	end+=1;
	INCF	r0x03, F
_01400_DS_:
;	.line	215; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x04
_01352_DS_:
	MOVLW	0x0a
	SUBWF	r0x04, W
	BTFSC	STATUS, 0
	BRA	_01355_DS_
;	.line	216; src/display.c	if(addr<(10-end+begin)/2 || addr>9-(10-end+begin)/2)
	MOVFF	r0x03, r0x06
	CLRF	r0x09
	BTFSC	r0x03, 7
	SETF	r0x09
	MOVF	r0x06, W
	SUBLW	0x0a
	MOVWF	r0x06
	MOVLW	0x00
	SUBFWB	r0x09, F
	MOVF	r0x07, W
	ADDWF	r0x06, W
	MOVWF	r0x0a
	MOVF	r0x08, W
	ADDWFC	r0x09, W
	MOVWF	r0x0b
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x0a
	MOVFF	PRODL, r0x0b
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x04, r0x0c
	CLRF	r0x0d
	MOVF	r0x0d, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x0b, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01437_DS_
	MOVF	r0x0a, W
	SUBWF	r0x0c, W
_01437_DS_:
	BNC	_01332_DS_
	MOVF	r0x0a, W
	SUBLW	0x09
	MOVWF	r0x0e
	MOVLW	0x00
	SUBFWB	r0x0b, W
	MOVWF	r0x0f
	MOVF	r0x0f, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x0d, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01438_DS_
	MOVF	r0x0c, W
	SUBWF	r0x0e, W
_01438_DS_:
	BC	_01333_DS_
_01332_DS_:
;	.line	217; src/display.c	buff=' ';
	MOVLW	0x20
	MOVWF	r0x05
	BRA	_01334_DS_
_01333_DS_:
;	.line	219; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE+10-((10-end+begin)/2)*(begin>(10-end)?-1:1));
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0c
	MOVFF	PRODL, r0x0d
	MOVFF	PRODH, r0x0e
	MOVFF	FSR0L, r0x0f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVFF	r0x04, r0x10
	CLRF	r0x11
	CLRF	r0x12
	CLRF	r0x13
	MOVF	r0x10, W
	ADDWF	r0x0c, F
	MOVF	r0x11, W
	ADDWFC	r0x0d, F
	MOVF	r0x12, W
	ADDWFC	r0x0e, F
	MOVF	r0x13, W
	ADDWFC	r0x0f, F
	MOVLW	0x0a
	ADDWF	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVLW	0x00
	ADDWFC	r0x0e, F
	MOVLW	0x00
	ADDWFC	r0x0f, F
	MOVF	r0x09, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x08, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01439_DS_
	MOVF	r0x07, W
	SUBWF	r0x06, W
_01439_DS_:
	BC	_01386_DS_
	MOVLW	0xff
	MOVWF	r0x06
	BRA	_01387_DS_
_01386_DS_:
	MOVLW	0x01
	MOVWF	r0x06
_01387_DS_:
	CLRF	r0x09
	BTFSC	r0x06, 7
	SETF	r0x09
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x06
	MOVFF	PRODL, r0x09
	MOVLW	0x04
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x09, 7
	MOVLW	0xff
	MOVWF	r0x0a
	MOVWF	r0x0b
	MOVF	r0x06, W
	SUBWF	r0x0c, F
	MOVF	r0x09, W
	SUBWFB	r0x0d, F
	MOVF	r0x0a, W
	SUBWFB	r0x0e, F
	MOVF	r0x0b, W
	SUBWFB	r0x0f, F
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
_01334_DS_:
;	.line	220; src/display.c	printChar(1,buff);
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	215; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x04, F
	BRA	_01352_DS_
_01355_DS_:
;	.line	222; src/display.c	clearLCD(0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	223; src/display.c	setCursor(0,13,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0d
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	224; src/display.c	printString(0,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	225; src/display.c	printBCD1(0,1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	226; src/display.c	setCursor(0,12,29);
	MOVLW	0x1d
	MOVWF	POSTDEC1
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	227; src/display.c	printString(0,"BANK ");
	MOVLW	UPPER(__str_21)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_21)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_21)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	228; src/display.c	printBCD1(0,3);
	MOVLW	0x03
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printBCD1
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	229; src/display.c	setCursor(0,0,28);
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	230; src/display.c	begin=0;end=10;
	CLRF	r0x02
	MOVLW	0x0a
	MOVWF	r0x03
;	.line	231; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x04
_01356_DS_:
	MOVLW	0x0a
	SUBWF	r0x04, W
	BTFSC	STATUS, 0
	BRA	_01359_DS_
;	.line	232; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x06
	MOVFF	PRODL, r0x07
	MOVFF	PRODH, r0x08
	MOVFF	FSR0L, r0x09
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVFF	r0x04, r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	MOVF	r0x0a, W
	ADDWF	r0x06, F
	MOVF	r0x0b, W
	ADDWFC	r0x07, F
	MOVF	r0x0c, W
	ADDWFC	r0x08, F
	MOVF	r0x0d, W
	ADDWFC	r0x09, F
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	233; src/display.c	if(!begin && buff!=' ')
	MOVF	r0x02, W
	BNZ	_01337_DS_
	MOVF	r0x05, W
	XORLW	0x20
	BZ	_01337_DS_
;	.line	234; src/display.c	begin=addr;
	MOVFF	r0x04, r0x02
_01337_DS_:
;	.line	235; src/display.c	if(begin && buff!=' ')
	MOVF	r0x02, W
	BZ	_01358_DS_
	MOVF	r0x05, W
	XORLW	0x20
	BZ	_01358_DS_
;	.line	236; src/display.c	end=addr+1;
	INCF	r0x04, W
	MOVWF	r0x03
_01358_DS_:
;	.line	231; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x04, F
	BRA	_01356_DS_
_01359_DS_:
;	.line	238; src/display.c	if ((end-begin)%2)
	MOVFF	r0x03, r0x04
	CLRF	r0x06
	BTFSC	r0x03, 7
	SETF	r0x06
	CLRF	r0x07
	BTFSC	r0x02, 7
	SETF	r0x07
	MOVF	r0x02, W
	SUBWF	r0x04, F
	MOVF	r0x07, W
	SUBWFB	r0x06, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	__modsint
	MOVWF	r0x04
	MOVFF	PRODL, r0x06
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x04, W
	IORWF	r0x06, W
	BZ	_01411_DS_
;	.line	239; src/display.c	end+=1;
	INCF	r0x03, F
_01411_DS_:
;	.line	240; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x04
_01360_DS_:
	MOVLW	0x0a
	SUBWF	r0x04, W
	BTFSC	STATUS, 0
	BRA	_01363_DS_
;	.line	241; src/display.c	if(addr<(10-end+begin)/2 || addr>9-(10-end+begin)/2)
	MOVFF	r0x03, r0x06
	CLRF	r0x08
	BTFSC	r0x03, 7
	SETF	r0x08
	MOVF	r0x06, W
	SUBLW	0x0a
	MOVWF	r0x06
	MOVLW	0x00
	SUBFWB	r0x08, F
	MOVF	r0x02, W
	ADDWF	r0x06, W
	MOVWF	r0x09
	MOVF	r0x07, W
	ADDWFC	r0x08, W
	MOVWF	r0x0a
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x09
	MOVFF	PRODL, r0x0a
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x04, r0x0b
	CLRF	r0x0c
	MOVF	r0x0c, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x0a, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01446_DS_
	MOVF	r0x09, W
	SUBWF	r0x0b, W
_01446_DS_:
	BNC	_01344_DS_
	MOVF	r0x09, W
	SUBLW	0x09
	MOVWF	r0x0d
	MOVLW	0x00
	SUBFWB	r0x0a, W
	MOVWF	r0x0e
	MOVF	r0x0e, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x0c, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01447_DS_
	MOVF	r0x0b, W
	SUBWF	r0x0d, W
_01447_DS_:
	BC	_01345_DS_
_01344_DS_:
;	.line	242; src/display.c	buff=' ';
	MOVLW	0x20
	MOVWF	r0x05
	BRA	_01346_DS_
_01345_DS_:
;	.line	244; src/display.c	buff=readBank(addr+(DEVICE_MENU_ENTRY*device)+BASE-((10-end+begin)/2)*(begin>(10-end)?-1:1));
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVFF	r0x04, r0x0f
	CLRF	r0x10
	CLRF	r0x11
	CLRF	r0x12
	MOVF	r0x0f, W
	ADDWF	r0x0b, F
	MOVF	r0x10, W
	ADDWFC	r0x0c, F
	MOVF	r0x11, W
	ADDWFC	r0x0d, F
	MOVF	r0x12, W
	ADDWFC	r0x0e, F
	MOVF	r0x08, W
	ADDLW	0x80
	MOVWF	PRODL
	MOVF	r0x07, W
	ADDLW	0x80
	SUBWF	PRODL, W
	BNZ	_01448_DS_
	MOVF	r0x02, W
	SUBWF	r0x06, W
_01448_DS_:
	BC	_01388_DS_
	MOVLW	0xff
	MOVWF	r0x06
	BRA	_01389_DS_
_01388_DS_:
	MOVLW	0x01
	MOVWF	r0x06
_01389_DS_:
	CLRF	r0x08
	BTFSC	r0x06, 7
	SETF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x06
	MOVFF	PRODL, r0x08
	MOVLW	0x04
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x08, 7
	MOVLW	0xff
	MOVWF	r0x09
	MOVWF	r0x0a
	MOVF	r0x06, W
	SUBWF	r0x0b, F
	MOVF	r0x08, W
	SUBWFB	r0x0c, F
	MOVF	r0x09, W
	SUBWFB	r0x0d, F
	MOVF	r0x0a, W
	SUBWFB	r0x0e, F
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
_01346_DS_:
;	.line	245; src/display.c	printChar(0,buff);
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	240; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x04, F
	BRA	_01360_DS_
_01363_DS_:
;	.line	248; src/display.c	for(line=0;line<8;line++) {
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x06
	CLRF	r0x07
_01380_DS_:
	MOVLW	0x08
	SUBWF	r0x02, W
	BTFSC	STATUS, 0
	BRA	_01384_DS_
;	.line	249; src/display.c	setCursor(1,0, line*3+3);
	MOVLW	0x03
	ADDWF	r0x03, W
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	250; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x08
_01364_DS_:
	MOVLW	0x0a
	SUBWF	r0x08, W
	BTFSC	STATUS, 0
	BRA	_01367_DS_
;	.line	251; src/display.c	buff=readBank(addr+line*MODUL_MENU_ENTRY+disp+176);
	MOVFF	r0x08, r0x09
	CLRF	r0x0a
	MOVFF	r0x02, r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x0a, 7
	MOVLW	0xff
	MOVWF	r0x0f
	MOVWF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVFF	r0x00, r0x09
	MOVFF	r0x01, r0x0a
	CLRF	r0x0f
	CLRF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVLW	0xb0
	ADDWF	r0x0b, F
	MOVLW	0x00
	ADDWFC	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVLW	0x00
	ADDWFC	r0x0e, F
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	252; src/display.c	printChar(1,buff);
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	250; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x08, F
	BRA	_01364_DS_
_01367_DS_:
;	.line	254; src/display.c	setCursor(1,0, line*3+4);
	MOVLW	0x04
	ADDWF	r0x04, W
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	255; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x08
_01368_DS_:
	MOVLW	0x0a
	SUBWF	r0x08, W
	BTFSC	STATUS, 0
	BRA	_01371_DS_
;	.line	256; src/display.c	buff=readBank(addr+line*MODUL_MENU_ENTRY+disp+186);
	MOVFF	r0x08, r0x09
	CLRF	r0x0a
	MOVFF	r0x02, r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x0a, 7
	MOVLW	0xff
	MOVWF	r0x0f
	MOVWF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVFF	r0x00, r0x09
	MOVFF	r0x01, r0x0a
	CLRF	r0x0f
	CLRF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVLW	0xba
	ADDWF	r0x0b, F
	MOVLW	0x00
	ADDWFC	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVLW	0x00
	ADDWFC	r0x0e, F
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	257; src/display.c	printChar(1,buff);
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	255; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x08, F
	BRA	_01368_DS_
_01371_DS_:
;	.line	259; src/display.c	setCursor(0,0, line*3+3);
	MOVLW	0x03
	ADDWF	r0x06, W
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	260; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x08
_01372_DS_:
	MOVLW	0x0a
	SUBWF	r0x08, W
	BTFSC	STATUS, 0
	BRA	_01375_DS_
;	.line	261; src/display.c	buff=readBank(addr+line*MODUL_MENU_ENTRY+disp);
	MOVFF	r0x08, r0x09
	CLRF	r0x0a
	MOVFF	r0x02, r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x0a, 7
	MOVLW	0xff
	MOVWF	r0x0f
	MOVWF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVFF	r0x00, r0x09
	MOVFF	r0x01, r0x0a
	CLRF	r0x0f
	CLRF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	262; src/display.c	printChar(0,buff);
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	260; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x08, F
	BRA	_01372_DS_
_01375_DS_:
;	.line	264; src/display.c	setCursor(0,0, line*3+4);
	MOVLW	0x04
	ADDWF	r0x07, W
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	265; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x08
_01376_DS_:
	MOVLW	0x0a
	SUBWF	r0x08, W
	BTFSC	STATUS, 0
	BRA	_01382_DS_
;	.line	266; src/display.c	buff=readBank(addr+line*MODUL_MENU_ENTRY+disp+10);
	MOVFF	r0x08, r0x09
	CLRF	r0x0a
	MOVFF	r0x02, r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	CLRF	WREG
	BTFSC	r0x0a, 7
	MOVLW	0xff
	MOVWF	r0x0f
	MOVWF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVFF	r0x00, r0x09
	MOVFF	r0x01, r0x0a
	CLRF	r0x0f
	CLRF	r0x10
	MOVF	r0x09, W
	ADDWF	r0x0b, F
	MOVF	r0x0a, W
	ADDWFC	r0x0c, F
	MOVF	r0x0f, W
	ADDWFC	r0x0d, F
	MOVF	r0x10, W
	ADDWFC	r0x0e, F
	MOVLW	0x0a
	ADDWF	r0x0b, F
	MOVLW	0x00
	ADDWFC	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVLW	0x00
	ADDWFC	r0x0e, F
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	267; src/display.c	printChar(0,buff);
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	265; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x08, F
	BRA	_01376_DS_
_01382_DS_:
;	.line	248; src/display.c	for(line=0;line<8;line++) {
	MOVLW	0x03
	ADDWF	r0x03, F
	MOVLW	0x03
	ADDWF	r0x04, F
	MOVLW	0x03
	ADDWF	r0x06, F
	MOVLW	0x03
	ADDWF	r0x07, F
	INCF	r0x02, F
	BRA	_01380_DS_
_01384_DS_:
	MOVFF	PREINC1, r0x13
	MOVFF	PREINC1, r0x12
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__displayDevice	code
_displayDevice:
;	.line	141; src/display.c	void displayDevice()  {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
;	.line	146; src/display.c	clearLCD(0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	147; src/display.c	setCursor(0,12,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	148; src/display.c	printString(0,"MIDIbox");
	MOVLW	UPPER(__str_15)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_15)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_15)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	149; src/display.c	setCursor(0,2,28);
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVLW	0x02
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	150; src/display.c	printString(0,"University");
	MOVLW	UPPER(__str_16)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_16)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_16)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	151; src/display.c	setCursor(0,12,29);
	MOVLW	0x1d
	MOVWF	POSTDEC1
	MOVLW	0x0c
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	152; src/display.c	printString(0,"Ilmenau");
	MOVLW	UPPER(__str_17)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_17)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_17)
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	154; src/display.c	clearLCD(1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_clearLCD
	INCF	FSR1L, F
;	.line	155; src/display.c	setCursor(1,19,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x13
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	156; src/display.c	printString(1,"GLCD");
	MOVLW	UPPER(__str_18)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_18)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_18)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	157; src/display.c	setCursor(1,1,28);
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	158; src/display.c	printString(1,"TU-Ilmenau");
	MOVLW	UPPER(__str_19)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_19)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_19)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	159; src/display.c	setCursor(1,21,29);
	MOVLW	0x1d
	MOVWF	POSTDEC1
	MOVLW	0x15
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	160; src/display.c	printString(1,".de");
	MOVLW	UPPER(__str_20)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_20)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_20)
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printString
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	164; src/display.c	for(line=0;line<8;line++) {
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
_01294_DS_:
	MOVLW	0x08
	SUBWF	r0x00, W
	BTFSC	STATUS, 0
	BRA	_01298_DS_
;	.line	165; src/display.c	setCursor(1,0, line*3+3);
	MOVLW	0x03
	ADDWF	r0x01, W
	MOVWF	r0x05
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	166; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	CLRF	r0x08
_01278_DS_:
	MOVLW	0x00
	SUBWF	r0x08, W
	BNZ	_01316_DS_
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_01316_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_01316_DS_
	MOVLW	0x0a
	SUBWF	r0x05, W
_01316_DS_:
	BTFSC	STATUS, 0
	BRA	_01281_DS_
;	.line	167; src/display.c	buff=readBank(addr+(long)line*DEVICE_MENU_ENTRY+176+disp);
	MOVFF	r0x00, r0x09
	CLRF	r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x09
	MOVFF	PRODL, r0x0a
	MOVFF	PRODH, r0x0b
	MOVFF	FSR0L, r0x0c
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x05, W
	ADDWF	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVF	r0x07, W
	ADDWFC	r0x0b, F
	MOVF	r0x08, W
	ADDWFC	r0x0c, F
	MOVLW	0xb0
	ADDWF	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	ADDWFC	r0x0b, F
	MOVLW	0x00
	ADDWFC	r0x0c, F
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x09
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	168; src/display.c	printChar(1,buff);
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	166; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
	BRA	_01278_DS_
_01281_DS_:
;	.line	170; src/display.c	setCursor(1,0, line*3+4);
	MOVLW	0x04
	ADDWF	r0x02, W
	MOVWF	r0x05
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	171; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	CLRF	r0x08
_01282_DS_:
	MOVLW	0x00
	SUBWF	r0x08, W
	BNZ	_01317_DS_
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_01317_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_01317_DS_
	MOVLW	0x0a
	SUBWF	r0x05, W
_01317_DS_:
	BTFSC	STATUS, 0
	BRA	_01285_DS_
;	.line	172; src/display.c	buff=readBank(addr+(long)line*DEVICE_MENU_ENTRY+186+disp);
	MOVFF	r0x00, r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0a
	MOVFF	PRODL, r0x0b
	MOVFF	PRODH, r0x0c
	MOVFF	FSR0L, r0x0d
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x05, W
	ADDWF	r0x0a, F
	MOVF	r0x06, W
	ADDWFC	r0x0b, F
	MOVF	r0x07, W
	ADDWFC	r0x0c, F
	MOVF	r0x08, W
	ADDWFC	r0x0d, F
	MOVLW	0xba
	ADDWF	r0x0a, F
	MOVLW	0x00
	ADDWFC	r0x0b, F
	MOVLW	0x00
	ADDWFC	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x09
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	173; src/display.c	printChar(1,buff);
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	171; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
	BRA	_01282_DS_
_01285_DS_:
;	.line	175; src/display.c	setCursor(0,0, line*3+3);
	MOVLW	0x03
	ADDWF	r0x03, W
	MOVWF	r0x05
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	176; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	CLRF	r0x08
_01286_DS_:
	MOVLW	0x00
	SUBWF	r0x08, W
	BNZ	_01318_DS_
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_01318_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_01318_DS_
	MOVLW	0x0a
	SUBWF	r0x05, W
_01318_DS_:
	BTFSC	STATUS, 0
	BRA	_01289_DS_
;	.line	177; src/display.c	buff=readBank(addr+((long)line)*DEVICE_MENU_ENTRY+disp);
	MOVFF	r0x00, r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0a
	MOVFF	PRODL, r0x0b
	MOVFF	PRODH, r0x0c
	MOVFF	FSR0L, r0x0d
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x05, W
	ADDWF	r0x0a, F
	MOVF	r0x06, W
	ADDWFC	r0x0b, F
	MOVF	r0x07, W
	ADDWFC	r0x0c, F
	MOVF	r0x08, W
	ADDWFC	r0x0d, F
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x09
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	178; src/display.c	printChar(0,buff);
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	176; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
	BRA	_01286_DS_
_01289_DS_:
;	.line	180; src/display.c	setCursor(0,0, line*3+4);
	MOVLW	0x04
	ADDWF	r0x04, W
	MOVWF	r0x05
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	181; src/display.c	for(addr=0;addr<10;addr++)	{
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	CLRF	r0x08
_01290_DS_:
	MOVLW	0x00
	SUBWF	r0x08, W
	BNZ	_01319_DS_
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_01319_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_01319_DS_
	MOVLW	0x0a
	SUBWF	r0x05, W
_01319_DS_:
	BTFSC	STATUS, 0
	BRA	_01296_DS_
;	.line	182; src/display.c	buff=readBank(addr+((long)line)*DEVICE_MENU_ENTRY+10+disp);
	MOVFF	r0x00, r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0a
	MOVFF	PRODL, r0x0b
	MOVFF	PRODH, r0x0c
	MOVFF	FSR0L, r0x0d
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x05, W
	ADDWF	r0x0a, F
	MOVF	r0x06, W
	ADDWFC	r0x0b, F
	MOVF	r0x07, W
	ADDWFC	r0x0c, F
	MOVF	r0x08, W
	ADDWFC	r0x0d, F
	MOVLW	0x0a
	ADDWF	r0x0a, F
	MOVLW	0x00
	ADDWFC	r0x0b, F
	MOVLW	0x00
	ADDWFC	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x09
	MOVLW	0x04
	ADDWF	FSR1L, F
;	.line	183; src/display.c	printChar(0,buff);
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	181; src/display.c	for(addr=0;addr<10;addr++)	{
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
	BRA	_01290_DS_
_01296_DS_:
;	.line	164; src/display.c	for(line=0;line<8;line++) {
	MOVLW	0x03
	ADDWF	r0x01, F
	MOVLW	0x03
	ADDWF	r0x02, F
	MOVLW	0x03
	ADDWF	r0x03, F
	MOVLW	0x03
	ADDWF	r0x04, F
	INCF	r0x00, F
	BRA	_01294_DS_
_01298_DS_:
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__writeBar	code
_writeBar:
;	.line	23; src/display.c	void writeBar(unsigned char number) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVFF	r0x12, POSTDEC1
	MOVFF	r0x13, POSTDEC1
	MOVFF	r0x14, POSTDEC1
	MOVFF	r0x15, POSTDEC1
	MOVFF	r0x16, POSTDEC1
	MOVFF	r0x17, POSTDEC1
	MOVFF	r0x18, POSTDEC1
	MOVFF	r0x19, POSTDEC1
	MOVFF	r0x1a, POSTDEC1
	MOVFF	r0x1b, POSTDEC1
	MOVFF	r0x1c, POSTDEC1
	MOVFF	r0x1d, POSTDEC1
	MOVFF	r0x1e, POSTDEC1
	MOVFF	r0x1f, POSTDEC1
	MOVFF	r0x20, POSTDEC1
	MOVFF	r0x21, POSTDEC1
	MOVFF	r0x22, POSTDEC1
	MOVFF	r0x23, POSTDEC1
	MOVFF	r0x24, POSTDEC1
	MOVFF	r0x25, POSTDEC1
	MOVFF	r0x26, POSTDEC1
	MOVFF	r0x27, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
;	.line	37; src/display.c	display=number>7?1:0;
	MOVLW	0x08
	SUBWF	r0x00, W
	CLRF	r0x01
	RLCF	r0x01, F
	MOVF	r0x01, W
	BZ	_01169_DS_
	MOVLW	0x01
	MOVWF	r0x02
	BRA	_01170_DS_
_01169_DS_:
	CLRF	r0x02
_01170_DS_:
;	.line	38; src/display.c	line=number%8*3+4;
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x03
; ;multiply lit val:0x03 by variable r0x03 and store in r0x04
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x03
	MOVFF	PRODL, r0x04
	MOVLW	0x04
	ADDWF	r0x04, F
;	.line	41; src/display.c	bitmode=number>7?((parametersright[number%8].modeSelect)&0x02)>>1:((parametersleft[number].modeSelect)&0x02)>>1;
	MOVF	r0x01, W
	BZ	_01171_DS_
; ;multiply lit val:0x1c by variable r0x03 and store in r0x05
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x1c
	MOVFF	PRODL, r0x05
	MOVLW	LOW(_parametersright)
	ADDWF	r0x05, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x06
	ADDWFC	r0x06, F
	MOVLW	0x0b
	ADDWF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	MOVFF	r0x05, FSR0L
	MOVFF	r0x06, FSR0H
	MOVFF	INDF0, r0x05
	MOVLW	0x02
	ANDWF	r0x05, F
	BCF	STATUS, 0
	RRCF	r0x05, W
	MOVWF	r0x05
	BRA	_01172_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x06
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01171_DS_:
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x06
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x06, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x07
	ADDWFC	r0x07, F
	MOVLW	0x0b
	ADDWF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	MOVFF	r0x06, FSR0L
	MOVFF	r0x07, FSR0H
	MOVFF	INDF0, r0x06
	MOVLW	0x02
	ANDWF	r0x06, F
	BCF	STATUS, 0
	RRCF	r0x06, W
	MOVWF	r0x05
_01172_DS_:
;	.line	42; src/display.c	sswitchon=number>7?(((parametersright[number%8].edit)&0x2000)>>13):(((parametersleft[number].edit)&0x2000)>>13);
	MOVF	r0x01, W
	BZ	_01173_DS_
; ;multiply lit val:0x1c by variable r0x03 and store in r0x06
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x1c
	MOVFF	PRODL, r0x06
	MOVLW	LOW(_parametersright)
	ADDWF	r0x06, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x07
	ADDWFC	r0x07, F
	MOVLW	0x15
	ADDWF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	MOVFF	r0x06, FSR0L
	MOVFF	r0x07, FSR0H
	MOVFF	POSTINC0, r0x06
	MOVFF	INDF0, r0x07
	CLRF	r0x06
	MOVLW	0x20
	ANDWF	r0x07, F
	SWAPF	r0x07, W
	ANDLW	0x0e
	MOVWF	r0x06
	RRNCF	r0x06, F
	CLRF	r0x07
	BRA	_01174_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x08
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01173_DS_:
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x08
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x08, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x09
	ADDWFC	r0x09, F
	MOVLW	0x15
	ADDWF	r0x08, F
	BTFSC	STATUS, 0
	INCF	r0x09, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, FSR0H
	MOVFF	POSTINC0, r0x08
	MOVFF	INDF0, r0x09
	CLRF	r0x08
	MOVLW	0x20
	ANDWF	r0x09, F
	SWAPF	r0x09, W
	ANDLW	0x0e
	MOVWF	r0x06
	RRNCF	r0x06, F
	CLRF	r0x07
_01174_DS_:
;	.line	43; src/display.c	sswitch_addr=number>7?(parametersright[number%8].sswitch_addr):(parametersleft[number].sswitch_addr);
	MOVF	r0x01, W
	BZ	_01175_DS_
; ;multiply lit val:0x1c by variable r0x03 and store in r0x07
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x1c
	MOVFF	PRODL, r0x07
	MOVLW	LOW(_parametersright)
	ADDWF	r0x07, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x08
	ADDWFC	r0x08, F
	MOVLW	0x17
	ADDWF	r0x07, F
	BTFSC	STATUS, 0
	INCF	r0x08, F
	MOVFF	r0x07, FSR0L
	MOVFF	r0x08, FSR0H
	MOVFF	POSTINC0, r0x07
	MOVFF	INDF0, r0x08
	BRA	_01176_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x09
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01175_DS_:
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x09
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x09, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x0a
	ADDWFC	r0x0a, F
	MOVLW	0x17
	ADDWF	r0x09, F
	BTFSC	STATUS, 0
	INCF	r0x0a, F
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0a, FSR0H
	MOVFF	POSTINC0, r0x07
	MOVFF	INDF0, r0x08
_01176_DS_:
;	.line	44; src/display.c	scale=number>7?(parametersright[number%8].scale):(parametersleft[number].scale);
	MOVF	r0x01, W
	BZ	_01177_DS_
; ;multiply lit val:0x1c by variable r0x03 and store in r0x09
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x1c
	MOVFF	PRODL, r0x09
	MOVLW	LOW(_parametersright)
	ADDWF	r0x09, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x0a
	ADDWFC	r0x0a, F
	MOVLW	0x14
	ADDWF	r0x09, F
	BTFSC	STATUS, 0
	INCF	r0x0a, F
	MOVFF	r0x09, FSR0L
	MOVFF	r0x0a, FSR0H
	MOVFF	INDF0, r0x09
	BRA	_01178_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x0a
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01177_DS_:
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0a
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x0a, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x0b
	ADDWFC	r0x0b, F
	MOVLW	0x14
	ADDWF	r0x0a, F
	BTFSC	STATUS, 0
	INCF	r0x0b, F
	MOVFF	r0x0a, FSR0L
	MOVFF	r0x0b, FSR0H
	MOVFF	INDF0, r0x09
_01178_DS_:
	CLRF	r0x0a
;	.line	45; src/display.c	sign=number>7?((parametersright[number%8].modeSelect)&0x01):((parametersleft[number].modeSelect)&0x01);
	MOVF	r0x01, W
	BZ	_01179_DS_
; ;multiply lit val:0x1c by variable r0x03 and store in r0x0b
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0b
	MOVLW	LOW(_parametersright)
	ADDWF	r0x0b, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x0c
	ADDWFC	r0x0c, F
	MOVLW	0x0b
	ADDWF	r0x0b, F
	BTFSC	STATUS, 0
	INCF	r0x0c, F
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, FSR0H
	MOVFF	INDF0, r0x0b
	MOVLW	0x01
	ANDWF	r0x0b, F
	BRA	_01180_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x0c
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01179_DS_:
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0c
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x0c, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x0d
	ADDWFC	r0x0d, F
	MOVLW	0x0b
	ADDWF	r0x0c, F
	BTFSC	STATUS, 0
	INCF	r0x0d, F
	MOVFF	r0x0c, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	INDF0, r0x0c
	MOVLW	0x01
	ANDWF	r0x0c, W
	MOVWF	r0x0b
; ;multiply lit val:0x02 by variable r0x00 and store in r0x0c
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01180_DS_:
;	.line	47; src/display.c	v= potis[number];
	BCF	STATUS, 0
	RLCF	r0x00, W
	MOVWF	r0x0c
	MOVLW	LOW(_potis)
	ADDWF	r0x0c, F
	MOVLW	HIGH(_potis)
	CLRF	r0x0d
	ADDWFC	r0x0d, F
	MOVFF	r0x0c, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	POSTINC0, r0x0c
	MOVFF	INDF0, r0x0d
;	.line	50; src/display.c	if(bitmode==0) {										//7Bit
	MOVF	r0x05, W
	BTFSS	STATUS, 2
	GOTO	_01149_DS_
;	.line	51; src/display.c	min=number>7?(parametersright[number%8].valueMin[0]):(parametersleft[number].valueMin[0]);
	MOVF	r0x01, W
	BZ	_01181_DS_
; ;multiply lit val:0x1c by variable r0x03 and store in r0x0e
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0e
	MOVLW	LOW(_parametersright)
	ADDWF	r0x0e, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x0f
	ADDWFC	r0x0f, F
	MOVLW	0x0e
	ADDWF	r0x0e, F
	BTFSC	STATUS, 0
	INCF	r0x0f, F
	MOVFF	r0x0e, FSR0L
	MOVFF	r0x0f, FSR0H
	MOVFF	INDF0, r0x0e
	BRA	_01182_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x0f
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01181_DS_:
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x0f
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x0f, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x10
	ADDWFC	r0x10, F
	MOVLW	0x0e
	ADDWF	r0x0f, F
	BTFSC	STATUS, 0
	INCF	r0x10, F
	MOVFF	r0x0f, FSR0L
	MOVFF	r0x10, FSR0H
	MOVFF	INDF0, r0x0e
_01182_DS_:
	CLRF	r0x0f
;	.line	52; src/display.c	setCursor(display,line%2*54,line);					//on the right for every 2nd line
	MOVLW	0x01
	ANDWF	r0x04, W
	MOVWF	r0x10
; ;multiply lit val:0x36 by variable r0x10 and store in r0x11
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x10, W
	MULLW	0x36
	MOVFF	PRODL, r0x11
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x11, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	53; src/display.c	if (v==0)
	MOVF	r0x0c, W
	IORWF	r0x0d, W
	BNZ	_01119_DS_
;	.line	54; src/display.c	printChar(display,' ');							//no bar when value==0
	MOVLW	0x20
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
	BRA	_01120_DS_
_01119_DS_:
;	.line	55; src/display.c	else printChar(display,(char)(v)/16);
	MOVF	r0x0c, W
	MOVWF	r0x11
	MOVLW	0x10
	MOVWF	POSTDEC1
	MOVF	r0x11, W
	BTFSC	r0x11, 7
	NEGF	WREG
	MOVWF	POSTDEC1
	CALL	__divuchar
	BTFSC	r0x11, 7
	NEGF	WREG
	MOVWF	r0x11
	MOVF	PREINC1, W
	MOVF	PREINC1, W
	MOVF	r0x11, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
_01120_DS_:
;	.line	58; src/display.c	if (sswitchon==1) {									//Text-Switches used?
	MOVF	r0x06, W
	XORLW	0x01
	BZ	_01252_DS_
	BRA	_01130_DS_
; ;multiply lit val:0x0c by variable r0x10 and store in r0x11
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01252_DS_:
;	.line	59; src/display.c	setCursor(display,line%2*12+6,line);
	MOVF	r0x10, W
	MULLW	0x0c
	MOVFF	PRODL, r0x11
	MOVLW	0x06
	ADDWF	r0x11, F
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x11, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	60; src/display.c	x=BASE_DYNMEM+DYNBLOCK_LENGTH*device+(unsigned long)(sswitch_addr);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x11
	MOVFF	PRODL, r0x12
	MOVFF	PRODH, r0x13
	MOVFF	FSR0L, r0x14
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x08
	ADDWF	r0x13, F
	MOVLW	0x00
	ADDWFC	r0x14, F
	MOVFF	r0x07, r0x15
	MOVFF	r0x08, r0x16
	CLRF	r0x17
	CLRF	r0x18
	MOVF	r0x15, W
	ADDWF	r0x11, F
	MOVF	r0x16, W
	ADDWFC	r0x12, F
	MOVF	r0x17, W
	ADDWFC	r0x13, F
	MOVF	r0x18, W
	ADDWFC	r0x14, F
;	.line	61; src/display.c	for (i=0;i<6;i++)
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x15
	RLCF	r0x15, F
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x7f
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x16
	MOVFF	PRODL, r0x17
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0c, W
	ANDWF	r0x16, F
	MOVF	r0x0d, W
	ANDWF	r0x17, F
	MOVLW	0x7f
	ANDWF	r0x0c, W
	MOVWF	r0x18
	CLRF	r0x19
	CLRF	r0x1a
	CLRF	r0x1b
	CLRF	r0x1c
	CLRF	r0x1d
_01151_DS_:
	MOVLW	0x00
	SUBWF	r0x1d, W
	BNZ	_01255_DS_
	MOVLW	0x00
	SUBWF	r0x1c, W
	BNZ	_01255_DS_
	MOVLW	0x00
	SUBWF	r0x1b, W
	BNZ	_01255_DS_
	MOVLW	0x06
	SUBWF	r0x1a, W
_01255_DS_:
	BTFSC	STATUS, 0
	BRA	_01154_DS_
;	.line	63; src/display.c	printBuff[i]=readBank(x+i+(scale==0? ((v&0x7F)*stepwidth/0x7F):(v&0x7F/scale)) *6);
	MOVLW	LOW(_writeBar_printBuff_1_1)
	ADDWF	r0x1a, W
	MOVWF	r0x1e
	MOVLW	HIGH(_writeBar_printBuff_1_1)
	ADDWFC	r0x1b, W
	MOVWF	r0x1f
	MOVF	r0x1a, W
	ADDWF	r0x11, W
	MOVWF	r0x20
	MOVF	r0x1b, W
	ADDWFC	r0x12, W
	MOVWF	r0x21
	MOVF	r0x1c, W
	ADDWFC	r0x13, W
	MOVWF	r0x22
	MOVF	r0x1d, W
	ADDWFC	r0x14, W
	MOVWF	r0x23
	MOVF	r0x15, W
	BZ	_01183_DS_
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x19, W
	MOVWF	POSTDEC1
	MOVF	r0x18, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x24
	MOVFF	PRODL, r0x25
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x7f
	MOVWF	POSTDEC1
	MOVF	r0x25, W
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x24
	MOVFF	PRODL, r0x25
	MOVLW	0x04
	ADDWF	FSR1L, F
	BRA	_01184_DS_
_01183_DS_:
	MOVFF	r0x16, r0x24
	MOVFF	r0x17, r0x25
_01184_DS_:
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x06
	MOVWF	POSTDEC1
	MOVF	r0x25, W
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x24
	MOVFF	PRODL, r0x25
	MOVLW	0x04
	ADDWF	FSR1L, F
	CLRF	r0x26
	CLRF	r0x27
	MOVF	r0x24, W
	ADDWF	r0x20, F
	MOVF	r0x25, W
	ADDWFC	r0x21, F
	MOVF	r0x26, W
	ADDWFC	r0x22, F
	MOVF	r0x27, W
	ADDWFC	r0x23, F
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	MOVF	r0x21, W
	MOVWF	POSTDEC1
	MOVF	r0x20, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x20
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x1e, FSR0L
	MOVFF	r0x1f, FSR0H
	MOVFF	r0x20, INDF0
;	.line	61; src/display.c	for (i=0;i<6;i++)
	INCF	r0x1a, F
	BTFSC	STATUS, 0
	INCF	r0x1b, F
	BTFSC	STATUS, 0
	INCF	r0x1c, F
	BTFSC	STATUS, 0
	INCF	r0x1d, F
	BRA	_01151_DS_
_01154_DS_:
;	.line	64; src/display.c	for (i=0;i<6;i++)
	CLRF	r0x15
	CLRF	r0x16
	CLRF	r0x17
	CLRF	r0x18
_01155_DS_:
	MOVLW	0x00
	SUBWF	r0x18, W
	BNZ	_01256_DS_
	MOVLW	0x00
	SUBWF	r0x17, W
	BNZ	_01256_DS_
	MOVLW	0x00
	SUBWF	r0x16, W
	BNZ	_01256_DS_
	MOVLW	0x06
	SUBWF	r0x15, W
_01256_DS_:
	BTFSC	STATUS, 0
	GOTO	_01167_DS_
;	.line	65; src/display.c	printChar(display, printBuff[i]);
	MOVLW	LOW(_writeBar_printBuff_1_1)
	ADDWF	r0x15, W
	MOVWF	r0x19
	MOVLW	HIGH(_writeBar_printBuff_1_1)
	ADDWFC	r0x16, W
	MOVWF	r0x1a
	MOVFF	r0x19, FSR0L
	MOVFF	r0x1a, FSR0H
	MOVFF	INDF0, r0x19
	MOVF	r0x19, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	64; src/display.c	for (i=0;i<6;i++)
	INCF	r0x15, F
	BTFSC	STATUS, 0
	INCF	r0x16, F
	BTFSC	STATUS, 0
	INCF	r0x17, F
	BTFSC	STATUS, 0
	INCF	r0x18, F
	BRA	_01155_DS_
; ;multiply lit val:0x1e by variable r0x10 and store in r0x10
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01130_DS_:
;	.line	69; src/display.c	setCursor(display,line%2*30+6,line);
	MOVF	r0x10, W
	MULLW	0x1e
	MOVFF	PRODL, r0x10
	MOVLW	0x06
	ADDWF	r0x10, F
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	70; src/display.c	if (sign==1) {									//negative minimum
	MOVF	r0x0b, W
	XORLW	0x01
	BZ	_01258_DS_
	BRA	_01127_DS_
_01258_DS_:
;	.line	71; src/display.c	if((v-64)&0x8000) {							//negative value
	MOVLW	0xc0
	ADDWF	r0x0c, W
	MOVWF	r0x10
	MOVLW	0xff
	ADDWFC	r0x0d, W
	MOVWF	r0x15
	BTFSS	r0x15, 7
	BRA	_01122_DS_
;	.line	72; src/display.c	printChar(display,'-');
	MOVLW	0x2d
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	74; src/display.c	printBCD2(display, scale==0?(min+(~((v&0x7F)-65)*stepwidth/0x7F)):(~((v&0x7F)-65)));
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x10
	RLCF	r0x10, F
	MOVF	r0x10, W
	BZ	_01185_DS_
	MOVF	r0x0e, W
	MOVWF	r0x10
	MOVLW	0x7f
	ANDWF	r0x0c, W
	MOVWF	r0x15
	CLRF	r0x16
	MOVLW	0xbf
	ADDWF	r0x15, F
	BTFSS	STATUS, 0
	DECF	r0x16, F
	COMF	r0x15, F
	COMF	r0x16, F
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x16, W
	MOVWF	POSTDEC1
	MOVF	r0x15, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x15
	MOVFF	PRODL, r0x16
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x7f
	MOVWF	POSTDEC1
	MOVF	r0x16, W
	MOVWF	POSTDEC1
	MOVF	r0x15, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x15
	MOVFF	PRODL, r0x16
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x15, W
	ADDWF	r0x10, F
	BRA	_01186_DS_
_01185_DS_:
	MOVLW	0x7f
	ANDWF	r0x0c, W
	MOVWF	r0x15
	CLRF	r0x16
	MOVLW	0xbf
	ADDWF	r0x15, F
	COMF	r0x15, W
	MOVWF	r0x10
_01186_DS_:
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printBCD2
	MOVLW	0x02
	ADDWF	FSR1L, F
	GOTO	_01167_DS_
_01122_DS_:
;	.line	77; src/display.c	printChar(display,' ');
	MOVLW	0x20
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	79; src/display.c	printBCD2(display, scale==0?(min+(((v&0x7F)-64)*stepwidth/0x7F)):(v&0x7F)-64);
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x10
	RLCF	r0x10, F
	MOVF	r0x10, W
	BZ	_01187_DS_
	MOVF	r0x0e, W
	MOVWF	r0x10
	MOVLW	0x7f
	ANDWF	r0x0c, W
	MOVWF	r0x15
	CLRF	r0x16
	MOVLW	0xc0
	ADDWF	r0x15, F
	BTFSS	STATUS, 0
	DECF	r0x16, F
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x16, W
	MOVWF	POSTDEC1
	MOVF	r0x15, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x15
	MOVFF	PRODL, r0x16
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x7f
	MOVWF	POSTDEC1
	MOVF	r0x16, W
	MOVWF	POSTDEC1
	MOVF	r0x15, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x15
	MOVFF	PRODL, r0x16
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x15, W
	ADDWF	r0x10, F
	BRA	_01188_DS_
_01187_DS_:
	MOVLW	0x7f
	ANDWF	r0x0c, W
	MOVWF	r0x15
	CLRF	r0x16
	MOVLW	0xc0
	ADDWF	r0x15, W
	MOVWF	r0x10
_01188_DS_:
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printBCD2
	MOVLW	0x02
	ADDWF	FSR1L, F
	GOTO	_01167_DS_
_01127_DS_:
;	.line	83; src/display.c	if (sign==0) {									//positive minimum
	MOVF	r0x0b, W
	BTFSS	STATUS, 2
	GOTO	_01167_DS_
;	.line	85; src/display.c	printBCD3(display, scale==0?(min+((v&0x7F)*stepwidth/0x7F)):(v&0x7F));
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x10
	RLCF	r0x10, F
	MOVF	r0x10, W
	BZ	_01189_DS_
	MOVF	r0x0e, W
	MOVWF	r0x10
	MOVLW	0x7f
	ANDWF	r0x0c, W
	MOVWF	r0x15
	CLRF	r0x16
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x16, W
	MOVWF	POSTDEC1
	MOVF	r0x15, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x15
	MOVFF	PRODL, r0x16
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x7f
	MOVWF	POSTDEC1
	MOVF	r0x16, W
	MOVWF	POSTDEC1
	MOVF	r0x15, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x15
	MOVFF	PRODL, r0x16
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x15, W
	ADDWF	r0x10, F
	CLRF	r0x15
	BRA	_01190_DS_
_01189_DS_:
	MOVLW	0x7f
	ANDWF	r0x0c, W
	MOVWF	r0x10
	CLRF	r0x15
_01190_DS_:
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printBCD3
	MOVLW	0x02
	ADDWF	FSR1L, F
	GOTO	_01167_DS_
_01149_DS_:
;	.line	91; src/display.c	if(bitmode==1) {										//14Bit
	MOVF	r0x05, W
	XORLW	0x01
	BZ	_01266_DS_
	GOTO	_01167_DS_
_01266_DS_:
;	.line	92; src/display.c	min=number>7?(parametersright[number%8].valueMin[0]<<7|parametersright[number%8].valueMin[1]):(parametersleft[number].valueMin[0]<<7|parametersleft[number].valueMin[1]);
	MOVF	r0x01, W
	BZ	_01191_DS_
; ;multiply lit val:0x1c by variable r0x03 and store in r0x03
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x03, W
	MULLW	0x1c
	MOVFF	PRODL, r0x03
	MOVLW	LOW(_parametersright)
	ADDWF	r0x03, F
	MOVLW	HIGH(_parametersright)
	CLRF	r0x01
	ADDWFC	r0x01, F
	MOVLW	0x0e
	ADDWF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x01, FSR0H
	MOVFF	INDF0, r0x05
	CLRF	r0x10
	RRCF	r0x10, W
	RRCF	r0x05, W
	MOVWF	r0x16
	CLRF	r0x15
	RRCF	r0x15, F
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	MOVFF	r0x03, FSR0L
	MOVFF	r0x01, FSR0H
	MOVFF	INDF0, r0x03
	CLRF	r0x01
	MOVF	r0x15, W
	IORWF	r0x03, F
	MOVF	r0x16, W
	IORWF	r0x01, F
	BRA	_01192_DS_
; ;multiply lit val:0x1c by variable r0x00 and store in r0x00
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01191_DS_:
	MOVF	r0x00, W
	MULLW	0x1c
	MOVFF	PRODL, r0x00
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x00, F
	MOVLW	HIGH(_parametersleft)
	CLRF	r0x05
	ADDWFC	r0x05, F
	MOVLW	0x0e
	ADDWF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	MOVFF	r0x00, FSR0L
	MOVFF	r0x05, FSR0H
	MOVFF	INDF0, r0x10
	CLRF	r0x15
	RRCF	r0x15, W
	RRCF	r0x10, W
	MOVWF	r0x17
	CLRF	r0x16
	RRCF	r0x16, F
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	MOVFF	r0x00, FSR0L
	MOVFF	r0x05, FSR0H
	MOVFF	INDF0, r0x00
	CLRF	r0x05
	MOVF	r0x00, W
	IORWF	r0x16, W
	MOVWF	r0x03
	MOVF	r0x05, W
	IORWF	r0x17, W
	MOVWF	r0x01
_01192_DS_:
	MOVFF	r0x03, r0x0e
	MOVFF	r0x01, r0x0f
;	.line	94; src/display.c	setCursor(display,line%2*54,line);					//on the right for every 2nd line
	MOVLW	0x01
	ANDWF	r0x04, W
	MOVWF	r0x00
; ;multiply lit val:0x36 by variable r0x00 and store in r0x01
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x00, W
	MULLW	0x36
	MOVFF	PRODL, r0x01
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	95; src/display.c	if (v==0)
	MOVF	r0x0c, W
	IORWF	r0x0d, W
	BNZ	_01133_DS_
;	.line	96; src/display.c	printChar(display,' ');							//no bar when value==0
	MOVLW	0x20
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
	BRA	_01134_DS_
_01133_DS_:
;	.line	97; src/display.c	else printChar(display,v/2048);
	MOVLW	0x08
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x01
	MOVFF	PRODL, r0x03
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
_01134_DS_:
;	.line	99; src/display.c	if (sswitchon==1) {									//Text-Switches used?
	MOVF	r0x06, W
	XORLW	0x01
	BZ	_01269_DS_
	BRA	_01144_DS_
; ;multiply lit val:0x0c by variable r0x00 and store in r0x01
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01269_DS_:
;	.line	100; src/display.c	setCursor(display,line%2*12+6,line);
	MOVF	r0x00, W
	MULLW	0x0c
	MOVFF	PRODL, r0x01
	MOVLW	0x06
	ADDWF	r0x01, F
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	101; src/display.c	x=BASE_DYNMEM+DYNBLOCK_LENGTH*device+(unsigned long)(sswitch_addr);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x01
	MOVFF	PRODL, r0x03
	MOVFF	PRODH, r0x05
	MOVFF	FSR0L, r0x06
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x08
	ADDWF	r0x05, F
	MOVLW	0x00
	ADDWFC	r0x06, F
	CLRF	r0x10
	CLRF	r0x15
	MOVF	r0x07, W
	ADDWF	r0x01, W
	MOVWF	r0x11
	MOVF	r0x08, W
	ADDWFC	r0x03, W
	MOVWF	r0x12
	MOVF	r0x10, W
	ADDWFC	r0x05, W
	MOVWF	r0x13
	MOVF	r0x15, W
	ADDWFC	r0x06, W
	MOVWF	r0x14
;	.line	102; src/display.c	for (i=0;i<6;i++)
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x01
	RLCF	r0x01, F
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	__divsint
	MOVWF	r0x03
	MOVFF	PRODL, r0x05
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x0c, r0x06
	MOVFF	r0x0d, r0x07
	CLRF	r0x08
	CLRF	r0x10
	CLRF	r0x15
	CLRF	r0x16
_01159_DS_:
	MOVLW	0x00
	SUBWF	r0x16, W
	BNZ	_01270_DS_
	MOVLW	0x00
	SUBWF	r0x15, W
	BNZ	_01270_DS_
	MOVLW	0x00
	SUBWF	r0x10, W
	BNZ	_01270_DS_
	MOVLW	0x06
	SUBWF	r0x08, W
_01270_DS_:
	BTFSC	STATUS, 0
	BRA	_01162_DS_
;	.line	104; src/display.c	printBuff[i]=readBank(x+i+((scale==0?(v*stepwidth/0x3FFF):(v/scale))*6));
	MOVLW	LOW(_writeBar_printBuff_1_1)
	ADDWF	r0x08, W
	MOVWF	r0x17
	MOVLW	HIGH(_writeBar_printBuff_1_1)
	ADDWFC	r0x10, W
	MOVWF	r0x18
	MOVF	r0x08, W
	ADDWF	r0x11, W
	MOVWF	r0x19
	MOVF	r0x10, W
	ADDWFC	r0x12, W
	MOVWF	r0x1a
	MOVF	r0x15, W
	ADDWFC	r0x13, W
	MOVWF	r0x1b
	MOVF	r0x16, W
	ADDWFC	r0x14, W
	MOVWF	r0x1c
	MOVF	r0x01, W
	BZ	_01193_DS_
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x1d
	MOVFF	PRODL, r0x1e
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x3f
	MOVWF	POSTDEC1
	MOVLW	0xff
	MOVWF	POSTDEC1
	MOVF	r0x1e, W
	MOVWF	POSTDEC1
	MOVF	r0x1d, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x1d
	MOVFF	PRODL, r0x1e
	MOVLW	0x04
	ADDWF	FSR1L, F
	BRA	_01194_DS_
_01193_DS_:
	MOVFF	r0x03, r0x1d
	MOVFF	r0x05, r0x1e
_01194_DS_:
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x06
	MOVWF	POSTDEC1
	MOVF	r0x1e, W
	MOVWF	POSTDEC1
	MOVF	r0x1d, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x1d
	MOVFF	PRODL, r0x1e
	MOVLW	0x04
	ADDWF	FSR1L, F
	CLRF	r0x1f
	CLRF	r0x20
	MOVF	r0x1d, W
	ADDWF	r0x19, F
	MOVF	r0x1e, W
	ADDWFC	r0x1a, F
	MOVF	r0x1f, W
	ADDWFC	r0x1b, F
	MOVF	r0x20, W
	ADDWFC	r0x1c, F
	MOVF	r0x1c, W
	MOVWF	POSTDEC1
	MOVF	r0x1b, W
	MOVWF	POSTDEC1
	MOVF	r0x1a, W
	MOVWF	POSTDEC1
	MOVF	r0x19, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x19
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x17, FSR0L
	MOVFF	r0x18, FSR0H
	MOVFF	r0x19, INDF0
;	.line	102; src/display.c	for (i=0;i<6;i++)
	INCF	r0x08, F
	BTFSC	STATUS, 0
	INCF	r0x10, F
	BTFSC	STATUS, 0
	INCF	r0x15, F
	BTFSC	STATUS, 0
	INCF	r0x16, F
	BRA	_01159_DS_
_01162_DS_:
;	.line	106; src/display.c	for (i=0;i<6;i++)
	CLRF	r0x01
	CLRF	r0x03
	CLRF	r0x05
	CLRF	r0x06
_01163_DS_:
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_01271_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_01271_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_01271_DS_
	MOVLW	0x06
	SUBWF	r0x01, W
_01271_DS_:
	BTFSC	STATUS, 0
	BRA	_01167_DS_
;	.line	107; src/display.c	printChar(display, printBuff[i]);
	MOVLW	LOW(_writeBar_printBuff_1_1)
	ADDWF	r0x01, W
	MOVWF	r0x07
	MOVLW	HIGH(_writeBar_printBuff_1_1)
	ADDWFC	r0x03, W
	MOVWF	r0x08
	MOVFF	r0x07, FSR0L
	MOVFF	r0x08, FSR0H
	MOVFF	INDF0, r0x07
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	106; src/display.c	for (i=0;i<6;i++)
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BRA	_01163_DS_
; ;multiply lit val:0x12 by variable r0x00 and store in r0x00
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
_01144_DS_:
;	.line	111; src/display.c	setCursor(display,line%2*18+6,line);
	MOVF	r0x00, W
	MULLW	0x12
	MOVFF	PRODL, r0x00
	MOVLW	0x06
	ADDWF	r0x00, F
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_setCursor
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	112; src/display.c	if (sign==1) {									//negative minimum
	MOVF	r0x0b, W
	XORLW	0x01
	BZ	_01273_DS_
	BRA	_01141_DS_
_01273_DS_:
;	.line	113; src/display.c	if((v-8192)&0x8000) {				//negative value
	MOVF	r0x0c, W
	MOVWF	r0x00
	MOVLW	0xe0
	ADDWF	r0x0d, W
	MOVWF	r0x01
	BTFSS	r0x01, 7
	BRA	_01136_DS_
;	.line	114; src/display.c	printChar(display,'-');
	MOVLW	0x2d
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	116; src/display.c	printBCD4(display, scale==0?(min+(~((v)-8193)*stepwidth/0x3FFF)):(~((v)-8193)));
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x03
	RLCF	r0x03, F
	MOVF	r0x03, W
	BZ	_01195_DS_
	MOVLW	0xff
	ADDWF	r0x0c, W
	MOVWF	r0x03
	MOVLW	0xdf
	ADDWFC	r0x0d, W
	MOVWF	r0x04
	COMF	r0x03, F
	COMF	r0x04, F
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x03
	MOVFF	PRODL, r0x04
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x3f
	MOVWF	POSTDEC1
	MOVLW	0xff
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x03
	MOVFF	PRODL, r0x04
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0e, W
	ADDWF	r0x03, F
	MOVF	r0x0f, W
	ADDWFC	r0x04, F
	BRA	_01196_DS_
_01195_DS_:
	MOVLW	0xff
	ADDWF	r0x0c, W
	MOVWF	r0x05
	MOVLW	0xdf
	ADDWFC	r0x0d, W
	MOVWF	r0x06
	COMF	r0x05, W
	MOVWF	r0x03
	COMF	r0x06, W
	MOVWF	r0x04
_01196_DS_:
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printBCD4
	MOVLW	0x03
	ADDWF	FSR1L, F
	BRA	_01167_DS_
_01136_DS_:
;	.line	120; src/display.c	printChar(display,' ');
	MOVLW	0x20
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printChar
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	122; src/display.c	printBCD4(display, scale==0?(min+(((v)-8192)*stepwidth/0x3FFF)):(v)-8192);
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x03
	RLCF	r0x03, F
	MOVF	r0x03, W
	BZ	_01197_DS_
	MOVFF	r0x00, r0x03
	MOVFF	r0x01, r0x04
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x03
	MOVFF	PRODL, r0x04
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x3f
	MOVWF	POSTDEC1
	MOVLW	0xff
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x03
	MOVFF	PRODL, r0x04
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0e, W
	ADDWF	r0x03, F
	MOVF	r0x0f, W
	ADDWFC	r0x04, F
	BRA	_01198_DS_
_01197_DS_:
	MOVFF	r0x00, r0x03
	MOVFF	r0x01, r0x04
_01198_DS_:
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printBCD4
	MOVLW	0x03
	ADDWF	FSR1L, F
	BRA	_01167_DS_
_01141_DS_:
;	.line	127; src/display.c	if (sign==0) {							//positive minimum
	MOVF	r0x0b, W
	BTFSS	STATUS, 2
	BRA	_01167_DS_
;	.line	129; src/display.c	printBCD5(display, scale==0?(min+((v)*stepwidth/0x3FFF)):(v));
	MOVF	r0x09, W
	IORWF	r0x0a, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x09
	RLCF	r0x09, F
	MOVF	r0x09, W
	BZ	_01199_DS_
	MOVFF	r0x0c, r0x00
	MOVFF	r0x0d, r0x01
	BANKSEL	(_stepwidth + 1)
	MOVF	(_stepwidth + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_stepwidth, W, B
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVLW	0x3f
	MOVWF	POSTDEC1
	MOVLW	0xff
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	__divuint
	MOVWF	r0x00
	MOVFF	PRODL, r0x01
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0e, W
	ADDWF	r0x00, F
	MOVF	r0x0f, W
	ADDWFC	r0x01, F
	BRA	_01200_DS_
_01199_DS_:
	MOVFF	r0x0c, r0x00
	MOVFF	r0x0d, r0x01
_01200_DS_:
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	_printBCD5
	MOVLW	0x03
	ADDWF	FSR1L, F
_01167_DS_:
	MOVFF	PREINC1, r0x27
	MOVFF	PREINC1, r0x26
	MOVFF	PREINC1, r0x25
	MOVFF	PREINC1, r0x24
	MOVFF	PREINC1, r0x23
	MOVFF	PREINC1, r0x22
	MOVFF	PREINC1, r0x21
	MOVFF	PREINC1, r0x20
	MOVFF	PREINC1, r0x1f
	MOVFF	PREINC1, r0x1e
	MOVFF	PREINC1, r0x1d
	MOVFF	PREINC1, r0x1c
	MOVFF	PREINC1, r0x1b
	MOVFF	PREINC1, r0x1a
	MOVFF	PREINC1, r0x19
	MOVFF	PREINC1, r0x18
	MOVFF	PREINC1, r0x17
	MOVFF	PREINC1, r0x16
	MOVFF	PREINC1, r0x15
	MOVFF	PREINC1, r0x14
	MOVFF	PREINC1, r0x13
	MOVFF	PREINC1, r0x12
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__Timer	code
_Timer:
;	.line	9; src/timer.c	void Timer(void) __wparam
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	BANKSEL	_eb_request
;	.line	14; src/timer.c	if(eb_request.error) {								//blinking LEDs if edit buffer does not arrive
	BTFSS	_eb_request, 1, B
	BRA	_01064_DS_
	BANKSEL	_led_time
;	.line	15; src/timer.c	led_time++;
	INCF	_led_time, F, B
;	.line	16; src/timer.c	return;
	BRA	_01086_DS_
_01064_DS_:
;	.line	19; src/timer.c	if (get_userdata>1) {								//circling LEDs if the MIDIbox is written to by the software
	MOVLW	0x02
	BANKSEL	_get_userdata
	SUBWF	_get_userdata, W, B
	BNC	_01066_DS_
	BANKSEL	_led_time
;	.line	20; src/timer.c	led_time++;
	INCF	_led_time, F, B
;	.line	21; src/timer.c	return;
	BRA	_01086_DS_
_01066_DS_:
;	.line	30; src/timer.c	if (send_editbuffer>1) {
	MOVLW	0x02
	BANKSEL	_send_editbuffer
	SUBWF	_send_editbuffer, W, B
	BNC	_01068_DS_
; removed redundant BANKSEL
;	.line	31; src/timer.c	send_editbuffer--;
	DECF	_send_editbuffer, F, B
_01068_DS_:
	BANKSEL	_eb_request
;	.line	41; src/timer.c	if(eb_request.active) {
	BTFSS	_eb_request, 0, B
	BRA	_01086_DS_
;	.line	42; src/timer.c	if(((eb_request.dump.typ>>6)&0x01)==1) {
	MOVFF	(_eb_request + 8), r0x00
	RLNCF	r0x00, W
	ANDLW	0x81
	MOVWF	r0x01
	RLNCF	r0x01, F
	MOVLW	0x01
	ANDWF	r0x01, F
	MOVF	r0x01, W
	XORLW	0x01
	BNZ	_01078_DS_
;	.line	43; src/timer.c	if(eb_request.timer>=(((eb_request.dump.typ>>2)&0x0F))) {
	MOVFF	(_eb_request + 4), r0x02
	MOVFF	(_eb_request + 5), r0x03
	BCF	STATUS, 0
	RRCF	r0x00, W
	MOVWF	r0x04
	BCF	STATUS, 0
	RRCF	r0x04, F
	MOVLW	0x0f
	ANDWF	r0x04, F
	CLRF	r0x05
	MOVF	r0x05, W
	SUBWF	r0x03, W
	BNZ	_01108_DS_
	MOVF	r0x04, W
	SUBWF	r0x02, W
_01108_DS_:
	BNC	_01070_DS_
;	.line	44; src/timer.c	requestNextDump();
	CALL	_requestNextDump
	BRA	_01086_DS_
_01070_DS_:
;	.line	46; src/timer.c	eb_request.timer++;
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	MOVF	r0x02, W
	BANKSEL	(_eb_request + 4)
	MOVWF	(_eb_request + 4), B
	MOVF	r0x03, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 5), B
	BRA	_01086_DS_
_01078_DS_:
;	.line	47; src/timer.c	} else if(((eb_request.dump.typ>>6)&0x01)==0) {
	MOVF	r0x01, W
	BTFSS	STATUS, 2
	BRA	_01086_DS_
;	.line	48; src/timer.c	if(eb_request.timer>(((eb_request.dump.typ>>2)&0x0F)*50)) {
	MOVFF	(_eb_request + 4), r0x01
	MOVFF	(_eb_request + 5), r0x02
	BCF	STATUS, 0
	RRCF	r0x00, W
	MOVWF	r0x00
	BCF	STATUS, 0
	RRCF	r0x00, F
	MOVLW	0x0f
	ANDWF	r0x00, F
; ;multiply lit val:0x32 by variable r0x00 and store in r0x00
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x00, W
	MULLW	0x32
	MOVFF	PRODL, r0x00
	MOVFF	PRODH, r0x03
	MOVF	r0x02, W
	SUBWF	r0x03, W
	BNZ	_01110_DS_
	MOVF	r0x01, W
	SUBWF	r0x00, W
_01110_DS_:
	BC	_01073_DS_
	BANKSEL	_eb_request
;	.line	49; src/timer.c	eb_request.error=1;
	BSF	_eb_request, 1, B
;	.line	50; src/timer.c	update=0x08;
	MOVLW	0x08
	BANKSEL	_update
	MOVWF	_update, B
	BANKSEL	_eb_request
;	.line	51; src/timer.c	eb_request.active=0;
	BCF	_eb_request, 0, B
;	.line	52; src/timer.c	modus=MOD_MODUL;
	MOVLW	0x01
	BANKSEL	_modus
	MOVWF	_modus, B
;	.line	53; src/timer.c	for(i=0;i<4;i++)
	CLRF	r0x00
_01082_DS_:
	MOVLW	0x04
	SUBWF	r0x00, W
	BC	_01086_DS_
;	.line	54; src/timer.c	MIOS_DOUT_PinSet(i,bank==i?1:0);
	MOVFF	r0x00, r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	BANKSEL	_bank
	MOVF	_bank, W, B
	XORWF	r0x03, W
	BNZ	_01112_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	XORWF	r0x04, W
	BNZ	_01112_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	XORWF	r0x05, W
	BNZ	_01112_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 3), W, B
	XORWF	r0x06, W
	BZ	_01113_DS_
_01112_DS_:
	BRA	_01088_DS_
_01113_DS_:
	MOVLW	0x01
	MOVWF	r0x03
	BRA	_01089_DS_
_01088_DS_:
	CLRF	r0x03
_01089_DS_:
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	53; src/timer.c	for(i=0;i<4;i++)
	INCF	r0x00, F
	BRA	_01082_DS_
_01073_DS_:
;	.line	57; src/timer.c	eb_request.timer++;
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	MOVF	r0x01, W
	BANKSEL	(_eb_request + 4)
	MOVWF	(_eb_request + 4), B
	MOVF	r0x02, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 5), B
_01086_DS_:
;	.line	60; src/timer.c	return;
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__AIN_NotifyChange	code
_AIN_NotifyChange:
;	.line	983; src/general.c	void AIN_NotifyChange(unsigned char pin, unsigned int pin_value) __wparam
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
;	.line	985; src/general.c	}
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__SR_Service_Finish	code
_SR_Service_Finish:
;	.line	978; src/general.c	}
	RETURN	

; ; Starting pCode block
S_main__SR_Service_Prepare	code
_SR_Service_Prepare:
;	.line	971; src/general.c	}
	RETURN	

; ; Starting pCode block
S_main__MPROC_NotifyTimeout	code
_MPROC_NotifyTimeout:
;	.line	963; src/general.c	}
	RETURN	

; ; Starting pCode block
S_main__MPROC_NotifyFoundEvent	code
_MPROC_NotifyFoundEvent:
;	.line	953; src/general.c	void MPROC_NotifyFoundEvent(unsigned entry, unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
;	.line	955; src/general.c	}
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__MPROC_NotifyReceivedEvnt	code
_MPROC_NotifyReceivedEvnt:
;	.line	945; src/general.c	void MPROC_NotifyReceivedEvnt(unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
;	.line	947; src/general.c	}
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__Tick	code
_Tick:
;	.line	880; src/general.c	void Tick(void) __wparam
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
;	.line	888; src/general.c	init_testbox_cont();
	CALL	_init_testbox_cont
	BANKSEL	_eb_request
;	.line	891; src/general.c	if(eb_request.error) {
	BTFSS	_eb_request, 1, B
	BRA	_00961_DS_
;	.line	894; src/general.c	i=led_time/50;
	MOVLW	0x32
	MOVWF	POSTDEC1
	MOVFF	_led_time, POSTDEC1
	CALL	__divuchar
	MOVWF	r0x00
	MOVF	PREINC1, W
	MOVF	PREINC1, W
;	.line	895; src/general.c	MIOS_DOUT_PinSet(0,i==1?1:0);
	MOVF	r0x00, W
	XORLW	0x01
	BNZ	_00979_DS_
	MOVLW	0x01
	MOVWF	r0x01
	BRA	_00980_DS_
_00979_DS_:
	CLRF	r0x01
_00980_DS_:
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	896; src/general.c	MIOS_DOUT_PinSet(1,i==1?1:0);
	CLRF	r0x01
	MOVF	r0x00, W
	XORLW	0x01
	BNZ	_01019_DS_
	INCF	r0x01, F
_01019_DS_:
	MOVF	r0x01, W
	BZ	_00981_DS_
	MOVLW	0x01
	MOVWF	r0x02
	BRA	_00982_DS_
_00981_DS_:
	CLRF	r0x02
_00982_DS_:
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	897; src/general.c	MIOS_DOUT_PinSet(3,i==1?1:0);
	MOVF	r0x01, W
	BZ	_00983_DS_
	MOVLW	0x01
	MOVWF	r0x02
	BRA	_00984_DS_
_00983_DS_:
	CLRF	r0x02
_00984_DS_:
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVLW	0x03
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	898; src/general.c	MIOS_DOUT_PinSet(2,i==1?1:0);
	MOVF	r0x01, W
	BZ	_00985_DS_
	MOVLW	0x01
	MOVWF	r0x01
	BRA	_00986_DS_
_00985_DS_:
	CLRF	r0x01
_00986_DS_:
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVLW	0x02
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	899; src/general.c	if (led_time>99)
	MOVLW	0x64
	BANKSEL	_led_time
	SUBWF	_led_time, W, B
	BNC	_00959_DS_
; removed redundant BANKSEL
;	.line	900; src/general.c	led_time=0;
	CLRF	_led_time, B
_00959_DS_:
;	.line	902; src/general.c	return;
	BRA	_00977_DS_
_00961_DS_:
	BANKSEL	_get_userdata
;	.line	907; src/general.c	if (get_userdata) {
	MOVF	_get_userdata, W, B
	BTFSC	STATUS, 2
	BRA	_00970_DS_
; removed redundant BANKSEL
;	.line	908; src/general.c	if (get_userdata==0x01){
	MOVF	_get_userdata, W, B
	XORLW	0x01
	BNZ	_00966_DS_
_01022_DS_:
	BANKSEL	_eb_request
;	.line	909; src/general.c	if (!(eb_request.active))
	BTFSC	_eb_request, 0, B
	BRA	_01008_DS_
;	.line	910; src/general.c	initDeviceModus();
	CALL	_initDeviceModus
	BRA	_00964_DS_
_01008_DS_:
;	.line	912; src/general.c	for(i=0;i<4;i++)
	CLRF	r0x01
_00973_DS_:
	MOVLW	0x04
	SUBWF	r0x01, W
	BC	_00964_DS_
;	.line	913; src/general.c	MIOS_DOUT_PinSet(i,bank==i?1:0);
	MOVFF	r0x01, r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	BANKSEL	_bank
	MOVF	_bank, W, B
	XORWF	r0x02, W
	BNZ	_01024_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	XORWF	r0x03, W
	BNZ	_01024_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	XORWF	r0x04, W
	BNZ	_01024_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 3), W, B
	XORWF	r0x05, W
	BZ	_01025_DS_
_01024_DS_:
	BRA	_00987_DS_
_01025_DS_:
	MOVLW	0x01
	MOVWF	r0x02
	BRA	_00988_DS_
_00987_DS_:
	CLRF	r0x02
_00988_DS_:
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	912; src/general.c	for(i=0;i<4;i++)
	INCF	r0x01, F
	BRA	_00973_DS_
_00964_DS_:
	BANKSEL	_get_userdata
;	.line	916; src/general.c	get_userdata=0x00;
	CLRF	_get_userdata, B
;	.line	918; src/general.c	return;
	BRA	_00977_DS_
_00966_DS_:
;	.line	920; src/general.c	i=led_time/50;
	MOVLW	0x32
	MOVWF	POSTDEC1
	MOVFF	_led_time, POSTDEC1
	CALL	__divuchar
	MOVWF	r0x00
	MOVF	PREINC1, W
	MOVF	PREINC1, W
;	.line	921; src/general.c	MIOS_DOUT_PinSet(0,i==0?1:0);
	MOVF	r0x00, W
	BSF	STATUS, 0
	TSTFSZ	WREG
	BCF	STATUS, 0
	CLRF	r0x01
	RLCF	r0x01, F
	MOVF	r0x01, W
	BZ	_00989_DS_
	MOVLW	0x01
	MOVWF	r0x01
	BRA	_00990_DS_
_00989_DS_:
	CLRF	r0x01
_00990_DS_:
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVLW	0x00
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	922; src/general.c	MIOS_DOUT_PinSet(1,i==1?1:0);
	MOVF	r0x00, W
	XORLW	0x01
	BNZ	_00991_DS_
	MOVLW	0x01
	MOVWF	r0x01
	BRA	_00992_DS_
_00991_DS_:
	CLRF	r0x01
_00992_DS_:
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVLW	0x01
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	923; src/general.c	MIOS_DOUT_PinSet(3,i==2?1:0);
	MOVF	r0x00, W
	XORLW	0x02
	BNZ	_00993_DS_
	MOVLW	0x01
	MOVWF	r0x01
	BRA	_00994_DS_
_00993_DS_:
	CLRF	r0x01
_00994_DS_:
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVLW	0x03
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	924; src/general.c	MIOS_DOUT_PinSet(2,i==3?1:0);
	MOVF	r0x00, W
	XORLW	0x03
	BNZ	_00995_DS_
	MOVLW	0x01
	MOVWF	r0x00
	BRA	_00996_DS_
_00995_DS_:
	CLRF	r0x00
_00996_DS_:
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	0x02
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	926; src/general.c	if (led_time>199) {
	MOVLW	0xc8
	BANKSEL	_led_time
	SUBWF	_led_time, W, B
	BNC	_00968_DS_
	BANKSEL	_get_userdata
;	.line	927; src/general.c	get_userdata--;
	DECF	_get_userdata, F, B
	BANKSEL	_led_time
;	.line	928; src/general.c	led_time=0;
	CLRF	_led_time, B
_00968_DS_:
;	.line	931; src/general.c	return;
	BRA	_00977_DS_
_00970_DS_:
	BANKSEL	_send_editbuffer
;	.line	934; src/general.c	if (send_editbuffer==0x01) {
	MOVF	_send_editbuffer, W, B
	XORLW	0x01
	BNZ	_00977_DS_
;	.line	935; src/general.c	sendEditBuffer();
	CALL	_sendEditBuffer
	BANKSEL	_send_editbuffer
;	.line	936; src/general.c	send_editbuffer=0x00;
	CLRF	_send_editbuffer, B
_00977_DS_:
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__init_testbox_cont	code
_init_testbox_cont:
;	.line	585; src/general.c	void init_testbox_cont() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	BANKSEL	_bankinitcount
;	.line	594; src/general.c	if (bankinitcount==0x00) {
	MOVF	_bankinitcount, W, B
; removed redundant BANKSEL
	IORWF	(_bankinitcount + 1), W, B
; removed redundant BANKSEL
	IORWF	(_bankinitcount + 2), W, B
; removed redundant BANKSEL
	IORWF	(_bankinitcount + 3), W, B
	BTFSS	STATUS, 2
	BRA	_00785_DS_
;	.line	596; src/general.c	buffer1="   MIDIbox  TESTDATA--";
	MOVLW	LOW(__str_0)
	MOVWF	r0x00
	MOVLW	HIGH(__str_0)
	MOVWF	r0x01
	MOVLW	UPPER(__str_0)
	MOVWF	r0x02
;	.line	597; src/general.c	for(k=0;k<22;k++) {
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
_00804_DS_:
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00921_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00921_DS_
	MOVLW	0x00
	SUBWF	r0x04, W
	BNZ	_00921_DS_
	MOVLW	0x16
	SUBWF	r0x03, W
_00921_DS_:
	BC	_00807_DS_
;	.line	598; src/general.c	writeBank(((15*DEVICE_LENGTH)+k),buffer1[k]);
	MOVF	r0x03, W
	MOVWF	r0x07
	MOVLW	0xdc
	ADDWF	r0x04, W
	MOVWF	r0x08
	MOVLW	0x05
	ADDWFC	r0x05, W
	MOVWF	r0x09
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x0a
	MOVF	r0x03, W
	ADDWF	r0x00, W
	MOVWF	r0x0b
	MOVF	r0x04, W
	ADDWFC	r0x01, W
	MOVWF	r0x0c
	MOVF	r0x05, W
	ADDWFC	r0x02, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	597; src/general.c	for(k=0;k<22;k++) {
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BRA	_00804_DS_
_00807_DS_:
;	.line	601; src/general.c	buffer1="MIDIbox   TESTMODUL --";
	MOVLW	LOW(__str_1)
	MOVWF	r0x00
	MOVLW	HIGH(__str_1)
	MOVWF	r0x01
	MOVLW	UPPER(__str_1)
	MOVWF	r0x02
;	.line	602; src/general.c	for(k=0;k<22;k++) {
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
_00808_DS_:
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00922_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00922_DS_
	MOVLW	0x00
	SUBWF	r0x04, W
	BNZ	_00922_DS_
	MOVLW	0x16
	SUBWF	r0x03, W
_00922_DS_:
	BC	_00811_DS_
;	.line	603; src/general.c	writeBank(((15*DEVICE_LENGTH)+DEVICE_MENU_LENGTH+k),buffer1[k]);
	MOVLW	0x60
	ADDWF	r0x03, W
	MOVWF	r0x07
	MOVLW	0xdd
	ADDWFC	r0x04, W
	MOVWF	r0x08
	MOVLW	0x05
	ADDWFC	r0x05, W
	MOVWF	r0x09
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x0a
	MOVF	r0x03, W
	ADDWF	r0x00, W
	MOVWF	r0x0b
	MOVF	r0x04, W
	ADDWFC	r0x01, W
	MOVWF	r0x0c
	MOVF	r0x05, W
	ADDWFC	r0x02, W
	MOVWF	r0x0d
	MOVFF	r0x0b, FSR0L
	MOVFF	r0x0c, PRODL
	MOVF	r0x0d, W
	CALL	__gptrget1
	MOVWF	r0x0b
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	602; src/general.c	for(k=0;k<22;k++) {
	INCF	r0x03, F
	BTFSC	STATUS, 0
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BRA	_00808_DS_
_00811_DS_:
	BANKSEL	_bankinitcount
;	.line	606; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_42417_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_42417_DS_:
	BNC	_52418_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_52418_DS_:
	BNC	_62419_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_62419_DS_:
_00785_DS_:
	BANKSEL	_bankinitcount
;	.line	609; src/general.c	if (bankinitcount==0x01) {
	MOVF	_bankinitcount, W, B
	XORLW	0x01
	BNZ	_00923_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00923_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00923_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00924_DS_
_00923_DS_:
	BRA	_00787_DS_
_00924_DS_:
;	.line	613; src/general.c	strcpy("CCEnc7Bit ",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_2)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_2)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_2)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	614; src/general.c	param.messageChannel = 0x30;
	MOVLW	0x30
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
; removed redundant BANKSEL
;	.line	615; src/general.c	param.modeSelect = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	616; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	617; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	618; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	619; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	620; src/general.c	param.valueMax[0] = 0x7F;		//MSB
	MOVLW	0x7f
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
; removed redundant BANKSEL
;	.line	621; src/general.c	param.valueMax[1] = 0x00;		//LSB
	CLRF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	622; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	623; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	624; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	625; src/general.c	param.edit =  (0x0000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	626; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	628; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0x60
	MOVWF	r0x00
	MOVLW	0x35
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00812_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00925_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00925_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00925_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00925_DS_:
	BC	_00815_DS_
;	.line	629; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	630; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	628; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00812_DS_
_00815_DS_:
	BANKSEL	_bankinitcount
;	.line	633; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_72420_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_72420_DS_:
	BNC	_82421_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_82421_DS_:
	BNC	_92422_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_92422_DS_:
_00787_DS_:
	BANKSEL	_bankinitcount
;	.line	638; src/general.c	if (bankinitcount==0x02) {
	MOVF	_bankinitcount, W, B
	XORLW	0x02
	BNZ	_00926_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00926_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00926_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00927_DS_
_00926_DS_:
	BRA	_00789_DS_
_00927_DS_:
;	.line	641; src/general.c	strcpy("CCPush7Bit",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_3)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_3)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_3)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	642; src/general.c	param.messageChannel = 0x30;
	MOVLW	0x30
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
;	.line	643; src/general.c	param.modeSelect = 0x08;
	MOVLW	0x08
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	644; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	645; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	646; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	647; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	648; src/general.c	param.valueMax[0] = 0x64;		//MSB
	MOVLW	0x64
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
; removed redundant BANKSEL
;	.line	649; src/general.c	param.valueMax[1] = 0x00;		//LSB
	CLRF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	650; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	651; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	652; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	653; src/general.c	param.edit =  (0x0000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	654; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	656; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0x79
	MOVWF	r0x00
	MOVLW	0x35
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00816_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00928_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00928_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00928_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00928_DS_:
	BC	_00819_DS_
;	.line	657; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	658; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	656; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00816_DS_
_00819_DS_:
	BANKSEL	_bankinitcount
;	.line	660; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_102423_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_102423_DS_:
	BNC	_112424_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_112424_DS_:
	BNC	_122425_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_122425_DS_:
_00789_DS_:
	BANKSEL	_bankinitcount
;	.line	665; src/general.c	if (bankinitcount==0x03) {
	MOVF	_bankinitcount, W, B
	XORLW	0x03
	BNZ	_00929_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00929_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00929_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00930_DS_
_00929_DS_:
	BRA	_00791_DS_
_00930_DS_:
;	.line	668; src/general.c	strcpy("CCSign7Bit",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_4)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_4)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_4)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	669; src/general.c	param.messageChannel = 0x30;
	MOVLW	0x30
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
;	.line	670; src/general.c	param.modeSelect = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 11), B
;	.line	671; src/general.c	param.number[0] = 0x63;
	MOVLW	0x63
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	672; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
;	.line	673; src/general.c	param.valueMin[0] = 0x40;
	MOVLW	0x40
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	674; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	675; src/general.c	param.valueMax[0] = 0x40;		//MSB
	MOVLW	0x40
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
; removed redundant BANKSEL
;	.line	676; src/general.c	param.valueMax[1] = 0x00;		//LSB
	CLRF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	677; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	678; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	679; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	680; src/general.c	param.edit =  (0x0000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	681; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	683; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0x92
	MOVWF	r0x00
	MOVLW	0x35
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00820_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00931_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00931_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00931_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00931_DS_:
	BC	_00823_DS_
;	.line	684; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	685; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	683; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00820_DS_
_00823_DS_:
	BANKSEL	_bankinitcount
;	.line	687; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_132426_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_132426_DS_:
	BNC	_142427_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_142427_DS_:
	BNC	_152428_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_152428_DS_:
_00791_DS_:
	BANKSEL	_bankinitcount
;	.line	691; src/general.c	if (bankinitcount==0x04) {
	MOVF	_bankinitcount, W, B
	XORLW	0x04
	BNZ	_00932_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00932_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00932_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00933_DS_
_00932_DS_:
	BRA	_00793_DS_
_00933_DS_:
;	.line	694; src/general.c	strcpy(" CCAcc7Bit",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_5)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_5)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_5)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	695; src/general.c	param.messageChannel = 0x30;
	MOVLW	0x30
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
;	.line	696; src/general.c	param.modeSelect = 0x04;
	MOVLW	0x04
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	697; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	698; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	699; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	700; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	701; src/general.c	param.valueMax[0] = 0x7F;		//MSB
	MOVLW	0x7f
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
; removed redundant BANKSEL
;	.line	702; src/general.c	param.valueMax[1] = 0x00;		//LSB
	CLRF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	703; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	704; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	705; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	706; src/general.c	param.edit =  (0x0000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	707; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	709; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0xab
	MOVWF	r0x00
	MOVLW	0x35
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00824_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00934_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00934_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00934_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00934_DS_:
	BC	_00827_DS_
;	.line	710; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	711; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	709; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00824_DS_
_00827_DS_:
	BANKSEL	_bankinitcount
;	.line	713; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_162429_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_162429_DS_:
	BNC	_172430_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_172430_DS_:
	BNC	_182431_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_182431_DS_:
_00793_DS_:
	BANKSEL	_bankinitcount
;	.line	718; src/general.c	if (bankinitcount==0x05) {
	MOVF	_bankinitcount, W, B
	XORLW	0x05
	BNZ	_00935_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00935_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00935_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00936_DS_
_00935_DS_:
	BRA	_00795_DS_
_00936_DS_:
;	.line	721; src/general.c	strcpy("CCScal7Bit",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_6)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_6)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_6)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	722; src/general.c	param.messageChannel = 0x30;
	MOVLW	0x30
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
; removed redundant BANKSEL
;	.line	723; src/general.c	param.modeSelect = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	724; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	725; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	726; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	727; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	728; src/general.c	param.valueMax[0] = 0x40;		//MSB
	MOVLW	0x40
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
; removed redundant BANKSEL
;	.line	729; src/general.c	param.valueMax[1] = 0x00;		//LSB
	CLRF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	730; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	731; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	732; src/general.c	param.scale = 0x08;
	MOVLW	0x08
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	733; src/general.c	param.edit =  (0x0000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	734; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	736; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0xc4
	MOVWF	r0x00
	MOVLW	0x35
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00828_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00937_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00937_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00937_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00937_DS_:
	BC	_00831_DS_
;	.line	737; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	738; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	736; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00828_DS_
_00831_DS_:
	BANKSEL	_bankinitcount
;	.line	740; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_192432_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_192432_DS_:
	BNC	_202433_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_202433_DS_:
	BNC	_212434_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_212434_DS_:
_00795_DS_:
	BANKSEL	_bankinitcount
;	.line	745; src/general.c	if (bankinitcount==0x06) {
	MOVF	_bankinitcount, W, B
	XORLW	0x06
	BNZ	_00938_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00938_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00938_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00939_DS_
_00938_DS_:
	BRA	_00797_DS_
_00939_DS_:
;	.line	748; src/general.c	strcpy("CCAcc14Bit",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_7)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_7)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_7)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	749; src/general.c	param.messageChannel = 0x30;
	MOVLW	0x30
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
;	.line	750; src/general.c	param.modeSelect = 0x06;
	MOVLW	0x06
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	751; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	752; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	753; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	754; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	755; src/general.c	param.valueMax[0] = 0x7F;		//MSB
	MOVLW	0x7f
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
;	.line	756; src/general.c	param.valueMax[1] = 0x7F;		//LSB
	MOVLW	0x7f
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	757; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	758; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	759; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	760; src/general.c	param.edit =  (0x0000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	761; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	763; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0xdd
	MOVWF	r0x00
	MOVLW	0x35
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00832_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00940_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00940_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00940_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00940_DS_:
	BC	_00835_DS_
;	.line	764; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	765; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	763; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00832_DS_
_00835_DS_:
	BANKSEL	_bankinitcount
;	.line	767; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_222435_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_222435_DS_:
	BNC	_232436_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_232436_DS_:
	BNC	_242437_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_242437_DS_:
_00797_DS_:
	BANKSEL	_bankinitcount
;	.line	772; src/general.c	if (bankinitcount==0x07) {
	MOVF	_bankinitcount, W, B
	XORLW	0x07
	BNZ	_00941_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00941_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00941_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00942_DS_
_00941_DS_:
	BRA	_00799_DS_
_00942_DS_:
;	.line	775; src/general.c	strcpy("CCSwitch  ",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_8)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_8)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_8)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	776; src/general.c	param.messageChannel = 0x30;
	MOVLW	0x30
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
; removed redundant BANKSEL
;	.line	777; src/general.c	param.modeSelect = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	778; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	779; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	780; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	781; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	782; src/general.c	param.valueMax[0] = 0x03;		//MSB
	MOVLW	0x03
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
; removed redundant BANKSEL
;	.line	783; src/general.c	param.valueMax[1] = 0x00;		//LSB
	CLRF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	784; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	785; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	786; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	787; src/general.c	param.edit =  (0x2000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
	MOVLW	0x20
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 22), B
;	.line	788; src/general.c	param.sswitch_addr = 1;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	790; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0xf6
	MOVWF	r0x00
	MOVLW	0x35
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00836_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00943_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00943_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00943_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00943_DS_:
	BC	_00839_DS_
;	.line	791; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	792; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	790; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00836_DS_
_00839_DS_:
;	.line	795; src/general.c	strcpy("Sine  ",buffer);
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_9)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_9)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_9)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	796; src/general.c	for(i=0,addr=1+BASE_DYNMEM+(DYNBLOCK_LENGTH*15);i<6;i++,addr++) {
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	MOVLW	0x01
	MOVWF	r0x04
	MOVLW	0xc0
	MOVWF	r0x05
	MOVLW	0x0b
	MOVWF	r0x06
	CLRF	r0x07
_00840_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00944_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00944_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00944_DS_
	MOVLW	0x06
	SUBWF	r0x00, W
_00944_DS_:
	BC	_00843_DS_
;	.line	797; src/general.c	writeBank(addr,buffer[i]);
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	ADDWF	r0x00, W
	MOVWF	r0x08
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	ADDWFC	r0x01, W
	MOVWF	r0x09
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, FSR0H
	MOVFF	INDF0, r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	796; src/general.c	for(i=0,addr=1+BASE_DYNMEM+(DYNBLOCK_LENGTH*15);i<6;i++,addr++) {
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00840_DS_
_00843_DS_:
;	.line	799; src/general.c	strcpy("Saw   ",buffer);
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_10)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_10)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_10)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	800; src/general.c	for(i=0;i<6;i++,addr++) {
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
_00844_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00945_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00945_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00945_DS_
	MOVLW	0x06
	SUBWF	r0x00, W
_00945_DS_:
	BC	_00847_DS_
;	.line	801; src/general.c	writeBank(addr,buffer[i]);
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	ADDWF	r0x00, W
	MOVWF	r0x08
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	ADDWFC	r0x01, W
	MOVWF	r0x09
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, FSR0H
	MOVFF	INDF0, r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	800; src/general.c	for(i=0;i<6;i++,addr++) {
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00844_DS_
_00847_DS_:
;	.line	803; src/general.c	strcpy("Pulse ",buffer);
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_11)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_11)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_11)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	804; src/general.c	for(i=0;i<6;i++,addr++) {
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
_00848_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00946_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00946_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00946_DS_
	MOVLW	0x06
	SUBWF	r0x00, W
_00946_DS_:
	BC	_00851_DS_
;	.line	805; src/general.c	writeBank(addr,buffer[i]);
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	ADDWF	r0x00, W
	MOVWF	r0x08
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	ADDWFC	r0x01, W
	MOVWF	r0x09
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, FSR0H
	MOVFF	INDF0, r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	804; src/general.c	for(i=0;i<6;i++,addr++) {
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00848_DS_
_00851_DS_:
;	.line	807; src/general.c	strcpy("Tri   ",buffer);
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_12)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_12)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_12)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	808; src/general.c	for(i=0;i<6;i++,addr++) {
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
_00852_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00947_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00947_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00947_DS_
	MOVLW	0x06
	SUBWF	r0x00, W
_00947_DS_:
	BC	_00855_DS_
;	.line	809; src/general.c	writeBank(addr,buffer[i]);
	MOVLW	LOW(_init_testbox_cont_buffer_1_1)
	ADDWF	r0x00, W
	MOVWF	r0x08
	MOVLW	HIGH(_init_testbox_cont_buffer_1_1)
	ADDWFC	r0x01, W
	MOVWF	r0x09
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, FSR0H
	MOVFF	INDF0, r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	808; src/general.c	for(i=0;i<6;i++,addr++) {
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00852_DS_
_00855_DS_:
	BANKSEL	_bankinitcount
;	.line	812; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_252438_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_252438_DS_:
	BNC	_262439_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_262439_DS_:
	BNC	_272440_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_272440_DS_:
_00799_DS_:
	BANKSEL	_bankinitcount
;	.line	821; src/general.c	if (bankinitcount==0x08) {
	MOVF	_bankinitcount, W, B
	XORLW	0x08
	BNZ	_00948_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00948_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00948_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00949_DS_
_00948_DS_:
	BRA	_00801_DS_
_00949_DS_:
;	.line	824; src/general.c	strcpy(" NRPN14Bit",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_13)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_13)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_13)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	825; src/general.c	param.messageChannel = 0x50;
	MOVLW	0x50
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
;	.line	826; src/general.c	param.modeSelect = 0x06;
	MOVLW	0x06
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	827; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	828; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	829; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	830; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	831; src/general.c	param.valueMax[0] = 0x7F;		//MSB
	MOVLW	0x7f
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
;	.line	832; src/general.c	param.valueMax[1] = 0x7F;		//LSB
	MOVLW	0x7f
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 17), B
; removed redundant BANKSEL
;	.line	833; src/general.c	param.value[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	834; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	835; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
; removed redundant BANKSEL
;	.line	836; src/general.c	param.edit =  (0x0000);
	CLRF	(_init_testbox_cont_param_1_1 + 21), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	837; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	839; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0x0f
	MOVWF	r0x00
	MOVLW	0x36
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00856_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00950_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00950_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00950_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00950_DS_:
	BC	_00859_DS_
;	.line	840; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	841; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	839; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00856_DS_
_00859_DS_:
	BANKSEL	_bankinitcount
;	.line	843; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_282441_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_282441_DS_:
	BNC	_292442_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_292442_DS_:
	BNC	_302443_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_302443_DS_:
_00801_DS_:
	BANKSEL	_bankinitcount
;	.line	849; src/general.c	if (bankinitcount==0x09) {
	MOVF	_bankinitcount, W, B
	XORLW	0x09
	BNZ	_00951_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 1), W, B
	BNZ	_00951_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 2), W, B
	BNZ	_00951_DS_
; removed redundant BANKSEL
	MOVF	(_bankinitcount + 3), W, B
	BZ	_00952_DS_
_00951_DS_:
	BRA	_00864_DS_
_00952_DS_:
;	.line	852; src/general.c	strcpy("EDITBUFFER",param.name);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x01
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x00
	MOVLW	0x80
	MOVWF	r0x02
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	MOVLW	UPPER(__str_14)
	MOVWF	POSTDEC1
	MOVLW	HIGH(__str_14)
	MOVWF	POSTDEC1
	MOVLW	LOW(__str_14)
	MOVWF	POSTDEC1
	CALL	_strcpy
	MOVLW	0x06
	ADDWF	FSR1L, F
;	.line	853; src/general.c	param.messageChannel = 0x70;
	MOVLW	0x70
	BANKSEL	(_init_testbox_cont_param_1_1 + 10)
	MOVWF	(_init_testbox_cont_param_1_1 + 10), B
; removed redundant BANKSEL
;	.line	854; src/general.c	param.modeSelect = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 11), B
; removed redundant BANKSEL
;	.line	855; src/general.c	param.number[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 12), B
; removed redundant BANKSEL
;	.line	856; src/general.c	param.number[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 13), B
; removed redundant BANKSEL
;	.line	857; src/general.c	param.valueMin[0] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 14), B
; removed redundant BANKSEL
;	.line	858; src/general.c	param.valueMin[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 15), B
;	.line	859; src/general.c	param.valueMax[0] = 0x7F;		//MSB
	MOVLW	0x7f
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 16), B
; removed redundant BANKSEL
;	.line	860; src/general.c	param.valueMax[1] = 0x0;		//LSB
	CLRF	(_init_testbox_cont_param_1_1 + 17), B
;	.line	861; src/general.c	param.value[0] = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 18), B
; removed redundant BANKSEL
;	.line	862; src/general.c	param.value[1] = 0x00;
	CLRF	(_init_testbox_cont_param_1_1 + 19), B
;	.line	863; src/general.c	param.scale = 0x01;
	MOVLW	0x01
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 20), B
;	.line	864; src/general.c	param.edit =  (0x1006);
	MOVLW	0x06
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 21), B
	MOVLW	0x10
; removed redundant BANKSEL
	MOVWF	(_init_testbox_cont_param_1_1 + 22), B
; removed redundant BANKSEL
;	.line	865; src/general.c	param.sswitch_addr = 0;
	CLRF	(_init_testbox_cont_param_1_1 + 23), B
; removed redundant BANKSEL
	CLRF	(_init_testbox_cont_param_1_1 + 24), B
;	.line	867; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0x28
	MOVWF	r0x00
	MOVLW	0x36
	MOVWF	r0x01
	MOVLW	0x06
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00860_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00953_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00953_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00953_DS_
	MOVLW	0x19
	SUBWF	r0x04, W
_00953_DS_:
	BC	_00863_DS_
;	.line	868; src/general.c	writeBank(addr,((char*)(&param))[k]);
	MOVLW	HIGH(_init_testbox_cont_param_1_1)
	MOVWF	r0x09
	MOVLW	LOW(_init_testbox_cont_param_1_1)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrget1
	MOVWF	r0x08
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	869; src/general.c	addr++;
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
;	.line	867; src/general.c	for(k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00860_DS_
_00863_DS_:
	BANKSEL	_bankinitcount
;	.line	871; src/general.c	bankinitcount++;
	INCF	_bankinitcount, F, B
	BNC	_312444_DS_
; removed redundant BANKSEL
	INCF	(_bankinitcount + 1), F, B
_312444_DS_:
	BNC	_322445_DS_
	BANKSEL	(_bankinitcount + 2)
	INCF	(_bankinitcount + 2), F, B
_322445_DS_:
	BNC	_332446_DS_
	BANKSEL	(_bankinitcount + 3)
	INCF	(_bankinitcount + 3), F, B
_332446_DS_:
_00864_DS_:
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__init_dynamic_cont	code
_init_dynamic_cont:
;	.line	581; src/general.c	}
	RETURN	

; ; Starting pCode block
S_main__init_dynamic	code
_init_dynamic:
;	.line	465; src/general.c	}
	RETURN	

; ; Starting pCode block
S_main__init_static	code
_init_static:
;	.line	454; src/general.c	}
	RETURN	

; ; Starting pCode block
S_main__Init	code
_Init:
;	.line	303; src/general.c	void Init(void) __wparam
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	BANKSEL	_device
;	.line	307; src/general.c	device=0;
	CLRF	_device, B
; removed redundant BANKSEL
	CLRF	(_device + 1), B
; removed redundant BANKSEL
	CLRF	(_device + 2), B
; removed redundant BANKSEL
	CLRF	(_device + 3), B
	BANKSEL	_bank
;	.line	308; src/general.c	bank=0;
	CLRF	_bank, B
; removed redundant BANKSEL
	CLRF	(_bank + 1), B
; removed redundant BANKSEL
	CLRF	(_bank + 2), B
; removed redundant BANKSEL
	CLRF	(_bank + 3), B
	BANKSEL	_modul
;	.line	309; src/general.c	modul=0;
	CLRF	_modul, B
; removed redundant BANKSEL
	CLRF	(_modul + 1), B
; removed redundant BANKSEL
	CLRF	(_modul + 2), B
; removed redundant BANKSEL
	CLRF	(_modul + 3), B
	BANKSEL	_knobs
;	.line	310; src/general.c	knobs=0;
	CLRF	_knobs, B
	BANKSEL	_bankstick
;	.line	312; src/general.c	bankstick=0;
	CLRF	_bankstick, B
	BANKSEL	_bankchip
;	.line	313; src/general.c	bankchip=0;
	CLRF	_bankchip, B
	BANKSEL	_display
;	.line	314; src/general.c	display=CURENT_DISPLAY;
	CLRF	_display, B
	BANKSEL	_send_editbuffer
;	.line	316; src/general.c	send_editbuffer=0;
	CLRF	_send_editbuffer, B
	BANKSEL	_led_time
;	.line	317; src/general.c	led_time=0;
	CLRF	_led_time, B
	BANKSEL	_get_userdata
;	.line	318; src/general.c	get_userdata=0x00;
	CLRF	_get_userdata, B
	BANKSEL	_buffer_view
;	.line	319; src/general.c	buffer_view=0x0000;
	CLRF	_buffer_view, B
; removed redundant BANKSEL
	CLRF	(_buffer_view + 1), B
	BANKSEL	_storage_view
;	.line	320; src/general.c	storage_view=0x80000L;
	CLRF	_storage_view, B
; removed redundant BANKSEL
	CLRF	(_storage_view + 1), B
	MOVLW	0x08
; removed redundant BANKSEL
	MOVWF	(_storage_view + 2), B
; removed redundant BANKSEL
	CLRF	(_storage_view + 3), B
	BANKSEL	_update
;	.line	322; src/general.c	update=0;
	CLRF	_update, B
	BANKSEL	_mem_adress
;	.line	323; src/general.c	mem_adress=0;
	CLRF	_mem_adress, B
; removed redundant BANKSEL
	CLRF	(_mem_adress + 1), B
; removed redundant BANKSEL
	CLRF	(_mem_adress + 2), B
; removed redundant BANKSEL
	CLRF	(_mem_adress + 3), B
	BANKSEL	_record_flag
;	.line	324; src/general.c	record_flag=0;
	CLRF	_record_flag, B
	BANKSEL	_modus
;	.line	325; src/general.c	modus=MOD_DEVICE;
	CLRF	_modus, B
	BANKSEL	_bankinitcount
;	.line	326; src/general.c	bankinitcount=0;
	CLRF	_bankinitcount, B
; removed redundant BANKSEL
	CLRF	(_bankinitcount + 1), B
; removed redundant BANKSEL
	CLRF	(_bankinitcount + 2), B
; removed redundant BANKSEL
	CLRF	(_bankinitcount + 3), B
	BANKSEL	_preset_flag
;	.line	327; src/general.c	preset_flag=0x00;
	CLRF	_preset_flag, B
	BANKSEL	_preset_encoder
;	.line	328; src/general.c	preset_encoder=0x00;
	CLRF	_preset_encoder, B
;	.line	329; src/general.c	stepwidth=0x7F;
	MOVLW	0x7f
	BANKSEL	_stepwidth
	MOVWF	_stepwidth, B
; removed redundant BANKSEL
	CLRF	(_stepwidth + 1), B
;	.line	330; src/general.c	sysex=0xFF;
	MOVLW	0xff
	BANKSEL	_sysex
	MOVWF	_sysex, B
	BANKSEL	_check_sum
;	.line	331; src/general.c	check_sum=0;
	CLRF	_check_sum, B
	BANKSEL	_receive_escape
;	.line	332; src/general.c	receive_escape=0;
	CLRF	_receive_escape, B
	BANKSEL	_transfer_counter
;	.line	333; src/general.c	transfer_counter=0;
	CLRF	_transfer_counter, B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 1), B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 2), B
; removed redundant BANKSEL
	CLRF	(_transfer_counter + 3), B
	BANKSEL	_eb_request
;	.line	334; src/general.c	eb_request.active=0;
	BCF	_eb_request, 0, B
;	.line	335; src/general.c	eb_request.error=0;
	BCF	_eb_request, 1, B
; removed redundant BANKSEL
;	.line	336; src/general.c	eb_request.checksum_func=0;
	CLRF	(_eb_request + 1), B
; removed redundant BANKSEL
;	.line	337; src/general.c	eb_request.data_counter=0;
	CLRF	(_eb_request + 2), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 3), B
; removed redundant BANKSEL
;	.line	338; src/general.c	eb_request.timer=0;
	CLRF	(_eb_request + 4), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 5), B
; removed redundant BANKSEL
;	.line	339; src/general.c	eb_request.dump_addr=0;
	CLRF	(_eb_request + 6), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 7), B
;	.line	340; src/general.c	for (i=0;i<16;i++)
	CLRF	r0x00
	CLRF	r0x01
_00756_DS_:
	MOVLW	0x10
	SUBWF	r0x00, W
	BC	_00759_DS_
;	.line	341; src/general.c	preset_number[i]=0x00;
	MOVLW	LOW(_preset_number)
	ADDWF	r0x01, W
	MOVWF	r0x02
	CLRF	r0x03
	MOVLW	HIGH(_preset_number)
	ADDWFC	r0x03, F
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVLW	0x00
	MOVWF	POSTINC0
	MOVLW	0x00
	MOVWF	INDF0
;	.line	340; src/general.c	for (i=0;i<16;i++)
	INCF	r0x01, F
	INCF	r0x01, F
	INCF	r0x00, F
	BRA	_00756_DS_
_00759_DS_:
;	.line	342; src/general.c	for (i=0;i<18;i++)
	CLRF	r0x00
	CLRF	r0x01
_00760_DS_:
	MOVLW	0x12
	SUBWF	r0x00, W
	BC	_00763_DS_
;	.line	343; src/general.c	potis[i]=0x00;
	MOVLW	LOW(_potis)
	ADDWF	r0x01, W
	MOVWF	r0x02
	CLRF	r0x03
	MOVLW	HIGH(_potis)
	ADDWFC	r0x03, F
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVLW	0x00
	MOVWF	POSTINC0
	MOVLW	0x00
	MOVWF	INDF0
;	.line	342; src/general.c	for (i=0;i<18;i++)
	INCF	r0x01, F
	INCF	r0x01, F
	INCF	r0x00, F
	BRA	_00760_DS_
_00763_DS_:
;	.line	353; src/general.c	MIOS_TIMER_Init(0x00, 100000);
	MOVLW	0x86
	MOVWF	POSTDEC1
	MOVLW	0xa0
	MOVWF	POSTDEC1
	MOVLW	0x00
	CALL	_MIOS_TIMER_Init
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	358; src/general.c	MIOS_LCD_TypeSet(7,0,0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x07
	CALL	_MIOS_LCD_TypeSet
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	367; src/general.c	MIOS_SRIO_UpdateFrqSet(1); // ms
	MOVLW	0x01
	CALL	_MIOS_SRIO_UpdateFrqSet
;	.line	370; src/general.c	MIOS_SRIO_NumberSet(8); // for 128 pins
	MOVLW	0x08
	CALL	_MIOS_SRIO_NumberSet
;	.line	373; src/general.c	for(i=0; i<16; ++i)
	CLRF	r0x00
_00764_DS_:
	MOVLW	0x10
	SUBWF	r0x00, W
	BC	_00767_DS_
;	.line	375; src/general.c	MIOS_ENC_SpeedSet(i, MIOS_ENC_SPEED_NORMAL, 1); // encoder, speed mode, divider
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	CALL	_MIOS_ENC_SpeedSet
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	373; src/general.c	for(i=0; i<16; ++i)
	INCF	r0x00, F
	BRA	_00764_DS_
_00767_DS_:
;	.line	377; src/general.c	initDeviceModus();
	CALL	_initDeviceModus
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__initParameterModus	code
_initParameterModus:
;	.line	257; src/general.c	void initParameterModus() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
;	.line	259; src/general.c	loadModul();
	CALL	_loadModul
;	.line	260; src/general.c	loadParameterPage();
	CALL	_loadParameterPage
;	.line	261; src/general.c	if(selected_modul.dump_addr) {
	MOVFF	(_selected_modul + 20), r0x00
	MOVFF	(_selected_modul + 21), r0x01
	MOVF	r0x00, W
	IORWF	r0x01, W
	BTFSC	STATUS, 2
	BRA	_00742_DS_
	BANKSEL	(_selected_modul + 22)
;	.line	262; src/general.c	if(!(selected_modul.dump.typ&0x01)) {
	BTFSC	(_selected_modul + 22), 0
	BRA	_00743_DS_
	BANKSEL	_eb_request
;	.line	263; src/general.c	if(eb_request.active==0) {
	BTFSC	_eb_request, 0, B
	BRA	_00743_DS_
; removed redundant BANKSEL
;	.line	264; src/general.c	eb_request.timer=0;
	CLRF	(_eb_request + 4), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 5), B
; removed redundant BANKSEL
;	.line	265; src/general.c	eb_request.data_counter=0;
	CLRF	(_eb_request + 2), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 3), B
; removed redundant BANKSEL
;	.line	266; src/general.c	eb_request.error=0;
	BCF	_eb_request, 1, B
;	.line	267; src/general.c	eb_request.dump_addr=selected_modul.dump_addr;
	MOVF	r0x00, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 6), B
	MOVF	r0x01, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 7), B
;	.line	268; src/general.c	for(i=0;i<7;i++)
	CLRF	r0x00
_00744_DS_:
	MOVF	r0x00, W
	ADDLW	0x80
	ADDLW	0x79
	BC	_00747_DS_
;	.line	269; src/general.c	((char*)eb_request.dump)[i]=((char*)selected_modul.dump)[i];
	MOVLW	HIGH(_eb_request + 8)
	MOVWF	r0x02
	MOVLW	LOW(_eb_request + 8)
	MOVWF	r0x01
	MOVLW	0x80
	MOVWF	r0x03
	MOVF	r0x00, W
	ADDWF	r0x01, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x02, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x03, F
	MOVLW	HIGH(_selected_modul + 22)
	MOVWF	r0x05
	MOVLW	LOW(_selected_modul + 22)
	MOVWF	r0x04
	MOVLW	0x80
	MOVWF	r0x06
	MOVF	r0x00, W
	ADDWF	r0x04, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x05, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x06, F
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, PRODL
	MOVF	r0x06, W
	CALL	__gptrget1
	MOVWF	r0x04
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x01, FSR0L
	MOVFF	r0x02, PRODL
	MOVF	r0x03, W
	CALL	__gptrput1
;	.line	268; src/general.c	for(i=0;i<7;i++)
	INCF	r0x00, F
	BRA	_00744_DS_
_00747_DS_:
;	.line	270; src/general.c	eb_request.checksum_func=eb_request.dump.checksum_func;
	MOVFF	(_eb_request + 9), r0x00
	MOVF	r0x00, W
	BANKSEL	(_eb_request + 1)
	MOVWF	(_eb_request + 1), B
;	.line	271; src/general.c	requestDump();
	CALL	_requestDump
	BANKSEL	_update
;	.line	273; src/general.c	update|=0x04;
	BSF	_update, 2, B
	BRA	_00743_DS_
_00742_DS_:
;	.line	276; src/general.c	} else if(selected_device.dump_addr) {
	MOVFF	(_selected_device + 20), r0x00
	MOVFF	(_selected_device + 21), r0x01
	MOVF	r0x00, W
	IORWF	r0x01, W
	BTFSC	STATUS, 2
	BRA	_00739_DS_
	BANKSEL	(_selected_device + 22)
;	.line	277; src/general.c	if(!(selected_device.dump.typ&0x01)) {
	BTFSC	(_selected_device + 22), 0
	BRA	_00743_DS_
	BANKSEL	_eb_request
;	.line	278; src/general.c	if(eb_request.active==0) {
	BTFSC	_eb_request, 0, B
	BRA	_00743_DS_
; removed redundant BANKSEL
;	.line	279; src/general.c	eb_request.timer=0;
	CLRF	(_eb_request + 4), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 5), B
; removed redundant BANKSEL
;	.line	280; src/general.c	eb_request.data_counter=0;
	CLRF	(_eb_request + 2), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 3), B
; removed redundant BANKSEL
;	.line	281; src/general.c	eb_request.error=0;
	BCF	_eb_request, 1, B
;	.line	282; src/general.c	eb_request.dump_addr=selected_device.dump_addr;
	MOVF	r0x00, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 6), B
	MOVF	r0x01, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 7), B
;	.line	283; src/general.c	for(i=0;i<7;i++)
	CLRF	r0x00
_00748_DS_:
	MOVF	r0x00, W
	ADDLW	0x80
	ADDLW	0x79
	BC	_00751_DS_
;	.line	284; src/general.c	((char*)eb_request.dump)[i]=((char*)selected_device.dump)[i];
	MOVLW	HIGH(_eb_request + 8)
	MOVWF	r0x02
	MOVLW	LOW(_eb_request + 8)
	MOVWF	r0x01
	MOVLW	0x80
	MOVWF	r0x03
	MOVF	r0x00, W
	ADDWF	r0x01, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x02, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x03, F
	MOVLW	HIGH(_selected_device + 22)
	MOVWF	r0x05
	MOVLW	LOW(_selected_device + 22)
	MOVWF	r0x04
	MOVLW	0x80
	MOVWF	r0x06
	MOVF	r0x00, W
	ADDWF	r0x04, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x05, F
	CLRF	WREG
	BTFSC	r0x00, 7
	SETF	WREG
	ADDWFC	r0x06, F
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, PRODL
	MOVF	r0x06, W
	CALL	__gptrget1
	MOVWF	r0x04
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x01, FSR0L
	MOVFF	r0x02, PRODL
	MOVF	r0x03, W
	CALL	__gptrput1
;	.line	283; src/general.c	for(i=0;i<7;i++)
	INCF	r0x00, F
	BRA	_00748_DS_
_00751_DS_:
;	.line	285; src/general.c	eb_request.checksum_func=eb_request.dump.checksum_func;
	MOVFF	(_eb_request + 9), r0x00
	MOVF	r0x00, W
	BANKSEL	(_eb_request + 1)
	MOVWF	(_eb_request + 1), B
;	.line	287; src/general.c	requestDump();
	CALL	_requestDump
	BANKSEL	_update
;	.line	289; src/general.c	update|=0x04;
	BSF	_update, 2, B
	BRA	_00743_DS_
_00739_DS_:
;	.line	293; src/general.c	update|=0x03;
	MOVLW	0x03
	BANKSEL	_update
	IORWF	_update, F, B
_00743_DS_:
;	.line	295; src/general.c	modus=MOD_PARAMETER;
	MOVLW	0x02
	BANKSEL	_modus
	MOVWF	_modus, B
	BANKSEL	(_potis + 32)
;	.line	296; src/general.c	potis[16]=0xFFFF;
	SETF	(_potis + 32), B
; removed redundant BANKSEL
	SETF	(_potis + 33), B
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__initModulModus	code
_initModulModus:
;	.line	243; src/general.c	void initModulModus() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
;	.line	245; src/general.c	for(i=0;i<4;i++)
	CLRF	r0x00
_00710_DS_:
	MOVF	r0x00, W
	ADDLW	0x80
	ADDLW	0x7c
	BC	_00713_DS_
;	.line	246; src/general.c	MIOS_DOUT_PinSet(i,bank==i?1:0);
	MOVFF	r0x00, r0x01
	MOVFF	r0x00, r0x02
	CLRF	WREG
	BTFSC	r0x00, 7
	MOVLW	0xff
	MOVWF	r0x03
	MOVWF	r0x04
	MOVWF	r0x05
	BANKSEL	_bank
	MOVF	_bank, W, B
	XORWF	r0x02, W
	BNZ	_00724_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	XORWF	r0x03, W
	BNZ	_00724_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	XORWF	r0x04, W
	BNZ	_00724_DS_
; removed redundant BANKSEL
	MOVF	(_bank + 3), W, B
	XORWF	r0x05, W
	BZ	_00725_DS_
_00724_DS_:
	BRA	_00716_DS_
_00725_DS_:
	MOVLW	0x01
	MOVWF	r0x02
	BRA	_00717_DS_
_00716_DS_:
	CLRF	r0x02
_00717_DS_:
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	245; src/general.c	for(i=0;i<4;i++)
	INCF	r0x00, F
	BRA	_00710_DS_
_00713_DS_:
	BANKSEL	_modus
;	.line	247; src/general.c	if(modus==MOD_DEVICE)
	MOVF	_modus, W, B
	BNZ	_00709_DS_
;	.line	248; src/general.c	loadDevice();
	CALL	_loadDevice
_00709_DS_:
	BANKSEL	_update
;	.line	249; src/general.c	update|=0x01;
	BSF	_update, 0, B
;	.line	250; src/general.c	modus=MOD_MODUL;
	MOVLW	0x01
	BANKSEL	_modus
	MOVWF	_modus, B
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__initDeviceModus	code
_initDeviceModus:
;	.line	229; src/general.c	void initDeviceModus() {
	MOVFF	r0x00, POSTDEC1
	BANKSEL	_preset_flag
;	.line	231; src/general.c	preset_flag=0x00;
	CLRF	_preset_flag, B
	BANKSEL	_bank
;	.line	232; src/general.c	bank=0;
	CLRF	_bank, B
; removed redundant BANKSEL
	CLRF	(_bank + 1), B
; removed redundant BANKSEL
	CLRF	(_bank + 2), B
; removed redundant BANKSEL
	CLRF	(_bank + 3), B
	BANKSEL	_update
;	.line	233; src/general.c	update|=0x01;
	BSF	_update, 0, B
;	.line	234; src/general.c	for(i=0;i<4;i++)
	CLRF	r0x00
_00700_DS_:
	MOVF	r0x00, W
	ADDLW	0x80
	ADDLW	0x7c
	BC	_00703_DS_
;	.line	235; src/general.c	MIOS_DOUT_PinSet(i,1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	234; src/general.c	for(i=0;i<4;i++)
	INCF	r0x00, F
	BRA	_00700_DS_
_00703_DS_:
	BANKSEL	_modus
;	.line	236; src/general.c	modus=MOD_DEVICE;
	CLRF	_modus, B
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__saveParameterValues	code
_saveParameterValues:
;	.line	175; src/general.c	void saveParameterValues() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVFF	r0x12, POSTDEC1
	MOVFF	r0x13, POSTDEC1
	MOVFF	r0x14, POSTDEC1
	MOVFF	r0x15, POSTDEC1
	MOVFF	r0x16, POSTDEC1
	MOVFF	r0x17, POSTDEC1
	MOVFF	r0x18, POSTDEC1
	MOVFF	r0x19, POSTDEC1
	MOVFF	r0x1a, POSTDEC1
	MOVFF	r0x1b, POSTDEC1
	MOVFF	r0x1c, POSTDEC1
	MOVFF	r0x1d, POSTDEC1
	MOVFF	r0x1e, POSTDEC1
	MOVFF	r0x1f, POSTDEC1
	MOVFF	r0x20, POSTDEC1
	MOVFF	r0x21, POSTDEC1
	MOVFF	r0x22, POSTDEC1
	MOVFF	r0x23, POSTDEC1
	MOVFF	r0x24, POSTDEC1
	MOVFF	r0x25, POSTDEC1
;	.line	178; src/general.c	for (i=0;i<16;i++)	{
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	CLRF	r0x08
	CLRF	r0x09
	CLRF	r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	CLRF	r0x10
	CLRF	r0x11
	CLRF	r0x12
	CLRF	r0x13
	CLRF	r0x14
	CLRF	r0x15
	CLRF	r0x16
	CLRF	r0x17
	CLRF	r0x18
	CLRF	r0x19
	CLRF	r0x1a
	CLRF	r0x1b
_00657_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00670_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00670_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00670_DS_
	MOVLW	0x10
	SUBWF	r0x00, W
_00670_DS_:
	BTFSC	STATUS, 0
	GOTO	_00661_DS_
;	.line	195; src/general.c	offset=(BASE+DEVICE_MENU_LENGTH+MODUL_MENU_LENGTH+device*DEVICE_LENGTH+bank*BANK_LENGTH+modul*MODUL_LENGTH);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x64
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x1c
	MOVFF	PRODL, r0x1d
	MOVFF	PRODH, r0x1e
	MOVFF	FSR0L, r0x1f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x60
	ADDWF	r0x1c, F
	MOVLW	0x59
	ADDWFC	r0x1d, F
	MOVLW	0x00
	ADDWFC	r0x1e, F
	MOVLW	0x00
	ADDWFC	r0x1f, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x19
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_bank + 3)
	MOVF	(_bank + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_bank, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x20
	MOVFF	PRODL, r0x21
	MOVFF	PRODH, r0x22
	MOVFF	FSR0L, r0x23
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x20, W
	ADDWF	r0x1c, F
	MOVF	r0x21, W
	ADDWFC	r0x1d, F
	MOVF	r0x22, W
	ADDWFC	r0x1e, F
	MOVF	r0x23, W
	ADDWFC	r0x1f, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x90
	MOVWF	POSTDEC1
	BANKSEL	(_modul + 3)
	MOVF	(_modul + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_modul + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_modul + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_modul, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x20
	MOVFF	PRODL, r0x21
	MOVFF	PRODH, r0x22
	MOVFF	FSR0L, r0x23
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x20, W
	ADDWF	r0x1c, F
	MOVF	r0x21, W
	ADDWFC	r0x1d, F
	MOVF	r0x22, W
	ADDWFC	r0x1e, F
	MOVF	r0x23, W
	ADDWFC	r0x1f, F
;	.line	197; src/general.c	if (i<=7) {
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00671_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00671_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00671_DS_
	MOVLW	0x08
	SUBWF	r0x00, W
_00671_DS_:
	BC	_00648_DS_
;	.line	198; src/general.c	k=(((parametersleft[i].modeSelect)&0x02)>>1);
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x04, W
	MOVWF	r0x20
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x05, W
	MOVWF	r0x21
	MOVLW	0x0b
	ADDWF	r0x20, F
	BTFSC	STATUS, 0
	INCF	r0x21, F
	MOVFF	r0x20, FSR0L
	MOVFF	r0x21, FSR0H
	MOVFF	INDF0, r0x20
	MOVLW	0x02
	ANDWF	r0x20, F
	BCF	STATUS, 0
	RRCF	r0x20, W
	MOVWF	r0x20
	BRA	_00649_DS_
_00648_DS_:
;	.line	200; src/general.c	k=(((parametersright[i%8].modeSelect)&0x02)>>1);
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x21
	CLRF	r0x22
	CLRF	r0x23
	CLRF	r0x24
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	MOVF	r0x21, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x21
	MOVFF	PRODL, r0x22
	MOVFF	PRODH, r0x23
	MOVFF	FSR0L, r0x24
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	LOW(_parametersright)
	ADDWF	r0x21, F
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x22, F
	MOVLW	0x0b
	ADDWF	r0x21, F
	BTFSC	STATUS, 0
	INCF	r0x22, F
	MOVFF	r0x21, FSR0L
	MOVFF	r0x22, FSR0H
	MOVFF	INDF0, r0x21
	MOVLW	0x02
	ANDWF	r0x21, F
	BCF	STATUS, 0
	RRCF	r0x21, W
	MOVWF	r0x20
_00649_DS_:
;	.line	203; src/general.c	if (i<=7) {
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00675_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00675_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00675_DS_
	MOVLW	0x08
	SUBWF	r0x00, W
_00675_DS_:
	BTFSC	STATUS, 0
	BRA	_00655_DS_
;	.line	204; src/general.c	if ((parametersleft[i].edit)&0x1000) {
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x18, W
	MOVWF	r0x21
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x19, W
	MOVWF	r0x22
	MOVLW	0x15
	ADDWF	r0x21, F
	BTFSC	STATUS, 0
	INCF	r0x22, F
	MOVFF	r0x21, FSR0L
	MOVFF	r0x22, FSR0H
	MOVFF	POSTINC0, r0x21
	MOVFF	INDF0, r0x22
	BTFSS	r0x22, 4
	BRA	_00659_DS_
;	.line	205; src/general.c	value=((((char)(potis[i]))>>(7*k))&0x7F);
	MOVLW	LOW(_potis)
	ADDWF	r0x10, W
	MOVWF	r0x21
	MOVLW	HIGH(_potis)
	ADDWFC	r0x11, W
	MOVWF	r0x22
	MOVFF	r0x21, FSR0L
	MOVFF	r0x22, FSR0H
	MOVFF	POSTINC0, r0x21
	MOVFF	INDF0, r0x22
; ;multiply lit val:0x07 by variable r0x20 and store in r0x22
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x20, W
	MULLW	0x07
	MOVFF	PRODL, r0x22
	MOVLW	0x07
	BTFSC	r0x20, 7
	SUBWF	PRODH, F
	MOVFF	PRODH, r0x23
	MOVF	r0x22, W
	BZ	_00676_DS_
	BN	_00679_DS_
	NEGF	WREG
	BCF	STATUS, 0
_00677_DS_:
	BTFSC	r0x21, 7
	BSF	STATUS, 0
	RRCF	r0x21, F
	ADDLW	0x01
	BNC	_00677_DS_
	BRA	_00676_DS_
_00679_DS_:
	BCF	STATUS, 0
_00678_DS_:
	RLCF	r0x21, F
	ADDLW	0x01
	BNC	_00678_DS_
_00676_DS_:
	BCF	r0x21, 7
;	.line	206; src/general.c	writeBank (((i*PARAMETER_LENGTH+18)+offset),value);
	MOVLW	0x12
	ADDWF	r0x14, W
	MOVWF	r0x22
	MOVLW	0x00
	ADDWFC	r0x15, W
	MOVWF	r0x23
	MOVLW	0x00
	ADDWFC	r0x16, W
	MOVWF	r0x24
	MOVLW	0x00
	ADDWFC	r0x17, W
	MOVWF	r0x25
	MOVF	r0x1c, W
	ADDWF	r0x22, F
	MOVF	r0x1d, W
	ADDWFC	r0x23, F
	MOVF	r0x1e, W
	ADDWFC	r0x24, F
	MOVF	r0x1f, W
	ADDWFC	r0x25, F
	MOVF	r0x21, W
	MOVWF	POSTDEC1
	MOVF	r0x25, W
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	207; src/general.c	value=((((char)(potis[i]))>>(7*(1-k)))&0x7F);
	MOVLW	LOW(_potis)
	ADDWF	r0x10, W
	MOVWF	r0x22
	MOVLW	HIGH(_potis)
	ADDWFC	r0x11, W
	MOVWF	r0x23
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, FSR0H
	MOVFF	POSTINC0, r0x22
	MOVFF	INDF0, r0x23
	MOVFF	r0x20, r0x23
	CLRF	r0x24
	BTFSC	r0x20, 7
	SETF	r0x24
	MOVF	r0x23, W
	SUBLW	0x01
	MOVWF	r0x23
	MOVLW	0x00
	SUBFWB	r0x24, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x07
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x23
	MOVFF	PRODL, r0x24
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x23, W
	BZ	_00681_DS_
	BN	_00684_DS_
	NEGF	WREG
	BCF	STATUS, 0
_00682_DS_:
	BTFSC	r0x22, 7
	BSF	STATUS, 0
	RRCF	r0x22, F
	ADDLW	0x01
	BNC	_00682_DS_
	BRA	_00681_DS_
_00684_DS_:
	BCF	STATUS, 0
_00683_DS_:
	RLCF	r0x22, F
	ADDLW	0x01
	BNC	_00683_DS_
_00681_DS_:
	MOVLW	0x7f
	ANDWF	r0x22, W
	MOVWF	r0x21
;	.line	208; src/general.c	writeBank (((i*PARAMETER_LENGTH+19)+offset),value);
	MOVLW	0x13
	ADDWF	r0x14, W
	MOVWF	r0x22
	MOVLW	0x00
	ADDWFC	r0x15, W
	MOVWF	r0x23
	MOVLW	0x00
	ADDWFC	r0x16, W
	MOVWF	r0x24
	MOVLW	0x00
	ADDWFC	r0x17, W
	MOVWF	r0x25
	MOVF	r0x1c, W
	ADDWF	r0x22, F
	MOVF	r0x1d, W
	ADDWFC	r0x23, F
	MOVF	r0x1e, W
	ADDWFC	r0x24, F
	MOVF	r0x1f, W
	ADDWFC	r0x25, F
	MOVF	r0x21, W
	MOVWF	POSTDEC1
	MOVF	r0x25, W
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
	BRA	_00659_DS_
_00655_DS_:
;	.line	212; src/general.c	if ((parametersright[i%8].edit)&0x1000) {
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x22
	CLRF	r0x23
	CLRF	r0x24
	CLRF	r0x25
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVF	r0x25, W
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x22
	MOVFF	PRODL, r0x23
	MOVFF	PRODH, r0x24
	MOVFF	FSR0L, r0x25
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	LOW(_parametersright)
	ADDWF	r0x22, F
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x23, F
	MOVLW	0x15
	ADDWF	r0x22, F
	BTFSC	STATUS, 0
	INCF	r0x23, F
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, FSR0H
	MOVFF	POSTINC0, r0x22
	MOVFF	INDF0, r0x23
	BTFSS	r0x23, 4
	BRA	_00659_DS_
;	.line	213; src/general.c	value=((((char)(potis[i]))>>(7*k))&0x7F);
	MOVLW	LOW(_potis)
	ADDWF	r0x08, W
	MOVWF	r0x22
	MOVLW	HIGH(_potis)
	ADDWFC	r0x09, W
	MOVWF	r0x23
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, FSR0H
	MOVFF	POSTINC0, r0x22
	MOVFF	INDF0, r0x23
; ;multiply lit val:0x07 by variable r0x20 and store in r0x23
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x20, W
	MULLW	0x07
	MOVFF	PRODL, r0x23
	MOVLW	0x07
	BTFSC	r0x20, 7
	SUBWF	PRODH, F
	MOVFF	PRODH, r0x24
	MOVF	r0x23, W
	BZ	_00687_DS_
	BN	_00690_DS_
	NEGF	WREG
	BCF	STATUS, 0
_00688_DS_:
	BTFSC	r0x22, 7
	BSF	STATUS, 0
	RRCF	r0x22, F
	ADDLW	0x01
	BNC	_00688_DS_
	BRA	_00687_DS_
_00690_DS_:
	BCF	STATUS, 0
_00689_DS_:
	RLCF	r0x22, F
	ADDLW	0x01
	BNC	_00689_DS_
_00687_DS_:
	MOVLW	0x7f
	ANDWF	r0x22, W
	MOVWF	r0x21
;	.line	214; src/general.c	writeBank (((i*PARAMETER_LENGTH+18)+offset),value);
	MOVLW	0x12
	ADDWF	r0x0c, W
	MOVWF	r0x22
	MOVLW	0x00
	ADDWFC	r0x0d, W
	MOVWF	r0x23
	MOVLW	0x00
	ADDWFC	r0x0e, W
	MOVWF	r0x24
	MOVLW	0x00
	ADDWFC	r0x0f, W
	MOVWF	r0x25
	MOVF	r0x1c, W
	ADDWF	r0x22, F
	MOVF	r0x1d, W
	ADDWFC	r0x23, F
	MOVF	r0x1e, W
	ADDWFC	r0x24, F
	MOVF	r0x1f, W
	ADDWFC	r0x25, F
	MOVF	r0x21, W
	MOVWF	POSTDEC1
	MOVF	r0x25, W
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
;	.line	215; src/general.c	value=((((char)(potis[i]))>>(7*(1-k)))&0x7F);
	MOVLW	LOW(_potis)
	ADDWF	r0x08, W
	MOVWF	r0x22
	MOVLW	HIGH(_potis)
	ADDWFC	r0x09, W
	MOVWF	r0x23
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, FSR0H
	MOVFF	POSTINC0, r0x22
	MOVFF	INDF0, r0x23
	CLRF	r0x23
	BTFSC	r0x20, 7
	SETF	r0x23
	MOVF	r0x20, W
	SUBLW	0x01
	MOVWF	r0x20
	MOVLW	0x00
	SUBFWB	r0x23, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x07
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x20, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x20
	MOVFF	PRODL, r0x23
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x20, W
	BZ	_00692_DS_
	BN	_00695_DS_
	NEGF	WREG
	BCF	STATUS, 0
_00693_DS_:
	BTFSC	r0x22, 7
	BSF	STATUS, 0
	RRCF	r0x22, F
	ADDLW	0x01
	BNC	_00693_DS_
	BRA	_00692_DS_
_00695_DS_:
	BCF	STATUS, 0
_00694_DS_:
	RLCF	r0x22, F
	ADDLW	0x01
	BNC	_00694_DS_
_00692_DS_:
	MOVLW	0x7f
	ANDWF	r0x22, W
	MOVWF	r0x21
;	.line	216; src/general.c	writeBank (((i*PARAMETER_LENGTH+19)+offset),value);
	MOVLW	0x13
	ADDWF	r0x0c, W
	MOVWF	r0x20
	MOVLW	0x00
	ADDWFC	r0x0d, W
	MOVWF	r0x22
	MOVLW	0x00
	ADDWFC	r0x0e, W
	MOVWF	r0x23
	MOVLW	0x00
	ADDWFC	r0x0f, W
	MOVWF	r0x24
	MOVF	r0x20, W
	ADDWF	r0x1c, F
	MOVF	r0x22, W
	ADDWFC	r0x1d, F
	MOVF	r0x23, W
	ADDWFC	r0x1e, F
	MOVF	r0x24, W
	ADDWFC	r0x1f, F
	MOVF	r0x21, W
	MOVWF	POSTDEC1
	MOVF	r0x1f, W
	MOVWF	POSTDEC1
	MOVF	r0x1e, W
	MOVWF	POSTDEC1
	MOVF	r0x1d, W
	MOVWF	POSTDEC1
	MOVF	r0x1c, W
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
_00659_DS_:
;	.line	178; src/general.c	for (i=0;i<16;i++)	{
	MOVLW	0x1c
	ADDWF	r0x04, F
	MOVLW	0x00
	ADDWFC	r0x05, F
	MOVLW	0x00
	ADDWFC	r0x06, F
	MOVLW	0x00
	ADDWFC	r0x07, F
	MOVLW	0x02
	ADDWF	r0x08, F
	MOVLW	0x00
	ADDWFC	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	ADDWFC	r0x0b, F
	MOVLW	0x19
	ADDWF	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVLW	0x00
	ADDWFC	r0x0e, F
	MOVLW	0x00
	ADDWFC	r0x0f, F
	MOVLW	0x02
	ADDWF	r0x10, F
	MOVLW	0x00
	ADDWFC	r0x11, F
	MOVLW	0x00
	ADDWFC	r0x12, F
	MOVLW	0x00
	ADDWFC	r0x13, F
	MOVLW	0x19
	ADDWF	r0x14, F
	MOVLW	0x00
	ADDWFC	r0x15, F
	MOVLW	0x00
	ADDWFC	r0x16, F
	MOVLW	0x00
	ADDWFC	r0x17, F
	MOVLW	0x1c
	ADDWF	r0x18, F
	MOVLW	0x00
	ADDWFC	r0x19, F
	MOVLW	0x00
	ADDWFC	r0x1a, F
	MOVLW	0x00
	ADDWFC	r0x1b, F
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	GOTO	_00657_DS_
_00661_DS_:
	MOVFF	PREINC1, r0x25
	MOVFF	PREINC1, r0x24
	MOVFF	PREINC1, r0x23
	MOVFF	PREINC1, r0x22
	MOVFF	PREINC1, r0x21
	MOVFF	PREINC1, r0x20
	MOVFF	PREINC1, r0x1f
	MOVFF	PREINC1, r0x1e
	MOVFF	PREINC1, r0x1d
	MOVFF	PREINC1, r0x1c
	MOVFF	PREINC1, r0x1b
	MOVFF	PREINC1, r0x1a
	MOVFF	PREINC1, r0x19
	MOVFF	PREINC1, r0x18
	MOVFF	PREINC1, r0x17
	MOVFF	PREINC1, r0x16
	MOVFF	PREINC1, r0x15
	MOVFF	PREINC1, r0x14
	MOVFF	PREINC1, r0x13
	MOVFF	PREINC1, r0x12
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__loadParameterPage	code
_loadParameterPage:
;	.line	130; src/general.c	void loadParameterPage() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
	MOVFF	r0x12, POSTDEC1
	MOVFF	r0x13, POSTDEC1
	MOVFF	r0x14, POSTDEC1
	MOVFF	r0x15, POSTDEC1
	MOVFF	r0x16, POSTDEC1
	MOVFF	r0x17, POSTDEC1
	MOVFF	r0x18, POSTDEC1
	MOVFF	r0x19, POSTDEC1
	MOVFF	r0x1a, POSTDEC1
	MOVFF	r0x1b, POSTDEC1
	MOVFF	r0x1c, POSTDEC1
	MOVFF	r0x1d, POSTDEC1
	MOVFF	r0x1e, POSTDEC1
	MOVFF	r0x1f, POSTDEC1
	MOVFF	r0x20, POSTDEC1
	MOVFF	r0x21, POSTDEC1
	MOVFF	r0x22, POSTDEC1
	MOVFF	r0x23, POSTDEC1
	MOVFF	r0x24, POSTDEC1
	MOVFF	r0x25, POSTDEC1
	MOVFF	r0x26, POSTDEC1
	MOVFF	r0x27, POSTDEC1
	MOVFF	r0x28, POSTDEC1
	MOVFF	r0x29, POSTDEC1
	MOVFF	r0x2a, POSTDEC1
	MOVFF	r0x2b, POSTDEC1
	MOVFF	r0x2c, POSTDEC1
;	.line	134; src/general.c	for (i=0;i<8;i++)	{
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	CLRF	r0x08
	CLRF	r0x09
	CLRF	r0x0a
	CLRF	r0x0b
	CLRF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	CLRF	r0x10
	CLRF	r0x11
	CLRF	r0x12
	CLRF	r0x13
	CLRF	r0x14
	CLRF	r0x15
	CLRF	r0x16
	CLRF	r0x17
_00574_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00614_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00614_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00614_DS_
	MOVLW	0x08
	SUBWF	r0x00, W
_00614_DS_:
	BTFSC	STATUS, 0
	GOTO	_00577_DS_
;	.line	135; src/general.c	offset = (i*PARAMETER_LENGTH+BASE+DEVICE_MENU_LENGTH+MODUL_MENU_LENGTH+device*DEVICE_LENGTH+bank*BANK_LENGTH+modul*MODUL_LENGTH);
	MOVLW	0x60
	ADDWF	r0x04, W
	MOVWF	r0x18
	MOVLW	0x59
	ADDWFC	r0x05, W
	MOVWF	r0x19
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x1a
	MOVLW	0x00
	ADDWFC	r0x07, W
	MOVWF	r0x1b
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x64
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x1c
	MOVFF	PRODL, r0x1d
	MOVFF	PRODH, r0x1e
	MOVFF	FSR0L, r0x1f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x1c, W
	ADDWF	r0x18, F
	MOVF	r0x1d, W
	ADDWFC	r0x19, F
	MOVF	r0x1e, W
	ADDWFC	r0x1a, F
	MOVF	r0x1f, W
	ADDWFC	r0x1b, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x19
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_bank + 3)
	MOVF	(_bank + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_bank, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x1c
	MOVFF	PRODL, r0x1d
	MOVFF	PRODH, r0x1e
	MOVFF	FSR0L, r0x1f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x1c, W
	ADDWF	r0x18, F
	MOVF	r0x1d, W
	ADDWFC	r0x19, F
	MOVF	r0x1e, W
	ADDWFC	r0x1a, F
	MOVF	r0x1f, W
	ADDWFC	r0x1b, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x90
	MOVWF	POSTDEC1
	BANKSEL	(_modul + 3)
	MOVF	(_modul + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_modul + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_modul + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_modul, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x1c
	MOVFF	PRODL, r0x1d
	MOVFF	PRODH, r0x1e
	MOVFF	FSR0L, r0x1f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x1c, W
	ADDWF	r0x18, F
	MOVF	r0x1d, W
	ADDWFC	r0x19, F
	MOVF	r0x1e, W
	ADDWFC	r0x1a, F
	MOVF	r0x1f, W
	ADDWFC	r0x1b, F
;	.line	136; src/general.c	for (k=0;k<PARAMETER_LENGTH;k++) {
	CLRF	r0x1c
	CLRF	r0x1d
	CLRF	r0x1e
	CLRF	r0x1f
_00566_DS_:
	MOVLW	0x00
	SUBWF	r0x1f, W
	BNZ	_00615_DS_
	MOVLW	0x00
	SUBWF	r0x1e, W
	BNZ	_00615_DS_
	MOVLW	0x00
	SUBWF	r0x1d, W
	BNZ	_00615_DS_
	MOVLW	0x19
	SUBWF	r0x1c, W
_00615_DS_:
	BTFSC	STATUS, 0
	BRA	_00569_DS_
;	.line	137; src/general.c	(((char*)(&(parametersleft[i])))[k]) = readBank (k+offset);
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x08, W
	MOVWF	r0x20
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x09, W
	MOVWF	r0x21
	MOVF	r0x21, W
	MOVWF	r0x21
	MOVF	r0x20, W
	MOVWF	r0x20
	MOVLW	0x80
	MOVWF	r0x22
	MOVF	r0x1c, W
	ADDWF	r0x20, F
	MOVF	r0x1d, W
	ADDWFC	r0x21, F
	MOVF	r0x1e, W
	ADDWFC	r0x22, F
	MOVF	r0x18, W
	ADDWF	r0x1c, W
	MOVWF	r0x23
	MOVF	r0x19, W
	ADDWFC	r0x1d, W
	MOVWF	r0x24
	MOVF	r0x1a, W
	ADDWFC	r0x1e, W
	MOVWF	r0x25
	MOVF	r0x1b, W
	ADDWFC	r0x1f, W
	MOVWF	r0x26
	MOVF	r0x26, W
	MOVWF	POSTDEC1
	MOVF	r0x25, W
	MOVWF	POSTDEC1
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x23
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x23, POSTDEC1
	MOVFF	r0x20, FSR0L
	MOVFF	r0x21, PRODL
	MOVF	r0x22, W
	CALL	__gptrput1
;	.line	136; src/general.c	for (k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x1c, F
	BTFSC	STATUS, 0
	INCF	r0x1d, F
	BTFSC	STATUS, 0
	INCF	r0x1e, F
	BTFSC	STATUS, 0
	INCF	r0x1f, F
	BRA	_00566_DS_
_00569_DS_:
;	.line	140; src/general.c	value=(((int)(parametersleft[i].value[0]))<<(7*(((parametersleft[i].modeSelect)&0x02)>>1))) | ((int)(parametersleft[i].value[1])*(((parametersleft[i].modeSelect)&0x02)>>1));
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x10, W
	MOVWF	r0x1c
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x11, W
	MOVWF	r0x1d
	MOVLW	0x12
	ADDWF	r0x1c, W
	MOVWF	r0x1e
	MOVLW	0x00
	ADDWFC	r0x1d, W
	MOVWF	r0x1f
	MOVFF	r0x1e, FSR0L
	MOVFF	r0x1f, FSR0H
	MOVFF	INDF0, r0x20
	CLRF	r0x21
	MOVLW	0x0b
	ADDWF	r0x1c, W
	MOVWF	r0x22
	MOVLW	0x00
	ADDWFC	r0x1d, W
	MOVWF	r0x23
	MOVFF	r0x22, FSR0L
	MOVFF	r0x23, FSR0H
	MOVFF	INDF0, r0x22
	MOVLW	0x02
	ANDWF	r0x22, F
	BCF	STATUS, 0
	RRCF	r0x22, W
	MOVWF	r0x22
; ;multiply lit val:0x07 by variable r0x22 and store in r0x23
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x22, W
	MULLW	0x07
	MOVFF	PRODL, r0x23
	MOVFF	PRODH, r0x24
	MOVFF	r0x20, r0x25
	MOVFF	r0x21, r0x26
	MOVF	r0x23, W
	BZ	_00617_DS_
	BN	_00620_DS_
	NEGF	WREG
	BCF	STATUS, 0
_00618_DS_:
	RLCF	r0x25, F
	RLCF	r0x26, F
	ADDLW	0x01
	BNC	_00618_DS_
	BRA	_00617_DS_
_00620_DS_:
	BCF	STATUS, 0
_00619_DS_:
	BTFSC	r0x26, 7
	BSF	STATUS, 0
	RRCF	r0x26, F
	RRCF	r0x25, F
	ADDLW	0x01
	BNC	_00619_DS_
_00617_DS_:
	INCF	r0x1e, F
	BTFSC	STATUS, 0
	INCF	r0x1f, F
	MOVFF	r0x1e, FSR0L
	MOVFF	r0x1f, FSR0H
	MOVFF	INDF0, r0x1e
	CLRF	r0x1f
	CLRF	r0x20
	MOVF	r0x20, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	MOVF	r0x1f, W
	MOVWF	POSTDEC1
	MOVF	r0x1e, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x1e
	MOVFF	PRODL, r0x1f
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x25, W
	IORWF	r0x1e, F
	MOVF	r0x26, W
	IORWF	r0x1f, F
;	.line	141; src/general.c	potis[i]=value;
	MOVLW	LOW(_potis)
	ADDWF	r0x14, W
	MOVWF	r0x20
	MOVLW	HIGH(_potis)
	ADDWFC	r0x15, W
	MOVWF	r0x21
	MOVFF	r0x20, FSR0L
	MOVFF	r0x21, FSR0H
	MOVFF	r0x1e, POSTINC0
	MOVFF	r0x1f, INDF0
;	.line	143; src/general.c	if(parametersleft[i].messageChannel&0x70 && (parametersleft[i].number[0]!=0 || parametersleft[i].number[1]!=0)) {
	MOVLW	0x0a
	ADDWF	r0x1c, W
	MOVWF	r0x20
	MOVLW	0x00
	ADDWFC	r0x1d, W
	MOVWF	r0x21
	MOVFF	r0x20, FSR0L
	MOVFF	r0x21, FSR0H
	MOVFF	INDF0, r0x20
	MOVF	r0x20, W
	ANDLW	0x70
	BNZ	_00621_DS_
	BRA	_00576_DS_
_00621_DS_:
	MOVLW	0x0c
	ADDWF	r0x1c, W
	MOVWF	r0x20
	MOVLW	0x00
	ADDWFC	r0x1d, W
	MOVWF	r0x21
	MOVFF	r0x20, FSR0L
	MOVFF	r0x21, FSR0H
	MOVFF	INDF0, r0x20
	MOVF	r0x20, W
	BNZ	_00558_DS_
	MOVLW	0x0c
	ADDWF	r0x1c, F
	BTFSC	STATUS, 0
	INCF	r0x1d, F
	INCF	r0x1c, F
	BTFSC	STATUS, 0
	INCF	r0x1d, F
	MOVFF	r0x1c, FSR0L
	MOVFF	r0x1d, FSR0H
	MOVFF	INDF0, r0x1c
	MOVF	r0x1c, W
	BNZ	_00558_DS_
	BRA	_00576_DS_
_00558_DS_:
;	.line	144; src/general.c	x=(parametersleft[i].number[0]<<8|parametersleft[i].number[1]);
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x0c, W
	MOVWF	r0x1c
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x0d, W
	MOVWF	r0x1d
	MOVLW	0x0c
	ADDWF	r0x1c, F
	BTFSC	STATUS, 0
	INCF	r0x1d, F
	MOVFF	r0x1c, FSR0L
	MOVFF	r0x1d, FSR0H
	MOVFF	INDF0, r0x20
	CLRF	r0x21
	MOVF	r0x20, W
	MOVWF	r0x23
	CLRF	r0x22
	INCF	r0x1c, F
	BTFSC	STATUS, 0
	INCF	r0x1d, F
	MOVFF	r0x1c, FSR0L
	MOVFF	r0x1d, FSR0H
	MOVFF	INDF0, r0x1c
	CLRF	r0x1d
	MOVF	r0x1c, W
	IORWF	r0x22, F
	MOVF	r0x1d, W
	IORWF	r0x23, F
	MOVFF	r0x22, r0x1c
	MOVFF	r0x23, r0x1d
	CLRF	WREG
	BTFSC	r0x23, 7
	MOVLW	0xff
	MOVWF	r0x20
	MOVWF	r0x21
;	.line	145; src/general.c	x+=BASE_DYNMEM+DYNBLOCK_LENGTH*device;
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x22
	MOVFF	PRODL, r0x23
	MOVFF	PRODH, r0x24
	MOVFF	FSR0L, r0x25
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x08
	ADDWF	r0x24, F
	MOVLW	0x00
	ADDWFC	r0x25, F
	MOVF	r0x22, W
	ADDWF	r0x1c, F
	MOVF	r0x23, W
	ADDWFC	r0x1d, F
	MOVF	r0x24, W
	ADDWFC	r0x20, F
	MOVF	r0x25, W
	ADDWFC	r0x21, F
;	.line	146; src/general.c	for(k=0;k<(long)sizeof(SysexStruct);k++) {
	CLRF	r0x22
	CLRF	r0x23
	CLRF	r0x24
	CLRF	r0x25
_00570_DS_:
	MOVLW	0x00
	SUBWF	r0x25, W
	BNZ	_00626_DS_
	MOVLW	0x00
	SUBWF	r0x24, W
	BNZ	_00626_DS_
	MOVLW	0x00
	SUBWF	r0x23, W
	BNZ	_00626_DS_
	MOVLW	0x03
	SUBWF	r0x22, W
_00626_DS_:
	BTFSC	STATUS, 0
	BRA	_00576_DS_
;	.line	147; src/general.c	((char*)(parametersleft[i].sysex))[k]=readBank(x+k);
	MOVLW	LOW(_parametersleft)
	ADDWF	r0x0c, W
	MOVWF	r0x26
	MOVLW	HIGH(_parametersleft)
	ADDWFC	r0x0d, W
	MOVWF	r0x27
	MOVLW	0x19
	ADDWF	r0x26, F
	BTFSC	STATUS, 0
	INCF	r0x27, F
	MOVF	r0x27, W
	MOVWF	r0x27
	MOVF	r0x26, W
	MOVWF	r0x26
	MOVLW	0x80
	MOVWF	r0x28
	MOVF	r0x22, W
	ADDWF	r0x26, F
	MOVF	r0x23, W
	ADDWFC	r0x27, F
	MOVF	r0x24, W
	ADDWFC	r0x28, F
	MOVF	r0x22, W
	ADDWF	r0x1c, W
	MOVWF	r0x29
	MOVF	r0x23, W
	ADDWFC	r0x1d, W
	MOVWF	r0x2a
	MOVF	r0x24, W
	ADDWFC	r0x20, W
	MOVWF	r0x2b
	MOVF	r0x25, W
	ADDWFC	r0x21, W
	MOVWF	r0x2c
	MOVF	r0x2c, W
	MOVWF	POSTDEC1
	MOVF	r0x2b, W
	MOVWF	POSTDEC1
	MOVF	r0x2a, W
	MOVWF	POSTDEC1
	MOVF	r0x29, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x29
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x29, POSTDEC1
	MOVFF	r0x26, FSR0L
	MOVFF	r0x27, PRODL
	MOVF	r0x28, W
	CALL	__gptrput1
;	.line	146; src/general.c	for(k=0;k<(long)sizeof(SysexStruct);k++) {
	INCF	r0x22, F
	BTFSC	STATUS, 0
	INCF	r0x23, F
	BTFSC	STATUS, 0
	INCF	r0x24, F
	BTFSC	STATUS, 0
	INCF	r0x25, F
	BRA	_00570_DS_
_00576_DS_:
;	.line	134; src/general.c	for (i=0;i<8;i++)	{
	MOVLW	0x19
	ADDWF	r0x04, F
	MOVLW	0x00
	ADDWFC	r0x05, F
	MOVLW	0x00
	ADDWFC	r0x06, F
	MOVLW	0x00
	ADDWFC	r0x07, F
	MOVLW	0x1c
	ADDWF	r0x08, F
	MOVLW	0x00
	ADDWFC	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	ADDWFC	r0x0b, F
	MOVLW	0x1c
	ADDWF	r0x0c, F
	MOVLW	0x00
	ADDWFC	r0x0d, F
	MOVLW	0x00
	ADDWFC	r0x0e, F
	MOVLW	0x00
	ADDWFC	r0x0f, F
	MOVLW	0x1c
	ADDWF	r0x10, F
	MOVLW	0x00
	ADDWFC	r0x11, F
	MOVLW	0x00
	ADDWFC	r0x12, F
	MOVLW	0x00
	ADDWFC	r0x13, F
	MOVLW	0x02
	ADDWF	r0x14, F
	MOVLW	0x00
	ADDWFC	r0x15, F
	MOVLW	0x00
	ADDWFC	r0x16, F
	MOVLW	0x00
	ADDWFC	r0x17, F
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	GOTO	_00574_DS_
_00577_DS_:
;	.line	153; src/general.c	for (i=8;i<16;i++) {
	MOVLW	0x08
	MOVWF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	MOVLW	0xc8
	MOVWF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	MOVLW	0x10
	MOVWF	r0x08
	CLRF	r0x09
	CLRF	r0x0a
	CLRF	r0x0b
_00586_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00627_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00627_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00627_DS_
	MOVLW	0x10
	SUBWF	r0x00, W
_00627_DS_:
	BTFSC	STATUS, 0
	GOTO	_00590_DS_
;	.line	154; src/general.c	offset = (i*PARAMETER_LENGTH+BASE+DEVICE_MENU_LENGTH+MODUL_MENU_LENGTH+device*DEVICE_LENGTH+bank*BANK_LENGTH+modul*MODUL_LENGTH);
	MOVLW	0x60
	ADDWF	r0x04, W
	MOVWF	r0x0c
	MOVLW	0x59
	ADDWFC	r0x05, W
	MOVWF	r0x0d
	MOVLW	0x00
	ADDWFC	r0x06, W
	MOVWF	r0x0e
	MOVLW	0x00
	ADDWFC	r0x07, W
	MOVWF	r0x0f
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x64
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x10
	MOVFF	PRODL, r0x11
	MOVFF	PRODH, r0x12
	MOVFF	FSR0L, r0x13
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x10, W
	ADDWF	r0x0c, F
	MOVF	r0x11, W
	ADDWFC	r0x0d, F
	MOVF	r0x12, W
	ADDWFC	r0x0e, F
	MOVF	r0x13, W
	ADDWFC	r0x0f, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x19
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_bank + 3)
	MOVF	(_bank + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_bank, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x10
	MOVFF	PRODL, r0x11
	MOVFF	PRODH, r0x12
	MOVFF	FSR0L, r0x13
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x10, W
	ADDWF	r0x0c, F
	MOVF	r0x11, W
	ADDWFC	r0x0d, F
	MOVF	r0x12, W
	ADDWFC	r0x0e, F
	MOVF	r0x13, W
	ADDWFC	r0x0f, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x90
	MOVWF	POSTDEC1
	BANKSEL	(_modul + 3)
	MOVF	(_modul + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_modul + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_modul + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_modul, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x10
	MOVFF	PRODL, r0x11
	MOVFF	PRODH, r0x12
	MOVFF	FSR0L, r0x13
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x10, W
	ADDWF	r0x0c, W
	MOVWF	r0x18
	MOVF	r0x11, W
	ADDWFC	r0x0d, W
	MOVWF	r0x19
	MOVF	r0x12, W
	ADDWFC	r0x0e, W
	MOVWF	r0x1a
	MOVF	r0x13, W
	ADDWFC	r0x0f, W
	MOVWF	r0x1b
;	.line	155; src/general.c	for (k=0;k<PARAMETER_LENGTH;k++) {
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0c
	MOVFF	PRODL, r0x0d
	MOVFF	PRODH, r0x0e
	MOVFF	FSR0L, r0x0f
	MOVLW	0x08
	ADDWF	FSR1L, F
	CLRF	r0x10
	CLRF	r0x11
	CLRF	r0x12
	CLRF	r0x13
_00578_DS_:
	MOVLW	0x00
	SUBWF	r0x13, W
	BNZ	_00629_DS_
	MOVLW	0x00
	SUBWF	r0x12, W
	BNZ	_00629_DS_
	MOVLW	0x00
	SUBWF	r0x11, W
	BNZ	_00629_DS_
	MOVLW	0x19
	SUBWF	r0x10, W
_00629_DS_:
	BTFSC	STATUS, 0
	BRA	_00581_DS_
;	.line	156; src/general.c	(((char*)(&(parametersright[i%8])))[k]) = readBank (k+offset);
	MOVLW	LOW(_parametersright)
	ADDWF	r0x0c, W
	MOVWF	r0x14
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x0d, W
	MOVWF	r0x15
	MOVF	r0x15, W
	MOVWF	r0x15
	MOVF	r0x14, W
	MOVWF	r0x14
	MOVLW	0x80
	MOVWF	r0x16
	MOVF	r0x10, W
	ADDWF	r0x14, F
	MOVF	r0x11, W
	ADDWFC	r0x15, F
	MOVF	r0x12, W
	ADDWFC	r0x16, F
	MOVF	r0x18, W
	ADDWF	r0x10, W
	MOVWF	r0x17
	MOVF	r0x19, W
	ADDWFC	r0x11, W
	MOVWF	r0x22
	MOVF	r0x1a, W
	ADDWFC	r0x12, W
	MOVWF	r0x23
	MOVF	r0x1b, W
	ADDWFC	r0x13, W
	MOVWF	r0x24
	MOVF	r0x24, W
	MOVWF	POSTDEC1
	MOVF	r0x23, W
	MOVWF	POSTDEC1
	MOVF	r0x22, W
	MOVWF	POSTDEC1
	MOVF	r0x17, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x17
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x17, POSTDEC1
	MOVFF	r0x14, FSR0L
	MOVFF	r0x15, PRODL
	MOVF	r0x16, W
	CALL	__gptrput1
;	.line	155; src/general.c	for (k=0;k<PARAMETER_LENGTH;k++) {
	INCF	r0x10, F
	BTFSC	STATUS, 0
	INCF	r0x11, F
	BTFSC	STATUS, 0
	INCF	r0x12, F
	BTFSC	STATUS, 0
	INCF	r0x13, F
	BRA	_00578_DS_
_00581_DS_:
;	.line	158; src/general.c	value=(((int)(parametersright[i%8].value[0]))<<(7*(((parametersright[i%8].modeSelect)&0x02)>>1))) | ((int)(parametersright[i%8].value[1])*((parametersright[i%8].modeSelect)&0x02)>>1);
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0c
	MOVFF	PRODL, r0x0d
	MOVFF	PRODH, r0x0e
	MOVFF	FSR0L, r0x0f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	LOW(_parametersright)
	ADDWF	r0x0c, F
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x0d, F
	MOVLW	0x12
	ADDWF	r0x0c, W
	MOVWF	r0x0e
	MOVLW	0x00
	ADDWFC	r0x0d, W
	MOVWF	r0x0f
	MOVFF	r0x0e, FSR0L
	MOVFF	r0x0f, FSR0H
	MOVFF	INDF0, r0x10
	CLRF	r0x11
	MOVLW	0x0b
	ADDWF	r0x0c, W
	MOVWF	r0x12
	MOVLW	0x00
	ADDWFC	r0x0d, W
	MOVWF	r0x13
	MOVFF	r0x12, FSR0L
	MOVFF	r0x13, FSR0H
	MOVFF	INDF0, r0x12
	MOVLW	0x02
	ANDWF	r0x12, F
	BCF	STATUS, 0
	RRCF	r0x12, W
	MOVWF	r0x13
; ;multiply lit val:0x07 by variable r0x13 and store in r0x13
; ;Unrolled 8 X 8 multiplication
; ;FIXME: the function does not support result==WREG
	MOVF	r0x13, W
	MULLW	0x07
	MOVFF	PRODL, r0x13
	MOVFF	PRODH, r0x14
	MOVFF	r0x10, r0x15
	MOVFF	r0x11, r0x16
	MOVF	r0x13, W
	BZ	_00632_DS_
	BN	_00635_DS_
	NEGF	WREG
	BCF	STATUS, 0
_00633_DS_:
	RLCF	r0x15, F
	RLCF	r0x16, F
	ADDLW	0x01
	BNC	_00633_DS_
	BRA	_00632_DS_
_00635_DS_:
	BCF	STATUS, 0
_00634_DS_:
	BTFSC	r0x16, 7
	BSF	STATUS, 0
	RRCF	r0x16, F
	RRCF	r0x15, F
	ADDLW	0x01
	BNC	_00634_DS_
_00632_DS_:
	INCF	r0x0e, F
	BTFSC	STATUS, 0
	INCF	r0x0f, F
	MOVFF	r0x0e, FSR0L
	MOVFF	r0x0f, FSR0H
	MOVFF	INDF0, r0x0e
	CLRF	r0x0f
	CLRF	r0x10
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x12, W
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	CALL	__mulint
	MOVWF	r0x0e
	MOVFF	PRODL, r0x0f
	MOVLW	0x04
	ADDWF	FSR1L, F
	RLCF	r0x0f, W
	RRCF	r0x0f, F
	RRCF	r0x0e, F
	MOVF	r0x0e, W
	IORWF	r0x15, W
	MOVWF	r0x1e
	MOVF	r0x0f, W
	IORWF	r0x16, W
	MOVWF	r0x1f
;	.line	159; src/general.c	potis[i]=value;
	MOVLW	LOW(_potis)
	ADDWF	r0x08, W
	MOVWF	r0x0e
	MOVLW	HIGH(_potis)
	ADDWFC	r0x09, W
	MOVWF	r0x0f
	MOVFF	r0x0e, FSR0L
	MOVFF	r0x0f, FSR0H
	MOVFF	r0x1e, POSTINC0
	MOVFF	r0x1f, INDF0
;	.line	161; src/general.c	if(parametersright[i%8].messageChannel&0x70 && (parametersright[i%8].number[0]!=0 || parametersright[i%8].number[1]!=0)) {
	MOVLW	0x0a
	ADDWF	r0x0c, W
	MOVWF	r0x0e
	MOVLW	0x00
	ADDWFC	r0x0d, W
	MOVWF	r0x0f
	MOVFF	r0x0e, FSR0L
	MOVFF	r0x0f, FSR0H
	MOVFF	INDF0, r0x0e
	MOVF	r0x0e, W
	ANDLW	0x70
	BNZ	_00636_DS_
	BRA	_00588_DS_
_00636_DS_:
	MOVLW	0x0c
	ADDWF	r0x0c, W
	MOVWF	r0x0e
	MOVLW	0x00
	ADDWFC	r0x0d, W
	MOVWF	r0x0f
	MOVFF	r0x0e, FSR0L
	MOVFF	r0x0f, FSR0H
	MOVFF	INDF0, r0x0e
	MOVF	r0x0e, W
	BNZ	_00562_DS_
	MOVLW	0x0c
	ADDWF	r0x0c, F
	BTFSC	STATUS, 0
	INCF	r0x0d, F
	INCF	r0x0c, F
	BTFSC	STATUS, 0
	INCF	r0x0d, F
	MOVFF	r0x0c, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	INDF0, r0x0c
	MOVF	r0x0c, W
	BNZ	_00562_DS_
	BRA	_00588_DS_
_00562_DS_:
;	.line	162; src/general.c	x=(parametersright[i%8].number[0]<<8|parametersright[i%8].number[1]);
	MOVLW	0x07
	ANDWF	r0x00, W
	MOVWF	r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x1c
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0c
	MOVFF	PRODL, r0x0d
	MOVFF	PRODH, r0x0e
	MOVFF	FSR0L, r0x0f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	LOW(_parametersright)
	ADDWF	r0x0c, W
	MOVWF	r0x10
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x0d, W
	MOVWF	r0x11
	MOVLW	0x0c
	ADDWF	r0x10, F
	BTFSC	STATUS, 0
	INCF	r0x11, F
	MOVFF	r0x10, FSR0L
	MOVFF	r0x11, FSR0H
	MOVFF	INDF0, r0x12
	CLRF	r0x13
	MOVF	r0x12, W
	MOVWF	r0x15
	CLRF	r0x14
	INCF	r0x10, F
	BTFSC	STATUS, 0
	INCF	r0x11, F
	MOVFF	r0x10, FSR0L
	MOVFF	r0x11, FSR0H
	MOVFF	INDF0, r0x10
	CLRF	r0x11
	MOVF	r0x10, W
	IORWF	r0x14, F
	MOVF	r0x11, W
	IORWF	r0x15, F
	MOVFF	r0x14, r0x1c
	MOVFF	r0x15, r0x1d
	CLRF	WREG
	BTFSC	r0x15, 7
	MOVLW	0xff
	MOVWF	r0x20
	MOVWF	r0x21
;	.line	163; src/general.c	x+=BASE_DYNMEM+DYNBLOCK_LENGTH*device;
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x10
	MOVFF	PRODL, r0x11
	MOVFF	PRODH, r0x12
	MOVFF	FSR0L, r0x13
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x08
	ADDWF	r0x12, F
	MOVLW	0x00
	ADDWFC	r0x13, F
	MOVF	r0x10, W
	ADDWF	r0x1c, F
	MOVF	r0x11, W
	ADDWFC	r0x1d, F
	MOVF	r0x12, W
	ADDWFC	r0x20, F
	MOVF	r0x13, W
	ADDWFC	r0x21, F
;	.line	164; src/general.c	for(k=0;k<(long)sizeof(SysexStruct);k++)
	CLRF	r0x10
	CLRF	r0x11
	CLRF	r0x12
	CLRF	r0x13
_00582_DS_:
	MOVLW	0x00
	SUBWF	r0x13, W
	BNZ	_00642_DS_
	MOVLW	0x00
	SUBWF	r0x12, W
	BNZ	_00642_DS_
	MOVLW	0x00
	SUBWF	r0x11, W
	BNZ	_00642_DS_
	MOVLW	0x03
	SUBWF	r0x10, W
_00642_DS_:
	BTFSC	STATUS, 0
	BRA	_00588_DS_
;	.line	165; src/general.c	((char*)(parametersright[i%8].sysex))[k]=readBank(x+k);
	MOVLW	LOW(_parametersright)
	ADDWF	r0x0c, W
	MOVWF	r0x14
	MOVLW	HIGH(_parametersright)
	ADDWFC	r0x0d, W
	MOVWF	r0x15
	MOVLW	0x19
	ADDWF	r0x14, F
	BTFSC	STATUS, 0
	INCF	r0x15, F
	MOVF	r0x15, W
	MOVWF	r0x15
	MOVF	r0x14, W
	MOVWF	r0x14
	MOVLW	0x80
	MOVWF	r0x16
	MOVF	r0x10, W
	ADDWF	r0x14, F
	MOVF	r0x11, W
	ADDWFC	r0x15, F
	MOVF	r0x12, W
	ADDWFC	r0x16, F
	MOVF	r0x10, W
	ADDWF	r0x1c, W
	MOVWF	r0x17
	MOVF	r0x11, W
	ADDWFC	r0x1d, W
	MOVWF	r0x18
	MOVF	r0x12, W
	ADDWFC	r0x20, W
	MOVWF	r0x19
	MOVF	r0x13, W
	ADDWFC	r0x21, W
	MOVWF	r0x1a
	MOVF	r0x1a, W
	MOVWF	POSTDEC1
	MOVF	r0x19, W
	MOVWF	POSTDEC1
	MOVF	r0x18, W
	MOVWF	POSTDEC1
	MOVF	r0x17, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x17
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x17, POSTDEC1
	MOVFF	r0x14, FSR0L
	MOVFF	r0x15, PRODL
	MOVF	r0x16, W
	CALL	__gptrput1
;	.line	164; src/general.c	for(k=0;k<(long)sizeof(SysexStruct);k++)
	INCF	r0x10, F
	BTFSC	STATUS, 0
	INCF	r0x11, F
	BTFSC	STATUS, 0
	INCF	r0x12, F
	BTFSC	STATUS, 0
	INCF	r0x13, F
	BRA	_00582_DS_
_00588_DS_:
;	.line	153; src/general.c	for (i=8;i<16;i++) {
	MOVLW	0x19
	ADDWF	r0x04, F
	MOVLW	0x00
	ADDWFC	r0x05, F
	MOVLW	0x00
	ADDWFC	r0x06, F
	MOVLW	0x00
	ADDWFC	r0x07, F
	MOVLW	0x02
	ADDWF	r0x08, F
	MOVLW	0x00
	ADDWFC	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	ADDWFC	r0x0b, F
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	GOTO	_00586_DS_
_00590_DS_:
	MOVFF	PREINC1, r0x2c
	MOVFF	PREINC1, r0x2b
	MOVFF	PREINC1, r0x2a
	MOVFF	PREINC1, r0x29
	MOVFF	PREINC1, r0x28
	MOVFF	PREINC1, r0x27
	MOVFF	PREINC1, r0x26
	MOVFF	PREINC1, r0x25
	MOVFF	PREINC1, r0x24
	MOVFF	PREINC1, r0x23
	MOVFF	PREINC1, r0x22
	MOVFF	PREINC1, r0x21
	MOVFF	PREINC1, r0x20
	MOVFF	PREINC1, r0x1f
	MOVFF	PREINC1, r0x1e
	MOVFF	PREINC1, r0x1d
	MOVFF	PREINC1, r0x1c
	MOVFF	PREINC1, r0x1b
	MOVFF	PREINC1, r0x1a
	MOVFF	PREINC1, r0x19
	MOVFF	PREINC1, r0x18
	MOVFF	PREINC1, r0x17
	MOVFF	PREINC1, r0x16
	MOVFF	PREINC1, r0x15
	MOVFF	PREINC1, r0x14
	MOVFF	PREINC1, r0x13
	MOVFF	PREINC1, r0x12
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__requestNextDump	code
_requestNextDump:
;	.line	122; src/general.c	void requestNextDump() {
	MOVFF	r0x00, POSTDEC1
;	.line	123; src/general.c	if(nextDump())
	CALL	_nextDump
	MOVWF	r0x00
	MOVF	r0x00, W
	BZ	_00553_DS_
;	.line	124; src/general.c	requestDump();
	CALL	_requestDump
_00553_DS_:
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__requestDump	code
_requestDump:
;	.line	81; src/general.c	void requestDump() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVFF	r0x10, POSTDEC1
	MOVFF	r0x11, POSTDEC1
;	.line	82; src/general.c	unsigned long i,dl=eb_request.dump.length,addr=((long)(eb_request.dump_addr))+7+BASE_DYNMEM+DYNBLOCK_LENGTH*device;
	MOVFF	(_eb_request + 13), (iTemp1 + 5)
	MOVFF	(iTemp1 + 5), r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
	MOVFF	(_eb_request + 6), r0x04
	MOVFF	(_eb_request + 7), r0x05
	CLRF	r0x06
	CLRF	r0x07
	MOVLW	0x07
	ADDWF	r0x04, F
	MOVLW	0x00
	ADDWFC	r0x05, F
	MOVLW	0x08
	ADDWFC	r0x06, F
	MOVLW	0x00
	ADDWFC	r0x07, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x08
	MOVFF	PRODL, r0x09
	MOVFF	PRODH, r0x0a
	MOVFF	FSR0L, r0x0b
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x08, W
	ADDWF	r0x04, F
	MOVF	r0x09, W
	ADDWFC	r0x05, F
	MOVF	r0x0a, W
	ADDWFC	r0x06, F
	MOVF	r0x0b, W
	ADDWFC	r0x07, F
	BANKSEL	(_eb_request + 8)
;	.line	83; src/general.c	if((eb_request.dump.typ&0x01)==0) {
	BTFSC	(_eb_request + 8), 0
	BRA	_00536_DS_
; removed redundant BANKSEL
;	.line	84; src/general.c	eb_request.active=1;
	BSF	_eb_request, 0, B
;	.line	86; src/general.c	for(i=0;i<eb_request.dump.header_length;i++)
	CLRF	r0x08
	CLRF	r0x09
	CLRF	r0x0a
	CLRF	r0x0b
_00528_DS_:
	MOVFF	(_eb_request + 14), (iTemp23 + 6)
	MOVFF	(iTemp23 + 6), r0x0c
	CLRF	r0x0d
	CLRF	r0x0e
	CLRF	r0x0f
	MOVF	r0x0f, W
	SUBWF	r0x0b, W
	BNZ	_00545_DS_
	MOVF	r0x0e, W
	SUBWF	r0x0a, W
	BNZ	_00545_DS_
	MOVF	r0x0d, W
	SUBWF	r0x09, W
	BNZ	_00545_DS_
	MOVF	r0x0c, W
	SUBWF	r0x08, W
_00545_DS_:
	BC	_00531_DS_
;	.line	87; src/general.c	edit_buffer_header[i]=(readBank(addr+i+dl));
	MOVLW	LOW(_edit_buffer_header)
	ADDWF	r0x08, W
	MOVWF	r0x0c
	MOVLW	HIGH(_edit_buffer_header)
	ADDWFC	r0x09, W
	MOVWF	r0x0d
	MOVF	r0x08, W
	ADDWF	r0x04, W
	MOVWF	r0x0e
	MOVF	r0x09, W
	ADDWFC	r0x05, W
	MOVWF	r0x0f
	MOVF	r0x0a, W
	ADDWFC	r0x06, W
	MOVWF	r0x10
	MOVF	r0x0b, W
	ADDWFC	r0x07, W
	MOVWF	r0x11
	MOVF	r0x00, W
	ADDWF	r0x0e, F
	MOVF	r0x01, W
	ADDWFC	r0x0f, F
	MOVF	r0x02, W
	ADDWFC	r0x10, F
	MOVF	r0x03, W
	ADDWFC	r0x11, F
	MOVF	r0x11, W
	MOVWF	POSTDEC1
	MOVF	r0x10, W
	MOVWF	POSTDEC1
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x0e
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x0c, FSR0L
	MOVFF	r0x0d, FSR0H
	MOVFF	r0x0e, INDF0
;	.line	86; src/general.c	for(i=0;i<eb_request.dump.header_length;i++)
	INCF	r0x08, F
	BTFSC	STATUS, 0
	INCF	r0x09, F
	BTFSC	STATUS, 0
	INCF	r0x0a, F
	BTFSC	STATUS, 0
	INCF	r0x0b, F
	BRA	_00528_DS_
_00531_DS_:
;	.line	90; src/general.c	MIOS_MIDI_TxBufferPut(0xF0);
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	91; src/general.c	for(i=0;i<dl;i++) {
	CLRF	r0x08
	CLRF	r0x09
	CLRF	r0x0a
	CLRF	r0x0b
_00532_DS_:
	MOVF	r0x03, W
	SUBWF	r0x0b, W
	BNZ	_00546_DS_
	MOVF	r0x02, W
	SUBWF	r0x0a, W
	BNZ	_00546_DS_
	MOVF	r0x01, W
	SUBWF	r0x09, W
	BNZ	_00546_DS_
	MOVF	r0x00, W
	SUBWF	r0x08, W
_00546_DS_:
	BC	_00535_DS_
;	.line	92; src/general.c	MIOS_MIDI_TxBufferPut(readBank(addr+i));
	MOVF	r0x08, W
	ADDWF	r0x04, W
	MOVWF	r0x0c
	MOVF	r0x09, W
	ADDWFC	r0x05, W
	MOVWF	r0x0d
	MOVF	r0x0a, W
	ADDWFC	r0x06, W
	MOVWF	r0x0e
	MOVF	r0x0b, W
	ADDWFC	r0x07, W
	MOVWF	r0x0f
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x0c
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x0c, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	91; src/general.c	for(i=0;i<dl;i++) {
	INCF	r0x08, F
	BTFSC	STATUS, 0
	INCF	r0x09, F
	BTFSC	STATUS, 0
	INCF	r0x0a, F
	BTFSC	STATUS, 0
	INCF	r0x0b, F
	BRA	_00532_DS_
_00535_DS_:
;	.line	94; src/general.c	MIOS_MIDI_TxBufferPut(0xF7);
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00536_DS_:
;	.line	95; src/general.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x11
	MOVFF	PREINC1, r0x10
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__nextDump	code
_nextDump:
;	.line	59; src/general.c	char nextDump() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
;	.line	60; src/general.c	unsigned long i,addr=((long)(eb_request.dump_addr))+((long)7)+eb_request.dump.length+eb_request.dump.header_length+BASE_DYNMEM+DYNBLOCK_LENGTH;
	MOVFF	(_eb_request + 13), (iTemp1 + 5)
	MOVFF	(iTemp1 + 5), r0x00
	CLRF	r0x01
	MOVFF	(_eb_request + 6), r0x02
	MOVFF	(_eb_request + 7), r0x03
	CLRF	r0x04
	CLRF	r0x05
	MOVFF	(_eb_request + 14), (iTemp1 + 6)
	MOVFF	(iTemp1 + 6), r0x06
	CLRF	r0x07
	CLRF	WREG
	BTFSC	r0x07, 7
	MOVLW	0xff
	MOVWF	r0x08
	MOVWF	r0x09
	MOVLW	0x07
	ADDWF	r0x06, F
	MOVLW	0x40
	ADDWFC	r0x07, F
	MOVLW	0x08
	ADDWFC	r0x08, F
	MOVLW	0x00
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWF	r0x02, F
	MOVF	r0x07, W
	ADDWFC	r0x03, F
	MOVF	r0x08, W
	ADDWFC	r0x04, F
	MOVF	r0x09, W
	ADDWFC	r0x05, F
	CLRF	WREG
	BTFSC	r0x01, 7
	MOVLW	0xff
	MOVWF	r0x06
	MOVWF	r0x07
	MOVF	r0x02, W
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVF	r0x03, W
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVF	r0x04, W
	ADDWFC	r0x06, W
	MOVWF	r0x00
	MOVF	r0x05, W
	ADDWFC	r0x07, W
	MOVWF	r0x01
	BANKSEL	(_eb_request + 8)
;	.line	61; src/general.c	if(eb_request.dump.typ&0x01) {
	BTFSS	(_eb_request + 8), 0
	BRA	_00508_DS_
; removed redundant BANKSEL
;	.line	62; src/general.c	eb_request.data_counter=0;
	CLRF	(_eb_request + 2), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 3), B
; removed redundant BANKSEL
;	.line	63; src/general.c	eb_request.timer=0;
	CLRF	(_eb_request + 4), B
; removed redundant BANKSEL
	CLRF	(_eb_request + 5), B
; removed redundant BANKSEL
;	.line	64; src/general.c	eb_request.error=0;
	BCF	_eb_request, 1, B
;	.line	65; src/general.c	for(i=0;i<7;i++)
	CLRF	r0x04
	CLRF	r0x05
	CLRF	r0x06
	CLRF	r0x07
_00510_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00521_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00521_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00521_DS_
	MOVLW	0x07
	SUBWF	r0x04, W
_00521_DS_:
	BC	_00513_DS_
;	.line	66; src/general.c	((char*)(eb_request.dump))[i]=readBank(i+addr);
	MOVLW	HIGH(_eb_request + 8)
	MOVWF	r0x09
	MOVLW	LOW(_eb_request + 8)
	MOVWF	r0x08
	MOVLW	0x80
	MOVWF	r0x0a
	MOVF	r0x04, W
	ADDWF	r0x08, F
	MOVF	r0x05, W
	ADDWFC	r0x09, F
	MOVF	r0x06, W
	ADDWFC	r0x0a, F
	MOVF	r0x02, W
	ADDWF	r0x04, W
	MOVWF	r0x0b
	MOVF	r0x03, W
	ADDWFC	r0x05, W
	MOVWF	r0x0c
	MOVF	r0x00, W
	ADDWFC	r0x06, W
	MOVWF	r0x0d
	MOVF	r0x01, W
	ADDWFC	r0x07, W
	MOVWF	r0x0e
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x0b
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrput1
;	.line	65; src/general.c	for(i=0;i<7;i++)
	INCF	r0x04, F
	BTFSC	STATUS, 0
	INCF	r0x05, F
	BTFSC	STATUS, 0
	INCF	r0x06, F
	BTFSC	STATUS, 0
	INCF	r0x07, F
	BRA	_00510_DS_
_00513_DS_:
	BANKSEL	(_eb_request + 8)
;	.line	67; src/general.c	if((eb_request.dump.typ&0x01)==0)
	BTFSC	(_eb_request + 8), 0
	BRA	_00506_DS_
;	.line	68; src/general.c	eb_request.checksum_func=eb_request.dump.checksum_func;
	MOVFF	(_eb_request + 9), r0x00
	MOVF	r0x00, W
; removed redundant BANKSEL
	MOVWF	(_eb_request + 1), B
_00506_DS_:
;	.line	70; src/general.c	return 1;
	MOVLW	0x01
	BRA	_00514_DS_
_00508_DS_:
	BANKSEL	_eb_request
;	.line	72; src/general.c	eb_request.active=0;
	BCF	_eb_request, 0, B
;	.line	73; src/general.c	return 0;
	CLRF	WREG
_00514_DS_:
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__loadModul	code
_loadModul:
;	.line	44; src/general.c	void loadModul() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
;	.line	46; src/general.c	for(addr=0;addr<MODUL_MENU_ENTRY;addr++)
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
_00480_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00497_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00497_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00497_DS_
	MOVLW	0x16
	SUBWF	r0x00, W
_00497_DS_:
	BTFSC	STATUS, 0
	BRA	_00483_DS_
;	.line	47; src/general.c	((char*)selected_modul)[addr]=readBank(BASE+DEVICE_MENU_LENGTH+16*MODUL_MENU_ENTRY*bank+64*MODUL_MENU_ENTRY*device+addr);
	MOVLW	HIGH(_selected_modul)
	MOVWF	r0x05
	MOVLW	LOW(_selected_modul)
	MOVWF	r0x04
	MOVLW	0x80
	MOVWF	r0x06
	MOVF	r0x00, W
	ADDWF	r0x04, F
	MOVF	r0x01, W
	ADDWFC	r0x05, F
	MOVF	r0x02, W
	ADDWFC	r0x06, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x60
	MOVWF	POSTDEC1
	BANKSEL	(_bank + 3)
	MOVF	(_bank + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_bank + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_bank, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x07
	MOVFF	PRODL, r0x08
	MOVFF	PRODH, r0x09
	MOVFF	FSR0L, r0x0a
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x60
	ADDWF	r0x07, F
	MOVLW	0x01
	ADDWFC	r0x08, F
	MOVLW	0x00
	ADDWFC	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x05
	MOVWF	POSTDEC1
	MOVLW	0x80
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x0b, W
	ADDWF	r0x07, F
	MOVF	r0x0c, W
	ADDWFC	r0x08, F
	MOVF	r0x0d, W
	ADDWFC	r0x09, F
	MOVF	r0x0e, W
	ADDWFC	r0x0a, F
	MOVF	r0x00, W
	ADDWF	r0x07, F
	MOVF	r0x01, W
	ADDWFC	r0x08, F
	MOVF	r0x02, W
	ADDWFC	r0x09, F
	MOVF	r0x03, W
	ADDWFC	r0x0a, F
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x07
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, PRODL
	MOVF	r0x06, W
	CALL	__gptrput1
;	.line	46; src/general.c	for(addr=0;addr<MODUL_MENU_ENTRY;addr++)
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BRA	_00480_DS_
_00483_DS_:
	BANKSEL	(_selected_modul + 20)
;	.line	48; src/general.c	if(selected_modul.dump_addr!=0) {
	MOVF	(_selected_modul + 20), W, B
	BNZ	_00499_DS_
; removed redundant BANKSEL
	MOVF	(_selected_modul + 21), W, B
	BNZ	_00499_DS_
	BRA	_00488_DS_
_00499_DS_:
;	.line	49; src/general.c	for(k=0;k<7;k++)
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
_00484_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00500_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00500_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00500_DS_
	MOVLW	0x07
	SUBWF	r0x00, W
_00500_DS_:
	BTFSC	STATUS, 0
	BRA	_00488_DS_
;	.line	50; src/general.c	((char*)(selected_modul.dump))[k]=readBank(((long)selected_modul.dump_addr)+k+BASE_DYNMEM+device*DYNBLOCK_LENGTH);
	MOVLW	HIGH(_selected_modul + 22)
	MOVWF	r0x05
	MOVLW	LOW(_selected_modul + 22)
	MOVWF	r0x04
	MOVLW	0x80
	MOVWF	r0x06
	MOVF	r0x00, W
	ADDWF	r0x04, F
	MOVF	r0x01, W
	ADDWFC	r0x05, F
	MOVF	r0x02, W
	ADDWFC	r0x06, F
	MOVFF	(_selected_modul + 20), r0x07
	MOVFF	(_selected_modul + 21), r0x08
	CLRF	r0x09
	CLRF	r0x0a
	MOVF	r0x00, W
	ADDWF	r0x07, F
	MOVF	r0x01, W
	ADDWFC	r0x08, F
	MOVF	r0x02, W
	ADDWFC	r0x09, F
	MOVF	r0x03, W
	ADDWFC	r0x0a, F
	MOVLW	0x08
	ADDWF	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x0b, W
	ADDWF	r0x07, F
	MOVF	r0x0c, W
	ADDWFC	r0x08, F
	MOVF	r0x0d, W
	ADDWFC	r0x09, F
	MOVF	r0x0e, W
	ADDWFC	r0x0a, F
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x07
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, PRODL
	MOVF	r0x06, W
	CALL	__gptrput1
;	.line	49; src/general.c	for(k=0;k<7;k++)
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BRA	_00484_DS_
_00488_DS_:
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__loadDevice	code
_loadDevice:
;	.line	30; src/general.c	void loadDevice() {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
;	.line	32; src/general.c	for(addr=0;addr<DEVICE_MENU_ENTRY;addr++) {
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
_00453_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00470_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00470_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00470_DS_
	MOVLW	0x16
	SUBWF	r0x00, W
_00470_DS_:
	BTFSC	STATUS, 0
	BRA	_00456_DS_
;	.line	33; src/general.c	((char*)selected_device)[addr]=readBank(BASE+DEVICE_MENU_ENTRY*device+addr);
	MOVLW	HIGH(_selected_device)
	MOVWF	r0x05
	MOVLW	LOW(_selected_device)
	MOVWF	r0x04
	MOVLW	0x80
	MOVWF	r0x06
	MOVF	r0x00, W
	ADDWF	r0x04, F
	MOVF	r0x01, W
	ADDWFC	r0x05, F
	MOVF	r0x02, W
	ADDWFC	r0x06, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x16
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x07
	MOVFF	PRODL, r0x08
	MOVFF	PRODH, r0x09
	MOVFF	FSR0L, r0x0a
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x00, W
	ADDWF	r0x07, F
	MOVF	r0x01, W
	ADDWFC	r0x08, F
	MOVF	r0x02, W
	ADDWFC	r0x09, F
	MOVF	r0x03, W
	ADDWFC	r0x0a, F
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x07
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, PRODL
	MOVF	r0x06, W
	CALL	__gptrput1
;	.line	32; src/general.c	for(addr=0;addr<DEVICE_MENU_ENTRY;addr++) {
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BRA	_00453_DS_
_00456_DS_:
	BANKSEL	(_selected_device + 20)
;	.line	35; src/general.c	if(selected_device.dump_addr!=0) {
	MOVF	(_selected_device + 20), W, B
	BNZ	_00472_DS_
; removed redundant BANKSEL
	MOVF	(_selected_device + 21), W, B
	BNZ	_00472_DS_
	BRA	_00461_DS_
_00472_DS_:
;	.line	36; src/general.c	for(k=0;k<7;k++)
	CLRF	r0x00
	CLRF	r0x01
	CLRF	r0x02
	CLRF	r0x03
_00457_DS_:
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00473_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00473_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00473_DS_
	MOVLW	0x07
	SUBWF	r0x00, W
_00473_DS_:
	BTFSC	STATUS, 0
	BRA	_00461_DS_
;	.line	37; src/general.c	((char*)(selected_device.dump))[k]=readBank(((long)selected_device.dump_addr)+k+BASE_DYNMEM+device*DYNBLOCK_LENGTH);
	MOVLW	HIGH(_selected_device + 22)
	MOVWF	r0x05
	MOVLW	LOW(_selected_device + 22)
	MOVWF	r0x04
	MOVLW	0x80
	MOVWF	r0x06
	MOVF	r0x00, W
	ADDWF	r0x04, F
	MOVF	r0x01, W
	ADDWFC	r0x05, F
	MOVF	r0x02, W
	ADDWFC	r0x06, F
	MOVFF	(_selected_device + 20), r0x07
	MOVFF	(_selected_device + 21), r0x08
	CLRF	r0x09
	CLRF	r0x0a
	MOVF	r0x00, W
	ADDWF	r0x07, F
	MOVF	r0x01, W
	ADDWFC	r0x08, F
	MOVF	r0x02, W
	ADDWFC	r0x09, F
	MOVF	r0x03, W
	ADDWFC	r0x0a, F
	MOVLW	0x08
	ADDWF	r0x09, F
	MOVLW	0x00
	ADDWFC	r0x0a, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x40
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	BANKSEL	(_device + 3)
	MOVF	(_device + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_device + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_device, W, B
	MOVWF	POSTDEC1
	CALL	__mullong
	MOVWF	r0x0b
	MOVFF	PRODL, r0x0c
	MOVFF	PRODH, r0x0d
	MOVFF	FSR0L, r0x0e
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x0b, W
	ADDWF	r0x07, F
	MOVF	r0x0c, W
	ADDWFC	r0x08, F
	MOVF	r0x0d, W
	ADDWFC	r0x09, F
	MOVF	r0x0e, W
	ADDWFC	r0x0a, F
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x07
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x04, FSR0L
	MOVFF	r0x05, PRODL
	MOVF	r0x06, W
	CALL	__gptrput1
;	.line	36; src/general.c	for(k=0;k<7;k++)
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	BTFSC	STATUS, 0
	INCF	r0x03, F
	BRA	_00457_DS_
_00461_DS_:
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__strcpy	code
_strcpy:
;	.line	21; src/general.c	void strcpy(char *in,char *out) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
	MOVLW	0x06
	MOVFF	PLUSW2, r0x04
	MOVLW	0x07
	MOVFF	PLUSW2, r0x05
;	.line	23; src/general.c	for(i=0;in[i]!=0;i++)
	CLRF	r0x06
_00437_DS_:
	MOVF	r0x06, W
	ADDWF	r0x00, W
	MOVWF	r0x07
	CLRF	WREG
	BTFSC	r0x06, 7
	SETF	WREG
	ADDWFC	r0x01, W
	MOVWF	r0x08
	CLRF	WREG
	BTFSC	r0x06, 7
	SETF	WREG
	ADDWFC	r0x02, W
	MOVWF	r0x09
	MOVFF	r0x07, FSR0L
	MOVFF	r0x08, PRODL
	MOVF	r0x09, W
	CALL	__gptrget1
	MOVWF	r0x07
	MOVF	r0x07, W
	BZ	_00441_DS_
;	.line	24; src/general.c	out[i]=in[i];
	MOVF	r0x06, W
	ADDWF	r0x03, W
	MOVWF	r0x08
	CLRF	WREG
	BTFSC	r0x06, 7
	SETF	WREG
	ADDWFC	r0x04, W
	MOVWF	r0x09
	CLRF	WREG
	BTFSC	r0x06, 7
	SETF	WREG
	ADDWFC	r0x05, W
	MOVWF	r0x0a
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, FSR0L
	MOVFF	r0x09, PRODL
	MOVF	r0x0a, W
	CALL	__gptrput1
;	.line	23; src/general.c	for(i=0;in[i]!=0;i++)
	INCF	r0x06, F
	BRA	_00437_DS_
_00441_DS_:
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__readEditBuffer	code
_readEditBuffer:
;	.line	153; src/memory.c	char readEditBuffer(int address) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	154; src/memory.c	if (0<=address && address<256)
	BSF	STATUS, 0
	BTFSS	r0x01, 7
	BCF	STATUS, 0
	BC	_00377_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7f
	BNZ	_00418_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00418_DS_:
	BC	_00377_DS_
;	.line	155; src/memory.c	return edit_buffer0[address];
	MOVLW	LOW(_edit_buffer0)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer0)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	BRA	_00400_DS_
_00377_DS_:
;	.line	156; src/memory.c	if (256<=address && address<512)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7f
	BNZ	_00419_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00419_DS_:
	BNC	_00380_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7e
	BNZ	_00420_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00420_DS_:
	BC	_00380_DS_
;	.line	157; src/memory.c	return edit_buffer1[address];
	MOVLW	LOW(_edit_buffer1)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer1)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	BRA	_00400_DS_
_00380_DS_:
;	.line	158; src/memory.c	if (512<=address && address<768)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7e
	BNZ	_00421_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00421_DS_:
	BNC	_00383_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7d
	BNZ	_00422_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00422_DS_:
	BC	_00383_DS_
;	.line	159; src/memory.c	return edit_buffer2[address];
	MOVLW	LOW(_edit_buffer2)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer2)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	BRA	_00400_DS_
_00383_DS_:
;	.line	160; src/memory.c	if (768<=address && address<1024)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7d
	BNZ	_00423_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00423_DS_:
	BNC	_00386_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7c
	BNZ	_00424_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00424_DS_:
	BC	_00386_DS_
;	.line	161; src/memory.c	return edit_buffer3[address];
	MOVLW	LOW(_edit_buffer3)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer3)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	BRA	_00400_DS_
_00386_DS_:
;	.line	162; src/memory.c	if (1024<=address && address<1280)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7c
	BNZ	_00425_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00425_DS_:
	BNC	_00389_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7b
	BNZ	_00426_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00426_DS_:
	BC	_00389_DS_
;	.line	163; src/memory.c	return edit_buffer4[address];
	MOVLW	LOW(_edit_buffer4)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer4)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	BRA	_00400_DS_
_00389_DS_:
;	.line	164; src/memory.c	if (1280<=address && address<1536)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7b
	BNZ	_00427_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00427_DS_:
	BNC	_00392_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7a
	BNZ	_00428_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00428_DS_:
	BC	_00392_DS_
;	.line	165; src/memory.c	return edit_buffer5[address];
	MOVLW	LOW(_edit_buffer5)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer5)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	BRA	_00400_DS_
_00392_DS_:
;	.line	166; src/memory.c	if (1536<=address && address<1792)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7a
	BNZ	_00429_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00429_DS_:
	BNC	_00395_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x79
	BNZ	_00430_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00430_DS_:
	BC	_00395_DS_
;	.line	167; src/memory.c	return edit_buffer6[address];
	MOVLW	LOW(_edit_buffer6)
	ADDWF	r0x00, W
	MOVWF	r0x02
	MOVLW	HIGH(_edit_buffer6)
	ADDWFC	r0x01, W
	MOVWF	r0x03
	MOVFF	r0x02, FSR0L
	MOVFF	r0x03, FSR0H
	MOVFF	INDF0, r0x02
	MOVF	r0x02, W
	BRA	_00400_DS_
_00395_DS_:
;	.line	168; src/memory.c	if (1792<=address && address<2048)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x79
	BNZ	_00431_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00431_DS_:
	BNC	_00398_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x78
	BNZ	_00432_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00432_DS_:
	BC	_00398_DS_
;	.line	169; src/memory.c	return edit_buffer7[address];
	MOVLW	LOW(_edit_buffer7)
	ADDWF	r0x00, F
	MOVLW	HIGH(_edit_buffer7)
	ADDWFC	r0x01, F
	MOVFF	r0x00, FSR0L
	MOVFF	r0x01, FSR0H
	MOVFF	INDF0, r0x00
	MOVF	r0x00, W
	BRA	_00400_DS_
_00398_DS_:
;	.line	170; src/memory.c	return 0;
	CLRF	WREG
_00400_DS_:
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__writeEditBuffer	code
_writeEditBuffer:
;	.line	125; src/memory.c	void writeEditBuffer(int address, char value) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
;	.line	126; src/memory.c	if (0<=address && address<256)
	BSF	STATUS, 0
	BTFSS	r0x01, 7
	BCF	STATUS, 0
	BC	_00312_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7f
	BNZ	_00356_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00356_DS_:
	BC	_00312_DS_
;	.line	127; src/memory.c	edit_buffer0[address]=value;
	MOVLW	LOW(_edit_buffer0)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer0)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00312_DS_:
;	.line	128; src/memory.c	if (256<=address && address<512)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7f
	BNZ	_00357_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00357_DS_:
	BNC	_00315_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7e
	BNZ	_00358_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00358_DS_:
	BC	_00315_DS_
;	.line	129; src/memory.c	edit_buffer1[address]=value;
	MOVLW	LOW(_edit_buffer1)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer1)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00315_DS_:
;	.line	130; src/memory.c	if (512<=address && address<768)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7e
	BNZ	_00359_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00359_DS_:
	BNC	_00318_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7d
	BNZ	_00360_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00360_DS_:
	BC	_00318_DS_
;	.line	131; src/memory.c	edit_buffer2[address]=value;
	MOVLW	LOW(_edit_buffer2)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer2)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00318_DS_:
;	.line	132; src/memory.c	if (768<=address && address<1024)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7d
	BNZ	_00361_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00361_DS_:
	BNC	_00321_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7c
	BNZ	_00362_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00362_DS_:
	BC	_00321_DS_
;	.line	133; src/memory.c	edit_buffer3[address]=value;
	MOVLW	LOW(_edit_buffer3)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer3)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00321_DS_:
;	.line	134; src/memory.c	if (1024<=address && address<1280)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7c
	BNZ	_00363_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00363_DS_:
	BNC	_00324_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7b
	BNZ	_00364_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00364_DS_:
	BC	_00324_DS_
;	.line	135; src/memory.c	edit_buffer4[address]=value;
	MOVLW	LOW(_edit_buffer4)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer4)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00324_DS_:
;	.line	136; src/memory.c	if (1280<=address && address<1536)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7b
	BNZ	_00365_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00365_DS_:
	BNC	_00327_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7a
	BNZ	_00366_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00366_DS_:
	BC	_00327_DS_
;	.line	137; src/memory.c	edit_buffer5[address]=value;
	MOVLW	LOW(_edit_buffer5)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer5)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00327_DS_:
;	.line	138; src/memory.c	if (1536<=address && address<1792)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x7a
	BNZ	_00367_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00367_DS_:
	BNC	_00330_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x79
	BNZ	_00368_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00368_DS_:
	BC	_00330_DS_
;	.line	139; src/memory.c	edit_buffer6[address]=value;
	MOVLW	LOW(_edit_buffer6)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer6)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00330_DS_:
;	.line	140; src/memory.c	if (1792<=address && address<2048)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x79
	BNZ	_00369_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00369_DS_:
	BNC	_00333_DS_
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x78
	BNZ	_00370_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00370_DS_:
	BC	_00333_DS_
;	.line	141; src/memory.c	edit_buffer7[address]=value;
	MOVLW	LOW(_edit_buffer7)
	ADDWF	r0x00, W
	MOVWF	r0x03
	MOVLW	HIGH(_edit_buffer7)
	ADDWFC	r0x01, W
	MOVWF	r0x04
	MOVFF	r0x03, FSR0L
	MOVFF	r0x04, FSR0H
	MOVFF	r0x02, INDF0
_00333_DS_:
;	.line	142; src/memory.c	if (address>=2048)
	MOVF	r0x01, W
	ADDLW	0x80
	ADDLW	0x78
	BNZ	_00337_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00337_DS_:
;	.line	143; src/memory.c	return;
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__readStream	code
_readStream:
;	.line	113; src/memory.c	unsigned char readStream (void) {
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	BANKSEL	_mem_adress
;	.line	114; src/memory.c	mem_adress++;
	INCF	_mem_adress, F, B
	BNC	_342447_DS_
; removed redundant BANKSEL
	INCF	(_mem_adress + 1), F, B
_342447_DS_:
	BNC	_352448_DS_
	BANKSEL	(_mem_adress + 2)
	INCF	(_mem_adress + 2), F, B
_352448_DS_:
	BNC	_362449_DS_
	BANKSEL	(_mem_adress + 3)
	INCF	(_mem_adress + 3), F, B
_362449_DS_:
;	.line	115; src/memory.c	return readBank (mem_adress-1);
	MOVLW	0xff
	BANKSEL	_mem_adress
	ADDWF	_mem_adress, W, B
	MOVWF	r0x00
	MOVLW	0xff
; removed redundant BANKSEL
	ADDWFC	(_mem_adress + 1), W, B
	MOVWF	r0x01
	MOVLW	0xff
; removed redundant BANKSEL
	ADDWFC	(_mem_adress + 2), W, B
	MOVWF	r0x02
	MOVLW	0xff
; removed redundant BANKSEL
	ADDWFC	(_mem_adress + 3), W, B
	MOVWF	r0x03
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	_readBank
	MOVWF	r0x00
	MOVLW	0x04
	ADDWF	FSR1L, F
	MOVF	r0x00, W
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	RETURN	

; ; Starting pCode block
S_main__writeStream	code
_writeStream:
;	.line	104; src/memory.c	void writeStream (unsigned char byte) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
;	.line	105; src/memory.c	writeBank (mem_adress, byte);
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	BANKSEL	(_mem_adress + 3)
	MOVF	(_mem_adress + 3), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_mem_adress + 2), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	(_mem_adress + 1), W, B
	MOVWF	POSTDEC1
; removed redundant BANKSEL
	MOVF	_mem_adress, W, B
	MOVWF	POSTDEC1
	CALL	_writeBank
	MOVLW	0x05
	ADDWF	FSR1L, F
	BANKSEL	_mem_adress
;	.line	106; src/memory.c	++mem_adress;
	INCF	_mem_adress, F, B
	BNC	_372450_DS_
; removed redundant BANKSEL
	INCF	(_mem_adress + 1), F, B
_372450_DS_:
	BNC	_382451_DS_
	BANKSEL	(_mem_adress + 2)
	INCF	(_mem_adress + 2), F, B
_382451_DS_:
	BNC	_392452_DS_
	BANKSEL	(_mem_adress + 3)
	INCF	(_mem_adress + 3), F, B
_392452_DS_:
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__readBank	code
_readBank:
;	.line	56; src/memory.c	unsigned char readBank(unsigned long address) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
;	.line	61; src/memory.c	if (address >= MAX_MEM) {
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00294_DS_
	MOVLW	0x0c
	SUBWF	r0x02, W
	BNZ	_00294_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00294_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00294_DS_:
	BNC	_00271_DS_
;	.line	62; src/memory.c	MIOS_BOX_STAT.BS_AVAILABLE=0;
	BCF	_MIOS_BOX_STAT, 0
;	.line	63; src/memory.c	return 0;
	CLRF	WREG
	BRA	_00284_DS_
_00271_DS_:
;	.line	65; src/memory.c	if(address<0x80000L && bankstick==1) {
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00296_DS_
	MOVLW	0x08
	SUBWF	r0x02, W
	BNZ	_00296_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00296_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00296_DS_:
	BTG	STATUS, 0
	CLRF	r0x04
	RLCF	r0x04, F
	MOVF	r0x04, W
	BZ	_00276_DS_
	BANKSEL	_bankstick
	MOVF	_bankstick, W, B
	XORLW	0x01
	BNZ	_00276_DS_
;	.line	66; src/memory.c	MIOS_IIC_Stop();
	CALL	_MIOS_IIC_Stop
;	.line	67; src/memory.c	MIOS_Delay(2);
	MOVLW	0x02
	CALL	_MIOS_Delay
;	.line	68; src/memory.c	MIOS_DOUT_PinSet(7, 0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x07
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
	BANKSEL	_bankstick
;	.line	69; src/memory.c	bankstick=0;
	CLRF	_bankstick, B
;	.line	71; src/memory.c	MIOS_Delay(2);
	MOVLW	0x02
	CALL	_MIOS_Delay
;	.line	72; src/memory.c	MIOS_IIC_Start();
	CALL	_MIOS_IIC_Start
;	.line	73; src/memory.c	MIOS_Delay(2);
	MOVLW	0x02
	CALL	_MIOS_Delay
	BRA	_00277_DS_
_00276_DS_:
;	.line	75; src/memory.c	if(address>=0x80000L && bankstick==0) {
	MOVF	r0x04, W
	BNZ	_00277_DS_
	BANKSEL	_bankstick
	MOVF	_bankstick, W, B
	BNZ	_00277_DS_
;	.line	76; src/memory.c	MIOS_IIC_Stop();
	CALL	_MIOS_IIC_Stop
;	.line	77; src/memory.c	MIOS_Delay(2);
	MOVLW	0x02
	CALL	_MIOS_Delay
;	.line	78; src/memory.c	MIOS_DOUT_PinSet(7, 1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x07
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	79; src/memory.c	bankstick=1;
	MOVLW	0x01
	BANKSEL	_bankstick
	MOVWF	_bankstick, B
;	.line	81; src/memory.c	MIOS_Delay(2);
	MOVLW	0x02
	CALL	_MIOS_Delay
;	.line	82; src/memory.c	MIOS_IIC_Start();
	CALL	_MIOS_IIC_Start
;	.line	83; src/memory.c	MIOS_Delay(2);
	MOVLW	0x02
	CALL	_MIOS_Delay
_00277_DS_:
;	.line	86; src/memory.c	MIOS_BANKSTICK_CtrlSet(bankchip=(address>>16));
	MOVF	r0x02, W
	MOVWF	r0x04
	MOVF	r0x03, W
	MOVWF	r0x05
	CLRF	r0x06
	CLRF	r0x07
	MOVF	r0x04, W
	BANKSEL	_bankchip
	MOVWF	_bankchip, B
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	CALL	_MIOS_BANKSTICK_CtrlSet
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	87; src/memory.c	again: ret=MIOS_BANKSTICK_Read(address);
	CLRF	r0x04
_00279_DS_:
	MOVF	r0x00, W
	MOVWF	r0x05
	MOVF	r0x01, W
	MOVWF	r0x06
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	CALL	_MIOS_BANKSTICK_Read
	MOVWF	r0x05
	INCF	FSR1L, F
;	.line	88; src/memory.c	if( !MIOS_BOX_STAT.BS_AVAILABLE ) {
	BTFSC	_MIOS_BOX_STAT, 0
	BRA	_00283_DS_
;	.line	89; src/memory.c	if(++err<=3)
	INCF	r0x04, F
	MOVLW	0x04
	SUBWF	r0x04, W
	BNC	_00279_DS_
_00283_DS_:
;	.line	94; src/memory.c	return ret;
	MOVF	r0x05, W
_00284_DS_:
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__writeBank	code
_writeBank:
;	.line	13; src/memory.c	void writeBank(unsigned long address,unsigned char value) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
	MOVLW	0x06
	MOVFF	PLUSW2, r0x04
;	.line	16; src/memory.c	if (address >= MAX_MEM)
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00261_DS_
	MOVLW	0x0c
	SUBWF	r0x02, W
	BNZ	_00261_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00261_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00261_DS_:
	BNC	_00238_DS_
;	.line	17; src/memory.c	return;
	BRA	_00251_DS_
_00238_DS_:
;	.line	18; src/memory.c	if(address<0x80000L && bankstick==1) {
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00263_DS_
	MOVLW	0x08
	SUBWF	r0x02, W
	BNZ	_00263_DS_
	MOVLW	0x00
	SUBWF	r0x01, W
	BNZ	_00263_DS_
	MOVLW	0x00
	SUBWF	r0x00, W
_00263_DS_:
	BTG	STATUS, 0
	CLRF	r0x05
	RLCF	r0x05, F
	MOVF	r0x05, W
	BZ	_00243_DS_
	BANKSEL	_bankstick
	MOVF	_bankstick, W, B
	XORLW	0x01
	BNZ	_00243_DS_
;	.line	19; src/memory.c	MIOS_IIC_Stop();
	CALL	_MIOS_IIC_Stop
;	.line	20; src/memory.c	MIOS_Delay(10);
	MOVLW	0x0a
	CALL	_MIOS_Delay
;	.line	21; src/memory.c	MIOS_DOUT_PinSet(7, 0);
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x07
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
	BANKSEL	_bankstick
;	.line	22; src/memory.c	bankstick=0;
	CLRF	_bankstick, B
;	.line	23; src/memory.c	MIOS_Delay(10);
	MOVLW	0x0a
	CALL	_MIOS_Delay
;	.line	24; src/memory.c	MIOS_IIC_Start();
	CALL	_MIOS_IIC_Start
;	.line	25; src/memory.c	MIOS_Delay(10);
	MOVLW	0x0a
	CALL	_MIOS_Delay
	BRA	_00244_DS_
_00243_DS_:
;	.line	27; src/memory.c	if(address>=0x80000L && bankstick==0) {
	MOVF	r0x05, W
	BNZ	_00244_DS_
	BANKSEL	_bankstick
	MOVF	_bankstick, W, B
	BNZ	_00244_DS_
;	.line	28; src/memory.c	MIOS_IIC_Stop();
	CALL	_MIOS_IIC_Stop
;	.line	29; src/memory.c	MIOS_Delay(10);
	MOVLW	0x0a
	CALL	_MIOS_Delay
;	.line	30; src/memory.c	MIOS_DOUT_PinSet(7, 1);
	MOVLW	0x01
	MOVWF	POSTDEC1
	MOVLW	0x07
	CALL	_MIOS_DOUT_PinSet
	INCF	FSR1L, F
;	.line	31; src/memory.c	bankstick=1;
	MOVLW	0x01
	BANKSEL	_bankstick
	MOVWF	_bankstick, B
;	.line	32; src/memory.c	MIOS_Delay(10);
	MOVLW	0x0a
	CALL	_MIOS_Delay
;	.line	33; src/memory.c	MIOS_IIC_Start();
	CALL	_MIOS_IIC_Start
;	.line	34; src/memory.c	MIOS_Delay(10);
	MOVLW	0x0a
	CALL	_MIOS_Delay
_00244_DS_:
;	.line	37; src/memory.c	MIOS_BANKSTICK_CtrlSet(bankchip=(address>>16));
	MOVF	r0x02, W
	MOVWF	r0x05
	MOVF	r0x03, W
	MOVWF	r0x06
	CLRF	r0x07
	CLRF	r0x08
	MOVF	r0x05, W
	BANKSEL	_bankchip
	MOVWF	_bankchip, B
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	CALL	_MIOS_BANKSTICK_CtrlSet
	MOVLW	0x03
	ADDWF	FSR1L, F
;	.line	38; src/memory.c	again: MIOS_BANKSTICK_Write(address, value);
	CLRF	r0x05
_00246_DS_:
	MOVF	r0x00, W
	MOVWF	r0x06
	MOVF	r0x01, W
	MOVWF	r0x07
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	CALL	_MIOS_BANKSTICK_Write
	MOVLW	0x02
	ADDWF	FSR1L, F
;	.line	39; src/memory.c	if( !MIOS_BOX_STAT.BS_AVAILABLE ) {
	BTFSC	_MIOS_BOX_STAT, 0
	BRA	_00251_DS_
;	.line	40; src/memory.c	if(++err<=3)
	INCF	r0x05, F
	MOVLW	0x04
	SUBWF	r0x05, W
	BNC	_00246_DS_
_00251_DS_:
;	.line	41; src/memory.c	goto again;
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__printBCD5	code
_printBCD5:
;	.line	215; src/wrapper.c	void printBCD5(unsigned char display,unsigned int v) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
;	.line	216; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00230_DS_
;	.line	217; src/wrapper.c	MIOS_LCD_PrintBCD5(v);
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	CALL	_MIOS_LCD_PrintBCD5
	INCF	FSR1L, F
	BRA	_00232_DS_
_00230_DS_:
;	.line	220; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	221; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	222; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	223; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	224; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_PRINT_BCD5);	//Art der getunnelten Funktion
	MOVLW	0x08
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	225; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	227; src/wrapper.c	MIOS_MIDI_TxBufferPut ((char)(v>>7));					//Character
	RLCF	r0x01, W
	RLCF	r0x02, W
	MOVWF	r0x00
	CLRF	r0x03
	RLCF	r0x03, F
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	228; src/wrapper.c	MIOS_MIDI_TxBufferPut ((char)(v));
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	229; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00232_DS_:
;	.line	230; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__printBCD4	code
_printBCD4:
;	.line	190; src/wrapper.c	void printBCD4(unsigned char display,unsigned int v) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
;	.line	191; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00222_DS_
;	.line	192; src/wrapper.c	MIOS_LCD_PrintBCD4(v);
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	CALL	_MIOS_LCD_PrintBCD4
	INCF	FSR1L, F
	BRA	_00224_DS_
_00222_DS_:
;	.line	195; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	196; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	197; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	198; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	199; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_PRINT_BCD4);	//Art der getunnelten Funktion
	MOVLW	0x07
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	200; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	202; src/wrapper.c	MIOS_MIDI_TxBufferPut ((char)(v>>7));					//Character
	RLCF	r0x01, W
	RLCF	r0x02, W
	MOVWF	r0x00
	CLRF	r0x03
	RLCF	r0x03, F
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	203; src/wrapper.c	MIOS_MIDI_TxBufferPut ((char)(v));
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	204; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00224_DS_:
;	.line	205; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__printBCD3	code
_printBCD3:
;	.line	166; src/wrapper.c	void printBCD3(unsigned char display,unsigned char v) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	167; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00214_DS_
;	.line	168; src/wrapper.c	MIOS_LCD_PrintBCD3(v);
	MOVF	r0x01, W
	CALL	_MIOS_LCD_PrintBCD3
	BRA	_00216_DS_
_00214_DS_:
;	.line	171; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	172; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	173; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	174; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	175; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_PRINT_BCD3);	//Art der getunnelten Funktion
	MOVLW	0x06
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	176; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	178; src/wrapper.c	MIOS_MIDI_TxBufferPut (v);					//Character
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	180; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00216_DS_:
;	.line	181; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__printBCD2	code
_printBCD2:
;	.line	141; src/wrapper.c	void printBCD2(unsigned char display,unsigned char v) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	142; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00206_DS_
;	.line	143; src/wrapper.c	MIOS_LCD_PrintBCD2(v);
	MOVF	r0x01, W
	CALL	_MIOS_LCD_PrintBCD2
	BRA	_00208_DS_
_00206_DS_:
;	.line	146; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	147; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	148; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	149; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	150; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_PRINT_BCD2);	//Art der getunnelten Funktion
	MOVLW	0x05
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	151; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	153; src/wrapper.c	MIOS_MIDI_TxBufferPut (v);					//Character
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	155; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00208_DS_:
;	.line	156; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__printBCD1	code
_printBCD1:
;	.line	116; src/wrapper.c	void printBCD1(unsigned char display,unsigned char v) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	117; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00198_DS_
;	.line	118; src/wrapper.c	MIOS_LCD_PrintBCD1(v);
	MOVF	r0x01, W
	CALL	_MIOS_LCD_PrintBCD1
	BRA	_00200_DS_
_00198_DS_:
;	.line	121; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	122; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	123; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	124; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	125; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_PRINT_BCD1);	//Art der getunnelten Funktion
	MOVLW	0x04
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	126; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	128; src/wrapper.c	MIOS_MIDI_TxBufferPut (v);					//Character
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	130; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00200_DS_:
;	.line	131; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__printString	code
_printString:
;	.line	89; src/wrapper.c	void printString(unsigned char display,code char *str) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
;	.line	91; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00180_DS_
;	.line	92; src/wrapper.c	MIOS_LCD_PrintCString(str);
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	CALL	_MIOS_LCD_PrintCString
	MOVLW	0x02
	ADDWF	FSR1L, F
	BRA	_00186_DS_
_00180_DS_:
;	.line	95; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	96; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	97; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	98; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	99; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_PRINT_STRING);	//Art der getunnelten Funktion
	MOVLW	0x03
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	100; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	102; src/wrapper.c	for(x=0;str[x]!=0;x++)
	CLRF	r0x00
	CLRF	r0x04
_00182_DS_:
	MOVF	r0x00, W
	ADDWF	r0x01, W
	MOVWF	r0x05
	MOVF	r0x04, W
	ADDWFC	r0x02, W
	MOVWF	r0x06
	CLRF	WREG
	BTFSC	r0x04, 7
	SETF	WREG
	ADDWFC	r0x03, W
	MOVWF	r0x07
	MOVFF	r0x05, TBLPTRL
	MOVFF	r0x06, TBLPTRH
	MOVFF	r0x07, TBLPTRU
	TBLRD*+	
	MOVFF	TABLAT, r0x05
	MOVF	r0x05, W
	BZ	_00185_DS_
;	.line	103; src/wrapper.c	MIOS_MIDI_TxBufferPut (str[x]);			//Character
	MOVF	r0x05, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	102; src/wrapper.c	for(x=0;str[x]!=0;x++)
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x04, F
	BRA	_00182_DS_
_00185_DS_:
;	.line	105; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00186_DS_:
;	.line	106; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__setCursor	code
_setCursor:
;	.line	62; src/wrapper.c	void setCursor(unsigned char display,unsigned char x,unsigned char y) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
;	.line	63; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00172_DS_
;	.line	64; src/wrapper.c	MIOS_GLCD_GCursorSet(x,y);
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	CALL	_MIOS_GLCD_GCursorSet
	INCF	FSR1L, F
	BRA	_00174_DS_
_00172_DS_:
;	.line	67; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	68; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	69; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	70; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	71; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_SET_CURSOR);	//Art der getunnelten Funktion
	MOVLW	0x02
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	72; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	74; src/wrapper.c	MIOS_MIDI_TxBufferPut (x);				//x Position
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	75; src/wrapper.c	MIOS_MIDI_TxBufferPut (y);				//y Position
	MOVF	r0x02, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	77; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00174_DS_:
;	.line	78; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__clearLCD	code
_clearLCD:
;	.line	37; src/wrapper.c	void clearLCD(unsigned char display) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
;	.line	38; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00164_DS_
;	.line	39; src/wrapper.c	MIOS_LCD_Clear();
	CALL	_MIOS_LCD_Clear
	BRA	_00166_DS_
_00164_DS_:
;	.line	42; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	43; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	44; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	45; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	46; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_CLEAR_LCD);		//Art der getunnelten Funktion
	MOVLW	0x01
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	47; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	49; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00166_DS_:
;	.line	50; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__printChar	code
_printChar:
;	.line	12; src/wrapper.c	void printChar(unsigned char display,unsigned char c) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	13; src/wrapper.c	if(display==CURENT_DISPLAY)
	MOVF	r0x00, W
	BNZ	_00156_DS_
;	.line	14; src/wrapper.c	MIOS_LCD_PrintChar(c);
	MOVF	r0x01, W
	CALL	_MIOS_LCD_PrintChar
	BRA	_00158_DS_
_00156_DS_:
;	.line	17; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF0);				//Sysex Start
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	18; src/wrapper.c	MIOS_MIDI_TxBufferPut (0x55);				//Unsere Hersteller ID
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	19; src/wrapper.c	MIOS_MIDI_TxBufferPut ('M');				//Buchstabe M
	MOVLW	0x4d
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	20; src/wrapper.c	MIOS_MIDI_TxBufferPut ('B');				//Buchstabe B
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	21; src/wrapper.c	MIOS_MIDI_TxBufferPut (FUNC_PRINT_CHAR);	//Art der getunnelten Funktion
	MOVLW	0x00
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	22; src/wrapper.c	MIOS_MIDI_TxBufferPut (display);			//Zielort display
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	24; src/wrapper.c	MIOS_MIDI_TxBufferPut (c);					//Character
	MOVF	r0x01, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	26; src/wrapper.c	MIOS_MIDI_TxBufferPut (0xF7);				//Sysex End
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
_00158_DS_:
;	.line	27; src/wrapper.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__debugl	code
_debugl:
;	.line	65; src/debug.c	void debugl(unsigned long l) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVFF	r0x0e, POSTDEC1
	MOVFF	r0x0f, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
	MOVLW	0x05
	MOVFF	PLUSW2, r0x03
;	.line	69; src/debug.c	MIOS_MIDI_TxBufferPut(0xF0);							//SYSEX START
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	70; src/debug.c	MIOS_MIDI_TxBufferPut(0x55);							//MANUFACTUR CODE 0x55
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	71; src/debug.c	MIOS_MIDI_TxBufferPut(0x44);							//"D"
	MOVLW	0x44
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	72; src/debug.c	MIOS_MIDI_TxBufferPut(0x42);							//"B"
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	73; src/debug.c	MIOS_MIDI_TxBufferPut(0x47);							//"G"
	MOVLW	0x47
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	74; src/debug.c	MIOS_MIDI_TxBufferPut(0x00);							//"0"
	MOVLW	0x00
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	75; src/debug.c	for (mod=1000000000; mod>1; mod/=10)
	CLRF	r0x04
	MOVLW	0xca
	MOVWF	r0x05
	MOVLW	0x9a
	MOVWF	r0x06
	MOVLW	0x3b
	MOVWF	r0x07
_00142_DS_:
	MOVLW	0x00
	SUBWF	r0x07, W
	BNZ	_00150_DS_
	MOVLW	0x00
	SUBWF	r0x06, W
	BNZ	_00150_DS_
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00150_DS_
	MOVLW	0x02
	SUBWF	r0x04, W
_00150_DS_:
	BTFSS	STATUS, 0
	BRA	_00145_DS_
;	.line	76; src/debug.c	MIOS_MIDI_TxBufferPut(/*0x30+*/(l%mod)/(mod/10));	//CHAR VALUES
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x00, W
	MOVWF	POSTDEC1
	CALL	__modulong
	MOVWF	r0x08
	MOVFF	PRODL, r0x09
	MOVFF	PRODH, r0x0a
	MOVFF	FSR0L, r0x0b
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	CALL	__divulong
	MOVWF	r0x0c
	MOVFF	PRODL, r0x0d
	MOVFF	PRODH, r0x0e
	MOVFF	FSR0L, r0x0f
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x0f, W
	MOVWF	POSTDEC1
	MOVF	r0x0e, W
	MOVWF	POSTDEC1
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	CALL	__divulong
	MOVWF	r0x08
	MOVFF	PRODL, r0x09
	MOVFF	PRODH, r0x0a
	MOVFF	FSR0L, r0x0b
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x08, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	75; src/debug.c	for (mod=1000000000; mod>1; mod/=10)
	MOVFF	r0x0c, r0x04
	MOVFF	r0x0d, r0x05
	MOVFF	r0x0e, r0x06
	MOVFF	r0x0f, r0x07
	BRA	_00142_DS_
_00145_DS_:
;	.line	77; src/debug.c	MIOS_MIDI_TxBufferPut(0xF7);							//SYSEX STOP
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	78; src/debug.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x0f
	MOVFF	PREINC1, r0x0e
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__debugi	code
_debugi:
;	.line	50; src/debug.c	void debugi(unsigned int i) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVFF	r0x0d, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
;	.line	53; src/debug.c	MIOS_MIDI_TxBufferPut(0xF0);							//SYSEX START
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	54; src/debug.c	MIOS_MIDI_TxBufferPut(0x55);							//MANUFACTUR CODE 0x55
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	55; src/debug.c	MIOS_MIDI_TxBufferPut(0x44);							//"D"
	MOVLW	0x44
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	56; src/debug.c	MIOS_MIDI_TxBufferPut(0x42);							//"B"
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	57; src/debug.c	MIOS_MIDI_TxBufferPut(0x47);							//"G"
	MOVLW	0x47
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	58; src/debug.c	MIOS_MIDI_TxBufferPut(0x00);							//"0"
	MOVLW	0x00
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	59; src/debug.c	for (mod=100000; mod>1; mod/=10)
	MOVLW	0xa0
	MOVWF	r0x02
	MOVLW	0x86
	MOVWF	r0x03
	MOVLW	0x01
	MOVWF	r0x04
	CLRF	r0x05
_00129_DS_:
	MOVLW	0x00
	SUBWF	r0x05, W
	BNZ	_00137_DS_
	MOVLW	0x00
	SUBWF	r0x04, W
	BNZ	_00137_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00137_DS_
	MOVLW	0x02
	SUBWF	r0x02, W
_00137_DS_:
	BTFSS	STATUS, 0
	BRA	_00132_DS_
;	.line	60; src/debug.c	MIOS_MIDI_TxBufferPut(/*0x30+*/(i%mod)/(mod/10));	//CHAR VALUES
	MOVFF	r0x00, r0x06
	MOVFF	r0x01, r0x07
	CLRF	r0x08
	CLRF	r0x09
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	CALL	__modulong
	MOVWF	r0x06
	MOVFF	PRODL, r0x07
	MOVFF	PRODH, r0x08
	MOVFF	FSR0L, r0x09
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	CALL	__divulong
	MOVWF	r0x0a
	MOVFF	PRODL, r0x0b
	MOVFF	PRODH, r0x0c
	MOVFF	FSR0L, r0x0d
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x0d, W
	MOVWF	POSTDEC1
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	CALL	__divulong
	MOVWF	r0x06
	MOVFF	PRODL, r0x07
	MOVFF	PRODH, r0x08
	MOVFF	FSR0L, r0x09
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x06, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	59; src/debug.c	for (mod=100000; mod>1; mod/=10)
	MOVFF	r0x0a, r0x02
	MOVFF	r0x0b, r0x03
	MOVFF	r0x0c, r0x04
	MOVFF	r0x0d, r0x05
	BRA	_00129_DS_
_00132_DS_:
;	.line	61; src/debug.c	MIOS_MIDI_TxBufferPut(0xF7);							//SYSEX STOP
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	62; src/debug.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x0d
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__debugc	code
_debugc:
;	.line	35; src/debug.c	void debugc(unsigned char c) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVFF	r0x04, POSTDEC1
	MOVFF	r0x05, POSTDEC1
	MOVFF	r0x06, POSTDEC1
	MOVFF	r0x07, POSTDEC1
	MOVFF	r0x08, POSTDEC1
	MOVFF	r0x09, POSTDEC1
	MOVFF	r0x0a, POSTDEC1
	MOVFF	r0x0b, POSTDEC1
	MOVFF	r0x0c, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
;	.line	38; src/debug.c	MIOS_MIDI_TxBufferPut(0xF0);							//SYSEX START
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	39; src/debug.c	MIOS_MIDI_TxBufferPut(0x55);							//MANUFACTUR CODE 0x55
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	40; src/debug.c	MIOS_MIDI_TxBufferPut(0x44);							//"D"
	MOVLW	0x44
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	41; src/debug.c	MIOS_MIDI_TxBufferPut(0x42);							//"B"
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	42; src/debug.c	MIOS_MIDI_TxBufferPut(0x47);							//"G"
	MOVLW	0x47
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	43; src/debug.c	MIOS_MIDI_TxBufferPut(0x00);							//"0"
	MOVLW	0x00
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	44; src/debug.c	for (mod=1000; mod>1; mod/=10)
	MOVLW	0xe8
	MOVWF	r0x01
	MOVLW	0x03
	MOVWF	r0x02
	CLRF	r0x03
	CLRF	r0x04
_00116_DS_:
	MOVLW	0x00
	SUBWF	r0x04, W
	BNZ	_00124_DS_
	MOVLW	0x00
	SUBWF	r0x03, W
	BNZ	_00124_DS_
	MOVLW	0x00
	SUBWF	r0x02, W
	BNZ	_00124_DS_
	MOVLW	0x02
	SUBWF	r0x01, W
_00124_DS_:
	BTFSS	STATUS, 0
	BRA	_00119_DS_
;	.line	45; src/debug.c	MIOS_MIDI_TxBufferPut(/*0x30+*/(c%mod)/(mod/10));	//CHAR VALUES
	MOVFF	r0x00, r0x05
	CLRF	r0x06
	CLRF	r0x07
	CLRF	r0x08
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	__modulong
	MOVWF	r0x05
	MOVFF	PRODL, r0x06
	MOVFF	PRODH, r0x07
	MOVFF	FSR0L, r0x08
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x00
	MOVWF	POSTDEC1
	MOVLW	0x0a
	MOVWF	POSTDEC1
	MOVF	r0x04, W
	MOVWF	POSTDEC1
	MOVF	r0x03, W
	MOVWF	POSTDEC1
	MOVF	r0x02, W
	MOVWF	POSTDEC1
	MOVF	r0x01, W
	MOVWF	POSTDEC1
	CALL	__divulong
	MOVWF	r0x09
	MOVFF	PRODL, r0x0a
	MOVFF	PRODH, r0x0b
	MOVFF	FSR0L, r0x0c
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x0c, W
	MOVWF	POSTDEC1
	MOVF	r0x0b, W
	MOVWF	POSTDEC1
	MOVF	r0x0a, W
	MOVWF	POSTDEC1
	MOVF	r0x09, W
	MOVWF	POSTDEC1
	MOVF	r0x08, W
	MOVWF	POSTDEC1
	MOVF	r0x07, W
	MOVWF	POSTDEC1
	MOVF	r0x06, W
	MOVWF	POSTDEC1
	MOVF	r0x05, W
	MOVWF	POSTDEC1
	CALL	__divulong
	MOVWF	r0x05
	MOVFF	PRODL, r0x06
	MOVFF	PRODH, r0x07
	MOVFF	FSR0L, r0x08
	MOVLW	0x08
	ADDWF	FSR1L, F
	MOVF	r0x05, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	44; src/debug.c	for (mod=1000; mod>1; mod/=10)
	MOVFF	r0x09, r0x01
	MOVFF	r0x0a, r0x02
	MOVFF	r0x0b, r0x03
	MOVFF	r0x0c, r0x04
	BRA	_00116_DS_
_00119_DS_:
;	.line	46; src/debug.c	MIOS_MIDI_TxBufferPut(0xF7);							//SYSEX STOP
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	47; src/debug.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x0c
	MOVFF	PREINC1, r0x0b
	MOVFF	PREINC1, r0x0a
	MOVFF	PREINC1, r0x09
	MOVFF	PREINC1, r0x08
	MOVFF	PREINC1, r0x07
	MOVFF	PREINC1, r0x06
	MOVFF	PREINC1, r0x05
	MOVFF	PREINC1, r0x04
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__debugb	code
_debugb:
;	.line	21; src/debug.c	void debugb(unsigned char b) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
;	.line	24; src/debug.c	MIOS_MIDI_TxBufferPut(0xF0);							//SYSEX START
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	25; src/debug.c	MIOS_MIDI_TxBufferPut(0x55);							//MANUFACTUR CODE 0x55
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	26; src/debug.c	MIOS_MIDI_TxBufferPut(0x44);							//"D"
	MOVLW	0x44
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	27; src/debug.c	MIOS_MIDI_TxBufferPut(0x42);							//"B"
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	28; src/debug.c	MIOS_MIDI_TxBufferPut(0x47);							//"G"
	MOVLW	0x47
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	29; src/debug.c	MIOS_MIDI_TxBufferPut(0x00);							//"0"
	MOVLW	0x00
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	30; src/debug.c	MIOS_MIDI_TxBufferPut(b&0x7F);							//CHAR VALUES
	BCF	r0x00, 7
	MOVF	r0x00, W
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	31; src/debug.c	MIOS_MIDI_TxBufferPut(0xF7);							//SYSEX STOP
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	32; src/debug.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
S_main__debug	code
_debug:
;	.line	7; src/debug.c	void debug(char *string) {
	MOVFF	FSR2L, POSTDEC1
	MOVFF	FSR1L, FSR2L
	MOVFF	r0x00, POSTDEC1
	MOVFF	r0x01, POSTDEC1
	MOVFF	r0x02, POSTDEC1
	MOVFF	r0x03, POSTDEC1
	MOVLW	0x02
	MOVFF	PLUSW2, r0x00
	MOVLW	0x03
	MOVFF	PLUSW2, r0x01
	MOVLW	0x04
	MOVFF	PLUSW2, r0x02
;	.line	9; src/debug.c	MIOS_MIDI_TxBufferPut(0xF0);							//SYSEX START
	MOVLW	0xf0
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	10; src/debug.c	MIOS_MIDI_TxBufferPut(0x55);							//MANUFACTUR CODE 0x55
	MOVLW	0x55
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	11; src/debug.c	MIOS_MIDI_TxBufferPut(0x44);							//"D"
	MOVLW	0x44
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	12; src/debug.c	MIOS_MIDI_TxBufferPut(0x42);							//"B"
	MOVLW	0x42
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	13; src/debug.c	MIOS_MIDI_TxBufferPut(0x47);							//"G"
	MOVLW	0x47
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	14; src/debug.c	MIOS_MIDI_TxBufferPut(0x00);							//"0"
	MOVLW	0x00
	CALL	_MIOS_MIDI_TxBufferPut
_00105_DS_:
;	.line	15; src/debug.c	while(*string)
	MOVFF	r0x00, FSR0L
	MOVFF	r0x01, PRODL
	MOVF	r0x02, W
	CALL	__gptrget1
	MOVWF	r0x03
	MOVF	r0x03, W
	BZ	_00107_DS_
;	.line	16; src/debug.c	MIOS_MIDI_TxBufferPut(*(string++));
	INCF	r0x00, F
	BTFSC	STATUS, 0
	INCF	r0x01, F
	BTFSC	STATUS, 0
	INCF	r0x02, F
	MOVF	r0x03, W
	CALL	_MIOS_MIDI_TxBufferPut
	BRA	_00105_DS_
_00107_DS_:
;	.line	17; src/debug.c	MIOS_MIDI_TxBufferPut(0xF7);							//SYSEX STOP
	MOVLW	0xf7
	CALL	_MIOS_MIDI_TxBufferPut
;	.line	18; src/debug.c	MIOS_MIDI_EndStream;
	MOVFF	PREINC1, r0x03
	MOVFF	PREINC1, r0x02
	MOVFF	PREINC1, r0x01
	MOVFF	PREINC1, r0x00
	MOVFF	PREINC1, FSR2L
	RETURN	

; ; Starting pCode block
__str_0:
	DB	0x20, 0x20, 0x20, 0x4d, 0x49, 0x44, 0x49, 0x62, 0x6f, 0x78, 0x20, 0x20
	DB	0x54, 0x45, 0x53, 0x54, 0x44, 0x41, 0x54, 0x41, 0x2d, 0x2d, 0x00
; ; Starting pCode block
__str_1:
	DB	0x4d, 0x49, 0x44, 0x49, 0x62, 0x6f, 0x78, 0x20, 0x20, 0x20, 0x54, 0x45
	DB	0x53, 0x54, 0x4d, 0x4f, 0x44, 0x55, 0x4c, 0x20, 0x2d, 0x2d, 0x00
; ; Starting pCode block
__str_2:
	DB	0x43, 0x43, 0x45, 0x6e, 0x63, 0x37, 0x42, 0x69, 0x74, 0x20, 0x00
; ; Starting pCode block
__str_3:
	DB	0x43, 0x43, 0x50, 0x75, 0x73, 0x68, 0x37, 0x42, 0x69, 0x74, 0x00
; ; Starting pCode block
__str_4:
	DB	0x43, 0x43, 0x53, 0x69, 0x67, 0x6e, 0x37, 0x42, 0x69, 0x74, 0x00
; ; Starting pCode block
__str_5:
	DB	0x20, 0x43, 0x43, 0x41, 0x63, 0x63, 0x37, 0x42, 0x69, 0x74, 0x00
; ; Starting pCode block
__str_6:
	DB	0x43, 0x43, 0x53, 0x63, 0x61, 0x6c, 0x37, 0x42, 0x69, 0x74, 0x00
; ; Starting pCode block
__str_7:
	DB	0x43, 0x43, 0x41, 0x63, 0x63, 0x31, 0x34, 0x42, 0x69, 0x74, 0x00
; ; Starting pCode block
__str_8:
	DB	0x43, 0x43, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x20, 0x20, 0x00
; ; Starting pCode block
__str_9:
	DB	0x53, 0x69, 0x6e, 0x65, 0x20, 0x20, 0x00
; ; Starting pCode block
__str_10:
	DB	0x53, 0x61, 0x77, 0x20, 0x20, 0x20, 0x00
; ; Starting pCode block
__str_11:
	DB	0x50, 0x75, 0x6c, 0x73, 0x65, 0x20, 0x00
; ; Starting pCode block
__str_12:
	DB	0x54, 0x72, 0x69, 0x20, 0x20, 0x20, 0x00
; ; Starting pCode block
__str_13:
	DB	0x20, 0x4e, 0x52, 0x50, 0x4e, 0x31, 0x34, 0x42, 0x69, 0x74, 0x00
; ; Starting pCode block
__str_14:
	DB	0x45, 0x44, 0x49, 0x54, 0x42, 0x55, 0x46, 0x46, 0x45, 0x52, 0x00
; ; Starting pCode block
__str_15:
	DB	0x4d, 0x49, 0x44, 0x49, 0x62, 0x6f, 0x78, 0x00
; ; Starting pCode block
__str_16:
	DB	0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x69, 0x74, 0x79, 0x00
; ; Starting pCode block
__str_17:
	DB	0x49, 0x6c, 0x6d, 0x65, 0x6e, 0x61, 0x75, 0x00
; ; Starting pCode block
__str_18:
	DB	0x47, 0x4c, 0x43, 0x44, 0x00
; ; Starting pCode block
__str_19:
	DB	0x54, 0x55, 0x2d, 0x49, 0x6c, 0x6d, 0x65, 0x6e, 0x61, 0x75, 0x00
; ; Starting pCode block
__str_20:
	DB	0x2e, 0x64, 0x65, 0x00
; ; Starting pCode block
__str_21:
	DB	0x42, 0x41, 0x4e, 0x4b, 0x20, 0x00
; ; Starting pCode block
__str_22:
	DB	0x4c, 0x6f, 0x61, 0x64, 0x00
; ; Starting pCode block
__str_23:
	DB	0x45, 0x64, 0x69, 0x74, 0x00
; ; Starting pCode block
__str_24:
	DB	0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x00
; ; Starting pCode block
__str_25:
	DB	0x45, 0x72, 0x72, 0x6f, 0x72, 0x00
; ; Starting pCode block
__str_26:
	DB	0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x00
; ; Starting pCode block
__str_27:
	DB	0x55, 0x73, 0x65, 0x72, 0x00
; ; Starting pCode block
__str_28:
	DB	0x44, 0x61, 0x74, 0x61, 0x00
; ; Starting pCode block
__str_29:
	DB	0x53, 0x65, 0x6e, 0x64, 0x00


; Statistics:
; code size:	39614 (0x9abe) bytes (30.22%)
;           	19807 (0x4d5f) words
; udata size:	 2760 (0x0ac8) bytes (215.63%)
; access size:	   60 (0x003c) bytes


	end
