Luz ambiental por control remoto con PIC

Sección dedicada a imágenes de circuitos, diagramas que no requieren explicación previa, Proyectos sencillos.
Area para desarrollo de proyectos, colaboración de toda la comunidad en proyectos. Solución de dudas y aportes.

No publicar manuales, no publicar temas ajenos a los proyectos. de ser necesario, hacer indicación con enlace entre etiquetas CODE
Avatar de Usuario
Enigma
Administrador del Sitio
Administrador del Sitio
Mensajes: 1268
Registrado: 20 Oct 2013, 16:26
Genero: Mujer
Profesion: Webmaster CEO SEO
Ubicacion: Matrix
Navegador: Chrome
Contactar:

Luz ambiental por control remoto con PIC

Mensaje sin leer por Enigma » 05 Oct 2021, 13:52

Luz ambiental por control remoto con PIC

Quería jugar con algo con control remoto por infrarrojos, así que decidí hacer una luz ambiental con control remoto. El proyecto tenía dos partes: hacer el control remoto y hacer la luz. Para el control remoto, rompí un control remoto para un ventilador de piso, quité todo su interior y lo reemplacé por el mío. Usé un micro PIC12F1840 para el control remoto, principalmente porque tengo muchos de estos por ahí.

Para el receptor, utilicé el mismo microcontrolador. ¿El recinto para la luz ambiental? un frasco de vidrio con un poco de papel para difundir la luz (no me gusta mucho hacer recintos). Hubo algunos problemas interesantes en el camino, pero ahora el proyecto funciona bastante bien. Tiene 4 LED de alto brillo: blanco, rojo, verde y azul.

Imagen

Imagen

¿Características?
Actualmente, el dispositivo tiene 2 modos, que se pueden cambiar mediante el botón "Modo". "On / Off" enciende y apaga el dispositivo, como se esperaba. La configuración está respaldada en EEPROM, por lo que después de cualquier pérdida de energía, el dispositivo vuelve al mismo modo y configuración que tenía la última vez que se encendió.

El modo de desvanecimiento se desvanece entre los colores de forma aleatoria, con velocidad y brillo ajustables. El ajuste se realiza usando los botones "arriba" / "abajo". Lo que se ajusta se selecciona con el botón "O". Parpadeos blancos cada vez más brillantes después de presionar el botón "O" significan que está en modo de ajuste de brillo. Blanco, rojo, verde, azul parpadea después de presionar el botón "O" significa que está ajustando la velocidad. Sólido.

El modo es un color sólido, cada uno de cuyos componentes WRGB se puede ajustar hacia arriba / abajo usando los botones "arriba" / "abajo". El componente actual se selecciona usando el botón "O"; cuando se presiona, parpadea ese color durante medio segundo para indicar lo que está ajustando. El color seleccionado se guarda cuando cambia de modo y se restaura cuando vuelve a ingresar al modo sólido. Cuando está en modo apagado, puede acceder al modo de diagnóstico anterior ingresando en el control remoto: "Arriba Abajo Arriba Abajo O O". Esto muestra algunos valores usando LED.

Cada valor está precedido por un color para indicar el significado. Luego, se envían los dígitos decimales del valor, uno a la vez, usando parpadeos en blanco tenue. El final de cada dígito se indica con un parpadeo blanco brillante.

Entonces, para enviar 102, veríamos un parpadeo blanco tenue, un parpadeo blanco brillante, otro parpadeo blanco brillante, dos parpadeos blancos tenues y un parpadeo brillante. Por ahora solo se muestran dos valores. Versión de software (código de color verde) y voltaje de la batería remota (código de color azul). El código es muy modular, por lo que agregar nuevos modos es muerto fácil.

El control remoto tiene 5 botones, con etiquetas negras sobre fondo gris. Usé un marcador para colorear el fondo de negro, ocultando las etiquetas, excepto "encendido-apagado" y "modo".

Los contornos de flechas se dejaron en gris junto a dos botones y un círculo al lado del tercero. Así que ahora los botones son "Modo", "Arriba", "Abajo", "O", "Encendido / Apagado". Internamente, el PIC lee los botones conectándolos a los pines RA0 - RA4, con los pullups internos habilitados y el otro extremo de los botones conectado a tierra.

Aquí es donde encontré el primer inconveniente.
Esperaba usar Interrupt-On-Change para despertar al PIC del modo de suspensión de bajo consumo cuando se presiona un botón. No importa lo que hice, esta característica no funcionaría. Lo había usado en modelos anteriores de dispositivos PIC con éxito, y he revisado el documento una y otra vez, sin resultados. Ahora estoy razonablemente convencido de que esto debe ser un error en los documentos o un problema del chip.

Ahora bien, este era un problema importante. No dormir con poca energía significa que no hay forma de no utilizar otro juego de baterías cada semana. Después de algunas reflexiones, decidí medir el consumo de energía del PIC mientras funcionaba con su oscilador LFINTOSC a 31 KHz. Fue inferior a 0,01 mA. Supongo que esto es lo suficientemente bajo. Así que ahora, cada vez que necesito esperar a que se presione un botón, cambio a LFINTOSC y leo repetidamente los pines del puerto y busco cambios. Me encantaría tener un modo de suspensión que funcione, pero lamentablemente eso parece imposible con este chip. El chip cambia a la velocidad generada por HFINTOSC de 4MHz cuando envía una señal, y luego vuelve al modo de bajo consumo cuando termina con eso.

La capa física de la comunicación en el lado remoto es un solo LED IR de 940 nm con una frecuencia portadora de 38,6 KHz (generado por el módulo CCP / PWM). Los datos se envían en bytes de 8 bits, primero MSB. Cada bit es una secuencia de 0,5 ms de luz modulada, seguida de 1 o 1,5 ms de oscuridad. 1.5ms significa que el bit es 1, 1 ms significa que el bit es 0.

Esto significa que el último bit del paquete es imposible de discernir, ya que la pausa es indefinida. Esto esta bien. Los paquetes de datos tienen la siguiente estructura:
preámbulo de 1 byte (0xFF),
encabezado de 1 byte (0x05),
datos de 11 bytes,
CRC de 1 byte,
cola de 1 byte (0xFF),
para un tamaño total de paquete enviado de 15 bytes.

El último bit, como se indicó anteriormente, no se puede leer, por lo que el avance se ignora. ¿Por qué, puede preguntar, tengo 11 (!) Bytes de datos si solo tengo 5 botones? Quería proporcionar algo más que presionar un botón para uso futuro, por lo que el paquete de datos está estructurado de la siguiente manera:

numPresses: 32 bits,
Número de pulsaciones de botones realizadas en el control remoto durante su vida útil; pressesSinceBattChange: 32 bits,
Número de pulsaciones desde la última pérdida de energía;

battVoltage: 16 bits,
Voltaje de la batería en unidades de 1/100 voltios;
botón: botón pulsado actualmente de 8 bits.

Actualmente estoy usando los campos de botón y voltaje, pero planeo usar otros, eventualmente, para algo. El CRC se calcula sobre la fecha del paquete en sí, y no sobre el preámbulo o el encabezado. eventualmente, por algo.

El voltaje de la batería se mide de una manera bastante interesante. Como puede ver en el esquema, no hay una red divisoria de resistencias ni pines analógicos. En cambio, habilito la referencia de voltaje interno para dar salida a 1.024V, y lo uso como la entrada ADC, mientras uso Vdd como Vref para el ADC.

Esto produce un resultado que, con algunas matemáticas, se puede utilizar para calcular el voltaje. El ADC se muestrea 16 veces, con la esperanza de obtener una precisión adicional. A diferencia del método habitual de medición de voltaje, este método tiene distintos grados de precisión, que van desde 0,02 V en el lado bajo hasta 0,1 V en el lado alto. Por otro lado, no se necesitan componentes externos adicionales ni desperdicio de pines en pines analógicos. También intenté usar el sensor de temperatura interno del PIC, pero lo encontré tremendamente inexacto, así que lo abandoné.

El receptor (la propia luz ambiental) está alojado en un frasco de vidrio, con papel en el interior para difundir la luz. Sí, sé que parece bastante extraño. A la izquierda puede ver un primer plano del receptor de infrarrojos. Es un receptor IR de 38KHz Radioshack genérico estándar.

Su salida está inactiva alta y baja cuando detecta luz IR modulada a 38 KHz. El cerebro del receptor es, como se dijo anteriormente, un PIC12F1840. Sin embargo, aquí funciona a 32MHz. Hace todo lo que necesita hacer el receptor.

Timer0 se usa con un prescaler 1: 2, su interrupción de desbordamiento se usa como contador para los 4 canales PWM para los 4 LED, lo que produce una frecuencia PWM de 61Hz y una resolución de 8 bits para cada canal.

Timer1 se ejecuta con un preescalador 1: 8, produciendo un tic de 1MHz, que se utiliza junto con el módulo CCP para capturar la sincronización de salida del receptor de infrarrojos con precisión. Cualquier pausa de más de 1,1 ms se considera un 1; de lo contrario, sa cero.

Timer2 se usa en un preescalador 1:64, lo que produce una frecuencia de 125 KHz, su desbordamiento se posescala en 1: 2, lo que resulta en una interrupción de desbordamiento una vez cada 4 ms aproximadamente. Usamos esto como tiempo de espera de IR.

Después de cada bit recibido, restablecemos el Timer2 a 0, si alguna vez se desborda, tenemos un tiempo de espera desde que pasaron 4 ms y lo más largo que puede ser un bit es de 2 ms.

El receptor de infrarrojos está conectado a RA5. RA0, RA1, RA2 y RA4 se utilizan como salidas, conectadas a la puerta de los MOSFET de canal N, que controlan los LED. RA3 no se utiliza en este diseño.

El código del receptor está bastante modular, lo que facilita la adición de nuevos modos de funcionamiento. Se utiliza una tabla de punteros de función, donde cada modo proporciona una matriz de ellos en este orden:

init - llamado cuando se ingresa al modo.
Debería cargar cualquier dato que necesite desde EEPROM e inicializar los LED al estado deseado

destruir - llamado cuando se sale del modo.
Debería guardar cualquier dato persistente en EEPROM

btn_up : se llama cuando el usuario presiona el botón "ARRIBA"

btn_down - llamado cuando el usuario presiona el botón "DOWN"

btn_o - llamado cuando el usuario presiona el botón "O"

data_init : se denomina arranque del dispositivo por primera vez o si la EEPROM parece estar dañada.
Permite al módulo iniciar sus datos EEPROM a un estado conocido

ejecutar - llamado como máximo una vez cada 64 ms - permite al módulo actualizar los LED, si así lo desea.

Cada módulo tiene algo de espacio en la EEPROM para almacenar sus datos. Cualquier puntero de función puede ser NULL, en cuyo caso no se llamará a esta función.

Los botones "ARRIBA", "ABAJO", "O" solo se pasan a los módulos, el código principal no los usa. Lo contrario es cierto para los botones "MODE" y "ON / OFF" - no se pasan al módulo - el código principal los maneja por completo.





El código (se usa Hi-TECH C para compilarlo), así como los archivos ASM y los archivos hexadecimales son los siguientes:

RX.hex

Código: Seleccionar todo

:040000008031A32880
:1000080080310B1D4E280B112100AC0A0319AD0AD3
:10001800AD1022000C08F400E830F4057508F00073
:10002800F10121002D08F3002C08F200F235F30D40
:1000380071087302031D222870087202031C7414CD
:100048007608F000F1012D08F3002C08F200F336D1
:10005800F20C71087302031D332870087202031C26
:1000680074157708F000F10171082D02031D3E2870
:1000780070082C02031C74167808F000F10171084E
:100088002D02031D492870082C02031CF41474085F
:1000980022008C002000911C582891101C11F91482
:1000A8002500930120001111111D09001111791C5F
:1000B80096282500131C6F2812082100AB00250084
:1000C80011082100AA0020009A0121002A08E1064F
:1000D8002B08E2069D2821002A082500110221008C
:1000E800AA002B082500123B2100AB0004302B028C
:1000F8007F3003192A02031C87283108B23E860084
:10010800870130088104B036B008031D9D2880306F
:10011800B000B10A3108203A031D9D28250093013B
:10012800F9149D2879141C159A01210091142000B6
:100138009110F9180900013025009306090088017B
:10014800883126280034003480343F347234313406
:100158003F34FE3475343E34583463343D3495347A
:100168001D343C34C534AE343A347934213439340E
:100178009434803437349334A734353456341534B2
:1001880034340334053409340B340D340734003463
:100198000F341134133415341734193400341B3424
:0C01A8001D341F3401342134233425346D
:100200008131820702298631322E8731142F8831BD
:1002100004288831062881312F2981312C29813108
:1002200029298A31582A89317F298631E32E843160
:100230002F2C8131B02989316729883142288831B2
:100240001828813132298231CD2A88310C28843115
:10025000592C0230712100340130712100340030FA
:1002600071210034A41F5A2925082000A000053060
:10027000A101A200A301BF2381312108EF002008C2
:10028000EE000130EF36EE0CEF36EE0C6F02003070
:1002900003196E02031851296F08ED006E08EC0077
:1002A0005429FF30EC00ED016C082100A5008B31D2
:1002B0002823003424087F392000EB0003306B0230
:1002C000031C0034210024087F392000EB00EB03DD
:1002D0002100240820006B0680396B062100A40051
:1002E00000342000BF0021002008033920003F0611
:1002F000C0002100A136A00CA136A00C2000C0082F
:10030000031DAC290330210020052000BE00033A64
:10031000031DAC290430F501F601F701F801AE0028
:100320000230AF01B001B101E9218131210028087B
:100330002000AE00210029082000AF000130B001EC
:10034000B101E921F501F601F701F801443021007E
:10035000A0003A30A1000800400803190800A629AF
:10036000A00A2008043A0319A00175082000EB0038
:100370007608EC007708ED007808EE006430F501AF
:10038000F601F701F801A600A701482381312100F9
:100390002008753E8600643087018100F43020001B
:1003A000A6000130A7004823813121002008753EB6
:1003B00086006430870181012000A600A701482340
:1003C0006B08F5006C08F6006D08F7006E08F80081
:1003D0000034B800F5013819EF29B201F129643071
:1003E000B200B3013208F600B818F829B401FA29AE
:1003F0006430B400B5013408F7003818012AB6019A
:10040000032A6430B600B7013608F800E830A600C9
:100410000330A70048238131F601F701F8013108C4
:10042000BD003008BC002F08BB002E08BA00B9017F
:100430003D083C043B043A040319372A0A30B90A40
:10044000A000A101A201A3013D08A7003C08A6004D
:100450003B08A5003A08A400802381312308BD0091
:100460002208BC002108BB002008BA00182AB908DD
:10047000031D3C2AB901B90ABA01BA0ABB01BC0181
:10048000BD01592A0A30A000A101A201A3013D0823
:10049000A7003C08A6003B08A5003A08A400D42306
:1004A00081312308BD002208BC002108BB002008C0
:1004B000BA00B90B422A3D08A3003C08A2003B0841
:1004C000A1003A08A0003108A7003008A6002F08B4
:1004D000A5002E08A400802381312008B9003D0822
:1004E000A3003C08A2003B08A1003A08A000310884
:1004F000A7003008A6002F08A5002E08A400F923A5
:1005000081312308B1002208B0002108AF00200883
:10051000AE000A30A000A101A201A3013D08A7007E
:100520003C08A6003B08A5003A08A40080238131BE
:100530002308BD002208BC002108BB002008BA0027
:10054000B9033908FF3A2C30A6000130A70003197F
:10055000B52A482381310A30F500F430A600013075
:10056000A70048238131F501A02A48238131FF30BB
:10057000F500BC30A6000230A70048238131F430DA
:10058000F501A6000130A700482381313D083C0455
:100590003B043A04031908005B2A75082000EB00AD
:1005A0007608EC007708ED007808EE002100A41F23
:1005B000FF2A6430F5009630F601F701F8012000BB
:1005C000A600A701482381316430F501F60096307A
:1005D000A600A701482381316430F601F700963068
:1005E000A600A701482381316430F701F800963056
:1005F000A600A701482381312100A4133E2B3230ED
:10060000F501F601F701F8012000A600A701482333
:1006100081316430F501F50AA600A7014823813134
:100620003230F501A600A701482381311E30F500C4
:100630006430A600A701482381313230F501A600BD
:10064000A701482381315030F5006430A600A7018E
:10065000482381313230F501A600A70148238131BA
:10066000C830F5006430A600A7014823813132303C
:10067000F501A600A70148232100A41720006B085C
:10068000F5006C08F6006D08F7006E08F8000034FD
:100690002708260403190800003027023330031905
:1006A00026020318582B2708AD002608AC005B2B48
:1006B0003230AC00AD012C08A6022D08A73BE83073
:1006C000A0000330A1002D08A3002C08A200BF2326
:1006D00081312108AD002008AC001708AB001608D6
:1006E000AA002A081602A8002B08173BA9002D080B
:1006F0002902031D7D2B2C0828020318482B712B7F
:10070000A801A901AA01AB012308220421042004A5
:100710000319B62BAC01AC0AA31B932BA035A10D7A
:10072000A20DA30D8B2BA835A90DAA0DAB0D230887
:100730002702031DA52B22082602031DA52B210835
:100740002502031DA52B20082402031CB02B200822
:10075000A4022108A53B2208A63B2308A73B281496
:10076000A336A20CA10CA00CAC0B932B2B08A3005E
:100770002A08A2002908A1002808A0000800A40156
:10078000A501201CC72B2208A4072308A53DA235DC
:10079000A30DA136A00C21082004031DC12B2508A0
:1007A000A1002408A0000800A801A901AA01AB012A
:1007B000201CE22B2408A8072508A93D2608AA3DED
:1007C0002708AB3DA435A50DA60DA70DA336A20C99
:1007D000A10CA00C2308220421042004031DD82B03
:1007E0002B08A3002A08A2002908A1002808A000BD
:1007F000080023082204210420040319262CA80140
:10080000A80AA31B082CA035A10DA20DA30D002C36
:1008100023082702031D162C22082602031D162C6E
:1008200021082502031D162C20082402031C202C5D
:100830002008A4022108A53B2208A63B2308A73BC9
:10084000A336A20CA10CA00CA80B082C2708A3000F
:100850002608A2002508A1002408A00008002008FE
:10086000753E8600870101082000ED000430EE018E
:10087000A000A1016D08033EA20000306E3DA30060
:10088000732584312008013EEB000030213DEC004F
:100890006B08ED026C08EE3BEE1F502CED01EE01F3
:1008A00021002008753E8600870120006D08810028
:1008B00000340130A6020030A73B27082604031DA0
:1008C000003424087F392000EB000730EC01EB35C1
:1008D000EC0D890B672C6B082100A60020006C082A
:1008E0002100A700D3015308A03E860087015308CA
:1008F000A03E811E9F2C860001081F39D20053089C
:10090000A03E8600011F902C52081F3A031D8E2C1A
:100910005308A03E860087018112942CD20A942CA1
:10092000D2080319882CD2035308A03E8600870101
:1009300001085206E039520681005308A03E8600A5
:100940008701811ED22C04302000A000A1012100CB
:100950005308A03E860001081F392000EB001F301D
:10096000EC006B086C02A200A301031CA303732517
:1009700084312008013EED000030213DEE004A2583
:100980008431EF006E08803A803C031DC92C6D084D
:100990006F020318D22C21005308A03E8600870165
:1009A0008112112D21005308A03E86008701811A73
:1009B000112D4A258431EB0008306B020318112DEC
:1009C00021005308A03E8600870181165308A03EEF
:1009D000860001081F392000EB00EC01EB35EC0D1F
:1009E000EB35EC0DEB35EC0D4A258431ED006C0850
:1009F000803A803C031DFE2C6B086D02003003180A
:100A000001302000EE0021005308A03E860087013F
:100A10002000EE0EEE0DEE0D01086E06BF396E06DB
:100A2000810021000430D30A5302031C732C2008D8
:100A30001F39203E8600013087000108F500213073
:100A40007502031C312D7508E03E2000EB00FF30DD
:100A500003180030EC006C0DEC0CEB0C6B08203E26
:100A6000F5002100D301D30A5308753E86008701A3
:100A70005308A03E8400850100081F39203E8400F1
:100A800001308500000881000430D30A53020318A6
:100A90000034342D210062082000A10021006108EB
:100AA0002000A000ED30A2005E30A3008331BF2300
:100AB000843120080D3E2100E10000302000213D5E
:100AC0002100E2002000A700210061082000A6000C
:100AD0000530A736A60C890B692D2608A800B3257A
:100AE000200028080800A501A11F7D2DA009A1094B
:100AF000A00A0319A10AA501A50AA31F862DA20910
:100B0000A309A20A0319A30A0130A506A601A70199
:100B1000210820040319A62DA401A40AA11B932DCA
:100B2000A035A10D8D2DA635A70D21082302031D8B
:100B30009B2D20082202031CA22D2008A2022108BE
:100B4000A33B2614A136A00CA40B932D2508031952
:100B5000AE2DA609A709A60A0319A70A2708A1000E
:100B60002608A0000800A300003021002F027030EA
:100B700003192E020318080020002308A0002100FA
:100B80002E08893197212100AE0A0319AF0A080007
:100B9000490848044704031DD12DC701C801C901F4
:100BA000080049087F39CC00CD01CC35CD0D4C086B
:100BB000CA074D08CB3D480D480D0139CA07031837
:100BC000CB0ACB1FE72DC701C801C90108004B089C
:100BD000803AFF0081307F02031DF02D00304A0271
:100BE000031C1A2E20004708A0004808A10049084D
:100BF000A200A301A401A5018D31EF258531FF30AD
:100C00000318152ECE007F30CF00D0004E08A00074
:100C10004F08A1005008A2008E31FB262008C70013
:100C20002108C8002208C9000800C7007F30C8009A
:100C3000C900080020004B08CD004A08CC004D0D2B
:100C4000CD0CCC0C49084C0680394C06C9004A082A
:100C50000139CC00CC0CCC0C48084C067F394C0632
:100C6000C8000800A41F572E05302000A000A101D5
:100C7000210025082000EB00EC01EB35EC0DEB35F5
:100C8000EC0D6B08A2006C08A3006E2686312008CC
:100C9000EF0005306F02031C4F2E6F08502E0530F9
:100CA000ED00EE012100A5008B312823003424083B
:100CB0007F392000EB0028306B020318003421003C
:100CC00024087F392000EB00EB0A210024082000D3
:100CD0006B0680396B062100A4000034A501A60133
:100CE0002108200403198E2EA401A40AA11B7B2E27
:100CF000A035A10D752EA535A60D21082302031DD3
:100D0000832E20082202031C8A2E2008A20221081A
:100D1000A33B2514A136A00CA40B7B2E2608A10012
:100D20002508A0000800540884008030850055087C
:100D30005507550784070318850A003FD900013F6E
:100D4000DA00023FDB00560855040319DC2E540874
:100D5000840080308500FF30D507031CD603560879
:100D6000D8005508D7005707570784070318850A86
:100D7000003FBB00013FBC00023FBD005908AC0072
:100D80005A08AD005B08AE005108AF005208B00031
:100D90005308B1008C31292486312C08BE002D085F
:100DA000BF002E08C0008F311E2786313B08D900B6
:100DB0003C08DA003D08A22E5908D1005A08D2009A
:100DC0005B08D30008002008753E860087010108F3
:100DD000D200D301033E2000EB0000302100533D40
:100DE0002000EC00EC36EB0CEC36EB0C6B08013E13
:100DF000ED0000306C3DEE006D082100D2072000B0
:100E00006E082100D33D0130530200300319520215
:100E1000031C0D2FFF30D200D3012008753E860041
:100E2000870152088100003420006A0803191D2F31
:100E30006A08A000CF30893197214430F501F601CE
:100E4000F701F8012100A0003A30A100003464004D
:0A0E500080010131890B282F0034C6
:10100800CF306B2A02302000A000CF309721003467
:101018000A302000A000BF3097218831FF3020001F
:10102800A000BE309721003424087F392000A0009A
:10103800BF3097218831210025082000A000BE304C
:1010480097210034F901F501F601F701F801A03004
:1010580084000030850032308731272788312030DE
:10106800840001308500203087312727883121000E
:10107800F630E1008730E20020007128BF30F5012A
:10108800F601F701F8016B2288312000EB002100FE
:10109800240820006B0680396B062100A400BE30AE
:1010A8006B2288312100A500A601A60AA701A41376
:1010B8002000EC016C08A03E8600E0308701810525
:1010C8006C08A03E860004308112EC0A6C02031CF6
:1010D8005E28210025082823003401238831FF30A9
:1010E8006B2288314D3A031D7F28FE306B228831F0
:1010F8002100E00099282100E0016008D4000530B3
:10110800D501482188310330E00A6002031C812898
:101118004D302000A000FF30972188312100E001E8
:101128002000FE30A00197218831BE21883121009E
:101138006008D4000030D501482188312000170804
:101148002100DB00200016082100DA000630DB361B
:10115800DA0C890BAB285B085A040319C628600807
:10116800D4000630D5014821883120001708210015
:10117800DE00200016082100DD000630DE36DD0C1A
:10118800890BC228F91CA228762288312100DC00AC
:10119800DC08031D4429B430DE218831B830DE2153
:1011A8008831BE30EF2288312100DF00BC30BE22FA
:1011B800883121082100A900200020082100A8006A
:1011C8005F0B03296008031944296008D400013023
:1011D800D50148218831E00A6008033A031DF62842
:1011E800E001E00A6008D4000030D50148218831C8
:1011F80060082000A000FE309721883144295F084C
:10120800043A031D0E296008D4000230D501482194
:10121800883144295F08033A031D19296008D4005E
:101228000330D5014821883144295F08023A031D5B
:1012380024296008D4000430D50148218831442984
:10124800DF08031D4429E008031D37296008D4007E
:101258000130D50148218831E000D4000030D501A3
:101268004821883144296008D4000130D50148213B
:101278008831D4016008D500003048218831E00168
:10128800BE218831A2284729D60007302000A000B7
:1012980021005408F422C53E2100560780310A0077
:1012A8008931D900D908031D5B29D701642955085C
:1012B8002000EA0021005908813100212100D700CF
:1012C800D8015708080005302000A000C530972134
:1012D800883105302000A000C630972188310530BC
:1012E8002000A000C7309721883164302000A0007A
:1012F800C8309721003475082000A000C530972118
:10130800883176082000A000C630972188317708F8
:101318002000A000C7309721883178082000A0005D
:10132800C830972100342000A20004302300950023
:1013380020002208230091002000200823009300A9
:1013480079118B1B79158B13553023009600AA3021
:10135800960095140030791901302000A100A10CE5
:10136800A10C0B0821067F3921068B002300951C50
:101378000800BA292000A0012008B23E86002030CB
:1013880087018101A00A2002031CC02921008030A6
:10139800B101B000F91079102000111121001115C8
:1013A80020001C1121009114200004309110250008
:1013B800930008002000AC00033E86008701010866
:1013C800AD00AE01AF01B0012C08023E8600010855
:1013D800A400A501A601A7012D08A8002E08A900B0
:1013E8002F08AA003008AB002A08AB002908AA0079
:1013F8002808A900A80124082804AD002508290404
:10140800AE0026082A04AF0027082B04B0002C08D9
:10141800013E86000108A400A501A601A7012D0828
:10142800A8002E08A9002F08AA003008AB002A0837
:10143800AB002908AA002808A900A8012408280444
:10144800AD0025082904AE0026082A04AF002708A5
:101458002B04B0002C0886000108A400A501A601F1
:10146800A7012D08A8002E08A9002F08AA003008F7
:10147800AB002A08AB002908AA002808A900A8017F
:1014880024082804AD0025082904AE0026082A04EB
:10149800AF0027082B04B000A3002F08A2002E08D5
:1014A800A1002D08A0000800C5306B228831F50086
:1014B800C6306B228831F600C7306B228831F700BE
:1014C800C8306B22F80021000030A001080020007D
:1014D800A000230095012000200823009100151486
:1014E800130808000E303102031C01343208FF3A99
:1014F800031D02343308053A031D03342000A701F5
:10150800A50121003108FD3E2000A000FF3003188E
:101518000030A100803A803C031D942A200825024F
:101528000318B32A20002508B43E86008701010865
:10153800A400A60127082406A000A01BA52AA20132
:10154800A72A8330A200A30127352206A700083066
:10155800A60AA4352602031C9E2AA50A852A21006C
:101568003108B13E86008701010820002706031DC7
:10157800043400342000AA00013E860087010108D7
:10158800AB00AC01AD01AE012A0886000108A2003B
:10159800A301A401A5012B08A6002C08A7002D086B
:1015A800A8002E08A9002808A9002708A8002608CE
:1015B800A700A60122082604AB0023082704AC00D4
:1015C80024082804AD0025082904AE002C08A10031
:1015D8002B08A0000800A000860087010108080069
:1015E8002000A200A10120082218A107A035A236D8
:1015F800A208031DF72A210808008C0123008C018A
:10160800E83021008C00F030990088309500A03037
:101618008B00013022009D003130200098000B30F3
:101628009C000D30A2002130A100DE30A000A00BEC
:101638001B2BA10B1B2BA20B1B2B222B21009A1D52
:10164800222B1A1B0800222B2000E500E601660861
:10165800932488312808E7002908E8002A08E900C7
:101668001030A801A9004130AA006708AB0068083B
:10167800AC006908AD00C72388312808DC002908B8
:10168800DD002A08DE000E2588315C08E7005D08C9
:10169800E8005E08E9008030C701C8003F30C90093
:1016A8006708CA006808CB006908CC00782688312A
:1016B8004708E7004808E8004908E9006630AC0038
:1016C8000630AD004130AE006708AF006808B000D2
:1016D8006908B100292488312C08E7002D08E800A2
:1016E8002E08E9006508932488312808AC002908E9
:1016F800AD002A08AE006708AF006808B0006908A6
:10170800B100292488312C08E7002D08E8002E08AC
:10171800E9007F30A801A9004330AA006708AB00A0
:101728006808AC006908AD00C72388312808E700BD
:101738002908E8002A08E9003F30BB01BC01BD00C8
:101748006708BE006808BF006908C0001E27883106
:101758003B08E7003C08E8003D08E9006608203E31
:101768008600013087006708A0006808A1006908A2
:10177800A2001B268831200881002030E60A660274
:10178800031808002B2B2B08AE002C08AF002D08DF
:10179800B00003102F0D300DB500B508031DD82B70
:1017A800A801A901AA0108002808AE002908AF006D
:1017B8002A08B00003102F0D300DB600B608031D1F
:1017C800E92BA801A901AA0108008930B201B301D7
:1017D800B4013607AE00B5022D08B6002A08B606D1
:1017E8008030B6051830AC17AD01A917AA01B100B1
:1017F800B235B30DB40D2A082D02031D092C290892
:101808002C02031D092C28082B02031C122C280863
:10181800AB022908AC3B2A08AD3B3214AB35AC0D02
:10182800AD0DB10BFC2B3208A0003308A100340821
:10183800A2003508A3003608A4008E262008A800B8
:101848002108A9002208AA0008002C08B2002D08C7
:10185800B3002E08B4000310330D340DB500B508DD
:10186800031D3A2CAC01AD01AE0108002F08B200EF
:101878003008B3003108B4000310330D340DBA003A
:10188800BA08031D4B2CAC01AD01AE0108003A08A3
:101898007B3EB5072E08BA003108BA068030BA0573
:1018A800FF30AD17B017AF05B0050730B101B6016D
:1018B800B701B801B9002C1C672C2F08B6073008EF
:1018C800B73D3108B83DAE36AD0CAC0CAF35B00DF8
:1018D800B10DB90B5F2C0930B9002C1C792C2F08DD
:1018E800B6073008B73D3108B83DAE36AD0CAC0C84
:1018F800B836B70CB60CB90B712C3608A0003708EF
:10190800A1003808A2003508A3003A08A4008E26D2
:101918002008AC002108AD002208AE000800AB008A
:10192800A0008E30A101A201A300A4018E262008E8
:10193800A8002108A9002208AA0008004708A0005A
:101948004808A1004908A2004D30A300C8268831E4
:10195800CE1FC52C4708A0004808A1004908A200CE
:10196800A301A401A501EF2588310318C12C8030FB
:10197800C701C800BF30C9000800C701C801C901B4
:10198800080000304E02153003194D0203180800F4
:101998004708A0004808A1004908A2001B26883172
:1019A8002308B0002208AF002108AE002008AD00CF
:1019B800D22788312D08CA002E08CB002F08CC006A
:1019C8004708A0004808A1004908A2004A08A30047
:1019D8004B08A4004C08A500EF2588310318072DF3
:1019E8008030BB01BC00BF30BD004A08BE004B08B8
:1019F800BF004C08C0001E273B08C7003C08C800B1
:101A08003D08C90008004A08C7004B08C8004C0830
:101A1800C90008005E085D045C04031D192D8030B0
:101A2800DC01DD003F30DE0008007230A0003130FC
:101A3800A1004430A2005C08A3005D08A4005E0871
:101A4800A500EF25883103182F2DFF30DC007F30EB
:101A5800DD00DE0008005C08A0005D08A1005E084B
:101A6800A2004930A3003A30A400C430A500EF25F5
:101A780088310318432DDC01DD01DE0108005C0814
:101A8800A0005D08A1005E08A200A301A401A501B1
:101A9800EF2588310030031C0130E4006408031985
:101AA800632D5C08A0005D08A1005E08A200FB266B
:101AB80088312008DC002108DD002208DE00AA3079
:101AC800AC00B830AD003F30AE005C08AF005D0838
:101AD800B0005E08B100292488312C08DC002D08EC
:101AE800DD002E08DE005C08C7005D08C8005E083F
:101AF800C900A22488314708A0004808A100490865
:101B0800A2001B2688312108E3002008E2006308B0
:101B1800A9006208A800032788312808C7002908F7
:101B2800C8002A08C9005C08CA005D08CB005E0826
:101B3800CC0078264708DC004808DD004908DE00AC
:101B48005C08D1005D08D2005E08D300A730D4003D
:101B58000930D500D6018631932688315108C7004F
:101B68005208C8005308C9006308CB006208CA00BD
:101B78008531C82588314708DC004808DD00490858
:101B8800DE00640803190800FF30DF007F30E00042
:101B9800E1005E06031DD62D5D086006031DD62DE7
:101BA8005C085F06031DDC2DDC01DD01DE01080099
:101BB8005C08A8005D08A9005E08AA008030AB0197
:101BC800AC003F30AD00C7232808DC002908DD0041
:101BD8002A08DE000800A21FFE2D2008003CA000F5
:101BE8002108031C210F003CA1002208031C220F1E
:101BF800803CA200A51F0D2E2308003CA30024084A
:101C0800031C240F003CA4002508031C250F803C5E
:101C1800A5008030A206A50625082202031D08009B
:101C280024082102031D08002308200208002008B8
:101C3800A4002108A5002208A6000310250D260DE2
:101C4800AC00AC08031D2D2EA001A101A201A30127
:101C580008002008A4002108A5002208A6001730C3
:101C6800A636A50CA40C890B342E2408A700A117AE
:101C7800A2012008A8002108A9002208AA008E3085
:101C8800AB01AC02AC1F542E2C08803A8F3E031CCB
:101C9800282EAB36AA0CA90CA80CAC0F4D2E612E21
:101CA80018302C020318282EAC080319612EA83509
:101CB800A90DAA0DAB0DAC03582E270803196F2EDA
:101CC800A809A909AA09AB09A80A0319A90A0319A5
:101CD800AA0A0319AB0A2B08A3002A08A20029089C
:101CE800A1002808A00008008030C9064A08BB00E7
:101CF8004B08BC004C08BD004708BE004808BF00A0
:101D08004908C0001E273B08C7003C08C8003D081A
:101D1800C900080023080319962E2208210420046C
:101D2800031D9E2EA001A101A2010800A30AA2364C
:101D3800A10CA00CFE3022050319AC2E9A2EA30A82
:101D4800A00A0319A10A0319A20AA236A10CA00C21
:101D5800FF3022050319B52EA32EA303A035A10D2C
:101D6800A20DA11FB12E231CA113A3362308A7007F
:101D7800A601A5012508A0042608A1042708A20495
:101D88002408031DA2170800220821042004031DAB
:101D9800D42E230886008701810141318101080082
:101DA80022087F39A400A501A435A50D23088600C3
:101DB80087012408C03F2508C13F210D210D0139A5
:101DC800A400A501230886002408810441312508C0
:101DD800810423088600823081074131FF30813D2C
:101DE8007F31220880393F38A200A1130800220859
:101DF80021042004031908008030A2060800AB0162
:101E0800A91F0D2FA809A909A80A0319A90AAB0136
:101E1800AB0A2808A0002908A1008E30A201A3005F
:101E28002B08A4008E262008A8002108A900220853
:101E3800AA0008003B08C1003C08C2003D08C300D6
:101E48000310420D430DC6003E08C1003F08C20002
:101E58004008C3000310420D430DC500460803198E
:101E6800412F4508460245080318492FC100460876
:101E7800C10219304102031C482F3E08BB003F082D
:101E8800BC004008BD0008004508031908004608C2
:101E980045020318572F4608C1004508C1021930EA
:101EA8004102031808000630C400BD1BC417C01B3C
:101EB8004417BC17BD01BF17C001450846020318E7
:101EC8007C2FBE35BF0DC00DC50345084606031956
:101ED800772FC403440807390319772F652FBD36B8
:101EE800BC0CBB0CC60A460845060319962F732F6F
:101EF800460845020318962FBB35BC0DBD0DC60319
:101F0800450846060319922FC403440807390319E4
:101F1800922F802FC036BF0CBE0CC50A4608450656
:101F2800031D8E2FC41FA12FFF30BB06BC06BD06A4
:101F3800BB0A0319BC0A0319BD0A441FAC2FFF30A2
:101F4800BE06BF06C006BE0A0319BF0A0319C00AA7
:101F5800C4013B08BE073C08BF3D3D08C03DC01F4B
:101F6800C02FFF30BE06BF06C006BE0A0319BF0A4F
:101F78000319C00AC401C40A3E08A0003F08A10012
:101F88004008A2004608A3004408A4008E262008A2
:101F9800BB002108BC002208BD0008008E30B20139
:101FA800B100B01FE42FAD09AE09AF09B009AD0A01
:101FB8000319AE0A0319AF0A0319B00AB201B20A2B
:101FC800FF3030050319EE2FB036AF0CAE0CAD0C58
:101FD800B10AE42F2D08A0002E08A1002F08A200A6
:101FE8003108A3003208A4008E262008AD0021087D
:081FF800AE002208AF00080052
:020000040001F9
:080000000000000000000000F8
:04000E00A4C9FFDEA4
:00000001FF
TX.hex

Código: Seleccionar todo

:0A0000008031022888018631262E87
:100C4C00C601C701C801C90120002C2EE8302100C3
:100C5C0099000830950023008C0120008C011F3076
:100C6C0024008C00DF3021008C0002302300970020
:100C7C008B01013022009D002500930120009C0176
:100C8C000D3025009100193020009B000230C2006D
:100C9C008530C1009830C000C00B522EC10B522EB3
:100CAC00C20B522E592E03302100990020000C0843
:100CBC00C5001F30C5050C08C3001F30C305430811
:100CCC0045060319612E45084306C4004508C405B2
:100CDC00440803195C2E4408FF3E4405031D5C2E9A
:100CEC00E830210099002000C501C436C40803195E
:100CFC00812EC50A7B2E4508C40021009A1D832E27
:100D0C000A302000C500200045080A3A031DC5081A
:100D1C00031D932E4408A726863120004508031D89
:100D2C00C5031F300C05C0004306031D592E41306E
:100D3C00C100EE30C000C00BA12EC10BA12E64006F
:100D4C00892EB700BE01BF013F082B3E86008701EC
:100D5C003F08342786318100FB278631031CAA2EDD
:100D6C00BF013F082B3E86008701810FC22E043045
:100D7C00BF0A3F02031CB72EBF01F5278631F000D6
:100D8C003F083C278631FB278631031CC32E4608BF
:100D9C00AF004708B0004808B1004908B200C60AC5
:100DAC000319C70A0319C80A0319C90A5F27863130
:100DBC002108BC002008BB00B3003C08B400370875
:100DCC00B500BF01F5278631BA00BD013E083A06D1
:100DDC00FD00FD1BF32EB801F52E8330B800B901D0
:100DEC003E353806BE000830BD0ABA353D02031C3C
:100DFC00EC2E0B30BF0A3F02031CE82E3E08B60057
:100E0C00FF301A27863105301A2786312000BF01A2
:100E1C00F52786311A27863120000C30BF0A3F0295
:100E2C00031C0E2FFF301A2FF2000830F3004E2750
:100E3C008631F21F292FD630F100242F252FF10BEC
:100E4C00232F6400302FF930F1006400F10B2B2FAD
:100E5C002F2F6400F235F30B1D2F0800F000230038
:100E6C00950170089100151413080800F100043066
:100E7C002300950071089100700893008B13553076
:100E8C009600AA30960095148B17951C08004B2FD2
:100E9C0020001C159A010C3025009304A630F0009C
:100EAC00F00B562F6400F0302500930520001C1128
:100EBC000800C130A701A801A901AA0122009700CE
:100ECC00E03021009E007D309D002200171F6B2F0B
:100EDC002000A60121009D149D18722F1B082000D4
:100EEC00A70721001C082000A83D0030A93DAA3D01
:100EFC001030A60A2602031C702F2A08F3002908BA
:100F0C00F2002808F1002708F0002708A2002808A2
:100F1C00A3002908A4002A08A5009830A536A40C23
:100F2C00A30CA20C2207F4009930233DF5001930D4
:100F3C00243DF6000030253DF700B6277308AA00C3
:100F4C007208A9007108A8007008A7002200970178
:100F5C0021009D0120002808A1002708A0000800FE
:100F6C00F801F901FA01FB017308720471047004B1
:100F7C000319EC2FFC01FC0AF31BC92FF035F10D02
:100F8C00F20DF30DC12FF835F90DFA0DFB0D7308A9
:100F9C007702031DDB2F72087602031DDB2F71080D
:100FAC007502031DDB2F70087402031CE62F7008FA
:100FBC00F4027108F53B7208F63B7308F73B7814A2
:100FCC00F336F20CF10CF00CFC0BC92F7B08F30080
:100FDC007A08F2007908F1007808F00008003F0860
:100FEC002B3E860087010108080020000430BF0A50
:040FFC003F020800A8
:020000040001F9
:080000000000000000000000F8
:04000E00A4C9FFDEA4
:00000001FF
RX.lst

Código: Seleccionar todo



HI-TECH Software PIC PRO Macro Assembler V9.81 build 7503 
                                                                                               Tue Jun 14 23:13:28 2011

HI-TECH Software Omniscient Code Generator (PRO mode) build 7503
     1                           	processor	12F1840
     2                           	opt	pw 120
     3                           	opt	pm
     4                           	psect	config,global,class=CONFIG,delta=2
     5                           	psect	idloc,global,class=IDLOC,delta=2
     6                           	psect	idataBANK1,global,class=CODE,delta=2
     7                           	psect	strings,global,class=STRING,delta=2
     8                           	psect	bitbssCOMMON,global,bit,class=COMMON,space=1,delta=1
     9                           	psect	bssCOMMON,global,class=COMMON,space=1,delta=1
    10                           	psect	bssBANK1,global,class=BANK1,space=1,delta=1
    11                           	psect	dataBANK1,global,class=BANK1,space=1,delta=1
    12                           	psect	bssBANK2,global,class=BANK2,space=1,delta=1
    13                           	psect	clrtext,global,class=CODE,delta=2
    14                           	psect	cstackBANK1,global,class=BANK1,space=1,delta=1
    15                           	psect	cstackCOMMON,global,class=COMMON,space=1,delta=1
    16                           	psect	cstackBANK0,global,class=BANK0,space=1,delta=1
    17                           	psect	text1612,local,class=CODE,delta=2
    18                           	psect	text1613,local,class=CODE,delta=2
    19                           	psect	text1616,local,class=CODE,delta=2
    20                           	psect	text1620,local,class=CODE,delta=2
    21                           	psect	text1621,local,class=CODE,delta=2
    22                           	psect	text1622,local,class=CODE,delta=2
    23                           	psect	text1627,local,class=CODE,delta=2
    24                           	psect	text1637,local,class=CODE,delta=2
    25                           	psect	intentry,global,class=CODE,delta=2
    26                           	psect	functab,global,reloc=256,class=CODE,delta=2
    27                           	psect	pa_nodes,global,class=CODE,delta=2
    28                           	dabs	1,0x7E,2
    29  000A                     	;#
    30                           
    31                           	psect	config
    32  8007  C9A4               	dw	51620	;#
    33  8008  DEFF               	dw	57087	;#
    34                           
    35                           	psect	idloc
    36  8000                     idloc_word:	
    37                           
    38                           ;#
    39  8000  0000               	dw	0	;#
    40  8001  0000               	dw	0	;#
    41  8002  0000               	dw	0	;#
    42  8003  0000               	dw	0	;#
    43                           
    44                           	psect	idataBANK1
    45  0000                     __pidataBANK1:	
    46                           
    47                           	psect	strings
    48  00A6                     __pstrings:	
    49  00A6                     __stringtab:	
    50  00A6  3400               	retlw	0
    51  00A7                     exp@coeff:	
    52  00A7  3400               	retlw	0
    53  00A8  3480               	retlw	128
    54  00A9  343F               	retlw	63
    55  00AA  3472               	retlw	114
    56  00AB  3431               	retlw	49
    57  00AC  343F               	retlw	63
    58  00AD  34FE               	retlw	254
    59  00AE  3475               	retlw	117
    60  00AF  343E               	retlw	62
    61  00B0  3458               	retlw	88
    62  00B1  3463               	retlw	99
    63  00B2  343D               	retlw	61
    64  00B3  3495               	retlw	149
    65  00B4  341D               	retlw	29
    66  00B5  343C               	retlw	60
    67  00B6  34C5               	retlw	197
    68  00B7  34AE               	retlw	174
    69  00B8  343A               	retlw	58
    70  00B9  3479               	retlw	121
    71  00BA  3421               	retlw	33
    72  00BB  3439               	retlw	57
    73  00BC  3494               	retlw	148
    74  00BD  3480               	retlw	128
    75  00BE  3437               	retlw	55
    76  00BF  3493               	retlw	147
    77  00C0  34A7               	retlw	167
    78  00C1  3435               	retlw	53
    79  00C2  3456               	retlw	86
    80  00C3  3415               	retlw	21
    81  00C4  3434               	retlw	52
    82  00C5                     _gModeFns:	
    83  00C5  3403               	retlw	(fp__mOffInit-fpbase)& (0+255)
    84  00C6  3405               	retlw	(fp__mOffDestr-fpbase)& (0+255)
    85  00C7  3409               	retlw	(fp__mOffUp-fpbase)& (0+255)
    86  00C8  340B               	retlw	(fp__mOffDown-fpbase)& (0+255)
    87  00C9  340D               	retlw	(fp__mOffO-fpbase)& (0+255)
    88  00CA  3407               	retlw	(fp__mOffDataInit-fpbase)& (0+255)
    89  00CB  3400               	retlw	0
    90  00CC  340F               	retlw	(fp__mSolidInit-fpbase)& (0+255)
    91  00CD  3411               	retlw	(fp__mSolidDestr-fpbase)& (0+255)
    92  00CE  3413               	retlw	(fp__mSolidUp-fpbase)& (0+255)
    93  00CF  3415               	retlw	(fp__mSolidDown-fpbase)& (0+255)
    94  00D0  3417               	retlw	(fp__mSolidO-fpbase)& (0+255)
    95  00D1  3419               	retlw	(fp__mSolidDataInit-fpbase)& (0+255)
    96  00D2  3400               	retlw	0
    97  00D3  341B               	retlw	(fp__mFadeInit-fpbase)& (0+255)
    98  00D4  341D               	retlw	(fp__mFadeDestr-fpbase)& (0+255)
    99  00D5  341F               	retlw	(fp__mFadeUp-fpbase)& (0+255)
   100  00D6  3401               	retlw	(fp__mFadeDown-fpbase)& (0+255)
   101  00D7  3421               	retlw	(fp__mFadeO-fpbase)& (0+255)
   102  00D8  3423               	retlw	(fp__mFadeDataInit-fpbase)& (0+255)
   103  00D9  3425               	retlw	(fp__mFadeRun-fpbase)& (0+255)
   104  0016                     _TMR1	set	22
   105  000B                     _INTCON	set	11
   106  000B                     _INTCONbits	set	11
   107  000C                     _PORTA	set	12
   108  0018                     _T1CON	set	24
   109  001C                     _T2CON	set	28
   110  001A                     _TMR2	set	26
   111  008A                     _CCP1IF	set	138
   112  005F                     _GIE	set	95
   113  005A                     _TMR0IF	set	90
   114  0089                     _TMR2IF	set	137
   115  00E2                     _TMR2ON	set	226
   116  0095                     _OPTION_REG	set	149
   117  0099                     _OSCCON	set	153
   118  008C                     _TRISA	set	140
   119  048A                     _CCP1IE	set	1162
   120  04D3                     _HFIOFL	set	1235
   121  04D6                     _PLLR	set	1238
   122  0489                     _TMR2IE	set	1161
   123  011D                     _APFCON	set	285
   124  010C                     _LATA	set	268
   125  018C                     _ANSELA	set	396
   126  0191                     _EEADRL	set	401
   127  0195                     _EECON1	set	405
   128  0195                     _EECON1bits	set	405
   129  0196                     _EECON2	set	406
   130  0193                     _EEDATL	set	403
   131  0291                     _CCPR1	set	657
   132  0293                     _CCP1CON	set	659
   133                           
   134                           	psect	bitbssCOMMON
   135  03C8                     __pbitbssCOMMON:	
   136  03C8                     _gIntFirstEdgeSeen:	
   137  03C8                     	ds	1
   138  03C9                     _gRxDone:	
   139  03C9                     	ds	1
   140  03CA                     eeWrite@gie:	
   141  03CA                     	ds	1
   142                           
   143                           	psect	bssCOMMON
   144  0075                     __pbssCOMMON:	
   145  0075                     _gLed:	
   146  0075                     	ds	4
   147                           
   148                           	psect	bssBANK1
   149  00A0                     __pbssBANK1:	
   150  00A0                     _tempData:	
   151  00A0                     	ds	8
   152  00A8                     _gBattCentiVolts:	
   153  00A8                     	ds	2
   154  00AA                     _gIntCapturedTime:	
   155  00AA                     	ds	2
   156  00AC                     _gPwmCtr:	
   157  00AC                     	ds	2
   158  00AE                     log@addr:	
   159  00AE                     	ds	2
   160  00B0                     _gRxMask:	
   161  00B0                     	ds	1
   162  00B1                     _gRxPos:	
   163  00B1                     	ds	1
   164  00B2                     _gRxData:	
   165  00B2                     	ds	32
   166                           
   167                           	psect	dataBANK1
   168  00E1                     __pdataBANK1:	
   169  00E1                     _gRngSeed:	
   170  00E1                     	ds	2
   171                           
   172                           	psect	bssBANK2
   173  0120                     __pbssBANK2:	
   174  0120                     _exponents:	
   175  0120                     	ds	32
   176                           
   177                           	psect	clrtext
   178  0727                     clear_ram:	
   179                           ;	Called with FSR0 containing the base address, and
   180                           ;	WREG with the size to clear
   181                           
   182  0727  0064               	clrwdt	;clear the watchdog before getting into this loop
   183  0728                     clrloop:	
   184  0728  0180               	clrf	0	;clear RAM location pointed to by FSR
   185  0729  3101               	addfsr 0,1
   186  072A  0B89               	decfsz	9,f	;Have we reached the end of clearing yet?
   187  072B  2F28               	goto	clrloop	;have we reached the end yet?
   188  072C  3400               	retlw	0	;all done for this memory range, return
   189                           
   190                           	psect	cstackBANK1
   191  00D2                     __pcstackBANK1:	
   192  00D2                     mFadeRun@t:	
   193  00D2                     mSolidUp@t:	
   194                           ; 1 bytes @ 0x0
   195                           
   196                           
   197                           ; 2 bytes @ 0x0
   198  00D2                     	ds	1
   199  00D3                     mFadeRun@i:	
   200                           
   201                           ; 1 bytes @ 0x1
   202  00D3                     	ds	1
   203  00D4                     ?_runFuncPtr:	
   204  00D4                     runFuncPtr@curMode:	
   205                           ; 1 bytes @ 0x2
   206                           
   207                           
   208                           ; 1 bytes @ 0x2
   209  00D4                     	ds	1
   210  00D5                     runFuncPtr@arg:	
   211                           
   212                           ; 1 bytes @ 0x3
   213  00D5                     	ds	1
   214  00D6                     runFuncPtr@funcIdx:	
   215                           
   216                           ; 1 bytes @ 0x4
   217  00D6                     	ds	1
   218  00D7                     _runFuncPtr$2127:	
   219                           
   220                           ; 2 bytes @ 0x5
   221  00D7                     	ds	2
   222  00D9                     runFuncPtr@f:	
   223                           
   224                           ; 1 bytes @ 0x7
   225  00D9                     	ds	1
   226  00DA                     ??_main:	
   227                           
   228                           ; 0 bytes @ 0x8
   229  00DA                     	ds	2
   230  00DC                     main@t:	
   231                           
   232                           ; 1 bytes @ 0xA
   233  00DC                     	ds	1
   234  00DD                     main@pt:	
   235                           
   236                           ; 2 bytes @ 0xB
   237  00DD                     	ds	2
   238  00DF                     main@whichBtn:	
   239                           
   240                           ; 1 bytes @ 0xD
   241  00DF                     	ds	1
   242  00E0                     main@mode:	
   243                           
   244                           ; 1 bytes @ 0xE
   245  00E0                     	ds	1
   246                           
   247                           	psect	cstackCOMMON
   248  0070                     __pcstackCOMMON:	
   249  0070                     ?_log:	
   250  0070                     ?_rxStart:	
   251                           ; 0 bytes @ 0x0
   252                           
   253  0070                     ?_genExponents:	
   254                           ; 0 bytes @ 0x0
   255                           
   256  0070                     ?_mOffCheckConfigMode:	
   257                           ; 0 bytes @ 0x0
   258                           
   259  0070                     ?_init:	
   260                           ; 0 bytes @ 0x0
   261                           
   262  0070                     ?_main:	
   263                           ; 0 bytes @ 0x0
   264                           
   265  0070                     ?_isr:	
   266                           ; 0 bytes @ 0x0
   267                           
   268  0070                     ??_isr:	
   269                           ; 0 bytes @ 0x0
   270                           
   271  0070                     ?_eeRead:	
   272                           ; 0 bytes @ 0x0
   273                           
   274  0070                     ?_rxDecode:	
   275                           ; 1 bytes @ 0x0
   276                           
   277  0070                     ?_getU8:	
   278                           ; 1 bytes @ 0x0
   279                           
   280  0070                     ?_rand:	
   281                           ; 1 bytes @ 0x0
   282                           
   283                           
   284                           ; 1 bytes @ 0x0
   285  0070                     	ds	4
   286  0074                     isr@t:	
   287                           
   288                           ; 1 bytes @ 0x4
   289  0074                     	ds	1
   290                           
   291                           	psect	cstackBANK0
   292  0020                     __pcstackBANK0:	
   293  0020                     ??_eeRead:	
   294  0020                     ?_eeWrite:	
   295                           ; 0 bytes @ 0x0
   296                           
   297  0020                     ??_rxStart:	
   298                           ; 0 bytes @ 0x0
   299                           
   300  0020                     ??_rxDecode:	
   301                           ; 0 bytes @ 0x0
   302                           
   303  0020                     ??_getU8:	
   304                           ; 0 bytes @ 0x0
   305                           
   306  0020                     ??_init:	
   307                           ; 0 bytes @ 0x0
   308                           
   309  0020                     ?___ftge:	
   310                           ; 0 bytes @ 0x0
   311                           
   312  0020                     ?___bmul:	
   313                           ; 1 bit 
   314                           
   315  0020                     ?_getU16:	
   316                           ; 1 bytes @ 0x0
   317                           
   318  0020                     ?___wmul:	
   319                           ; 2 bytes @ 0x0
   320                           
   321  0020                     ?___lwdiv:	
   322                           ; 2 bytes @ 0x0
   323                           
   324  0020                     ?___awdiv:	
   325                           ; 2 bytes @ 0x0
   326                           
   327  0020                     ?_frexp:	
   328                           ; 2 bytes @ 0x0
   329                           
   330  0020                     ?___ftpack:	
   331                           ; 3 bytes @ 0x0
   332                           
   333  0020                     ?___ftneg:	
   334                           ; 3 bytes @ 0x0
   335                           
   336  0020                     ?_getU32:	
   337                           ; 3 bytes @ 0x0
   338                           
   339  0020                     ?___lmul:	
   340                           ; 4 bytes @ 0x0
   341                           
   342  0020                     ?___fttol:	
   343                           ; 4 bytes @ 0x0
   344                           
   345  0020                     ?___llmod:	
   346                           ; 4 bytes @ 0x0
   347                           
   348  0020                     ?___lldiv:	
   349                           ; 4 bytes @ 0x0
   350                           
   351  0020                     eeRead@addr:	
   352                           ; 4 bytes @ 0x0
   353                           
   354  0020                     eeWrite@data:	
   355                           ; 1 bytes @ 0x0
   356                           
   357  0020                     rxStart@i:	
   358                           ; 1 bytes @ 0x0
   359                           
   360  0020                     getU8@t:	
   361                           ; 1 bytes @ 0x0
   362                           
   363  0020                     ___bmul@multiplicand:	
   364                           ; 1 bytes @ 0x0
   365                           
   366  0020                     ___wmul@multiplier:	
   367                           ; 1 bytes @ 0x0
   368                           
   369  0020                     ___lwdiv@divisor:	
   370                           ; 2 bytes @ 0x0
   371                           
   372  0020                     ___awdiv@divisor:	
   373                           ; 2 bytes @ 0x0
   374                           
   375  0020                     frexp@value:	
   376                           ; 2 bytes @ 0x0
   377                           
   378  0020                     ___fttol@f1:	
   379                           ; 3 bytes @ 0x0
   380                           
   381  0020                     ___ftneg@f1:	
   382                           ; 3 bytes @ 0x0
   383                           
   384  0020                     ___ftge@ff1:	
   385                           ; 3 bytes @ 0x0
   386                           
   387  0020                     ___ftpack@arg:	
   388                           ; 3 bytes @ 0x0
   389                           
   390  0020                     ___lmul@multiplier:	
   391                           ; 3 bytes @ 0x0
   392                           
   393  0020                     ___llmod@divisor:	
   394                           ; 4 bytes @ 0x0
   395                           
   396  0020                     ___lldiv@divisor:	
   397                           ; 4 bytes @ 0x0
   398                           
   399                           
   400                           ; 4 bytes @ 0x0
   401  0020                     	ds	1
   402  0021                     ??_eeWrite:	
   403  0021                     ??___bmul:	
   404                           ; 0 bytes @ 0x1
   405                           
   406  0021                     ___bmul@product:	
   407                           ; 0 bytes @ 0x1
   408                           
   409                           
   410                           ; 1 bytes @ 0x1
   411  0021                     	ds	1
   412  0022                     ??_getU16:	
   413  0022                     eeWrite@addr:	
   414                           ; 0 bytes @ 0x2
   415                           
   416  0022                     ___bmul@multiplier:	
   417                           ; 1 bytes @ 0x2
   418                           
   419  0022                     _rxDecode$2016:	
   420                           ; 1 bytes @ 0x2
   421                           
   422  0022                     ___wmul@multiplicand:	
   423                           ; 2 bytes @ 0x2
   424                           
   425  0022                     ___lwdiv@dividend:	
   426                           ; 2 bytes @ 0x2
   427                           
   428  0022                     ___awdiv@dividend:	
   429                           ; 2 bytes @ 0x2
   430                           
   431                           
   432                           ; 2 bytes @ 0x2
   433  0022                     	ds	1
   434  0023                     ??_log:	
   435  0023                     ??___ftneg:	
   436                           ; 0 bytes @ 0x3
   437                           
   438  0023                     log@a:	
   439                           ; 0 bytes @ 0x3
   440                           
   441  0023                     frexp@eptr:	
   442                           ; 1 bytes @ 0x3
   443                           
   444  0023                     ___ftpack@exp:	
   445                           ; 1 bytes @ 0x3
   446                           
   447  0023                     ___ftge@ff2:	
   448                           ; 1 bytes @ 0x3
   449                           
   450                           
   451                           ; 3 bytes @ 0x3
   452  0023                     	ds	1
   453  0024                     ??_frexp:	
   454  0024                     ??_getU32:	
   455                           ; 0 bytes @ 0x4
   456                           
   457  0024                     ??___wmul:	
   458                           ; 0 bytes @ 0x4
   459                           
   460  0024                     ??___lwdiv:	
   461                           ; 0 bytes @ 0x4
   462                           
   463  0024                     ??___fttol:	
   464                           ; 0 bytes @ 0x4
   465                           
   466  0024                     ??___awdiv:	
   467                           ; 0 bytes @ 0x4
   468                           
   469  0024                     rxDecode@t:	
   470                           ; 0 bytes @ 0x4
   471                           
   472  0024                     ___lwdiv@counter:	
   473                           ; 1 bytes @ 0x4
   474                           
   475  0024                     ___awdiv@counter:	
   476                           ; 1 bytes @ 0x4
   477                           
   478  0024                     ___ftpack@sign:	
   479                           ; 1 bytes @ 0x4
   480                           
   481  0024                     ___wmul@product:	
   482                           ; 1 bytes @ 0x4
   483                           
   484  0024                     ___lmul@multiplicand:	
   485                           ; 2 bytes @ 0x4
   486                           
   487  0024                     ___llmod@dividend:	
   488                           ; 4 bytes @ 0x4
   489                           
   490  0024                     ___lldiv@dividend:	
   491                           ; 4 bytes @ 0x4
   492                           
   493                           
   494                           ; 4 bytes @ 0x4
   495  0024                     	ds	1
   496  0025                     ??___ftpack:	
   497  0025                     rxDecode@i:	
   498                           ; 0 bytes @ 0x5
   499                           
   500  0025                     ___awdiv@sign:	
   501                           ; 1 bytes @ 0x5
   502                           
   503  0025                     ___lwdiv@quotient:	
   504                           ; 1 bytes @ 0x5
   505                           
   506                           
   507                           ; 2 bytes @ 0x5
   508  0025                     	ds	1
   509  0026                     ??_rand:	
   510  0026                     ?_delay_ms:	
   511                           ; 0 bytes @ 0x6
   512                           
   513  0026                     ??___ftge:	
   514                           ; 0 bytes @ 0x6
   515                           
   516  0026                     rxDecode@j:	
   517                           ; 0 bytes @ 0x6
   518                           
   519  0026                     delay_ms@ms:	
   520                           ; 1 bytes @ 0x6
   521                           
   522  0026                     ___awdiv@quotient:	
   523                           ; 2 bytes @ 0x6
   524                           
   525                           
   526                           ; 2 bytes @ 0x6
   527  0026                     	ds	1
   528  0027                     rxDecode@k:	
   529  0027                     ___fttol@sign1:	
   530                           ; 1 bytes @ 0x7
   531                           
   532                           
   533                           ; 1 bytes @ 0x7
   534  0027                     	ds	1
   535  0028                     ??_delay_ms:	
   536  0028                     ??___lmul:	
   537                           ; 0 bytes @ 0x8
   538                           
   539  0028                     ??___llmod:	
   540                           ; 0 bytes @ 0x8
   541                           
   542  0028                     ??___lldiv:	
   543                           ; 0 bytes @ 0x8
   544                           
   545  0028                     ?___ftdiv:	
   546                           ; 0 bytes @ 0x8
   547                           
   548  0028                     ?___lbtoft:	
   549                           ; 3 bytes @ 0x8
   550                           
   551  0028                     ?___awtoft:	
   552                           ; 3 bytes @ 0x8
   553                           
   554  0028                     rand@ret:	
   555                           ; 3 bytes @ 0x8
   556                           
   557  0028                     ___llmod@counter:	
   558                           ; 1 bytes @ 0x8
   559                           
   560  0028                     ___awtoft@c:	
   561                           ; 1 bytes @ 0x8
   562                           
   563  0028                     ___ftdiv@f2:	
   564                           ; 2 bytes @ 0x8
   565                           
   566  0028                     ___lmul@product:	
   567                           ; 3 bytes @ 0x8
   568                           
   569  0028                     ___fttol@lval:	
   570                           ; 4 bytes @ 0x8
   571                           
   572  0028                     ___lldiv@quotient:	
   573                           ; 4 bytes @ 0x8
   574                           
   575                           
   576                           ; 4 bytes @ 0x8
   577  0028                     	ds	2
   578  002A                     getU16@t:	
   579  002A                     delay_ms@t:	
   580                           ; 1 bytes @ 0xA
   581                           
   582                           
   583                           ; 2 bytes @ 0xA
   584  002A                     	ds	1
   585  002B                     ??___lbtoft:	
   586  002B                     ??___awtoft:	
   587                           ; 0 bytes @ 0xB
   588                           
   589  002B                     ___lbtoft@c:	
   590                           ; 0 bytes @ 0xB
   591                           
   592  002B                     ___awtoft@sign:	
   593                           ; 1 bytes @ 0xB
   594                           
   595  002B                     ___ftdiv@f1:	
   596                           ; 1 bytes @ 0xB
   597                           
   598  002B                     getU16@v:	
   599                           ; 3 bytes @ 0xB
   600                           
   601                           
   602                           ; 4 bytes @ 0xB
   603  002B                     	ds	1
   604  002C                     ?___ftmul:	
   605  002C                     getU32@t:	
   606                           ; 3 bytes @ 0xC
   607                           
   608  002C                     ___fttol@exp1:	
   609                           ; 1 bytes @ 0xC
   610                           
   611  002C                     ___lldiv@counter:	
   612                           ; 1 bytes @ 0xC
   613                           
   614  002C                     delay_ms@d:	
   615                           ; 1 bytes @ 0xC
   616                           
   617  002C                     ___ftmul@f1:	
   618                           ; 2 bytes @ 0xC
   619                           
   620                           
   621                           ; 3 bytes @ 0xC
   622  002C                     	ds	1
   623  002D                     ?___altoft:	
   624  002D                     getU32@v:	
   625                           ; 3 bytes @ 0xD
   626                           
   627  002D                     ___altoft@c:	
   628                           ; 4 bytes @ 0xD
   629                           
   630                           
   631                           ; 4 bytes @ 0xD
   632  002D                     	ds	1
   633  002E                     ?_cfgModeShowVal:	
   634  002E                     ??___ftdiv:	
   635                           ; 0 bytes @ 0xE
   636                           
   637  002E                     cfgModeShowVal@v:	
   638                           ; 0 bytes @ 0xE
   639                           
   640                           
   641                           ; 4 bytes @ 0xE
   642  002E                     	ds	1
   643  002F                     ___ftmul@f2:	
   644                           
   645                           ; 3 bytes @ 0xF
   646  002F                     	ds	2
   647  0031                     ??___altoft:	
   648  0031                     ___ftdiv@cntr:	
   649                           ; 0 bytes @ 0x11
   650                           
   651  0031                     ___altoft@exp:	
   652                           ; 1 bytes @ 0x11
   653                           
   654                           
   655                           ; 1 bytes @ 0x11
   656  0031                     	ds	1
   657  0032                     ??_cfgModeShowVal:	
   658  0032                     ??___ftmul:	
   659                           ; 0 bytes @ 0x12
   660                           
   661  0032                     ___altoft@sign:	
   662                           ; 0 bytes @ 0x12
   663                           
   664  0032                     _cfgModeShowVal$2045:	
   665                           ; 1 bytes @ 0x12
   666                           
   667  0032                     ___ftdiv@f3:	
   668                           ; 2 bytes @ 0x12
   669                           
   670                           
   671                           ; 3 bytes @ 0x12
   672  0032                     	ds	2
   673  0034                     _cfgModeShowVal$2046:	
   674                           
   675                           ; 2 bytes @ 0x14
   676  0034                     	ds	1
   677  0035                     ___ftdiv@exp:	
   678  0035                     ___ftmul@exp:	
   679                           ; 1 bytes @ 0x15
   680                           
   681                           
   682                           ; 1 bytes @ 0x15
   683  0035                     	ds	1
   684  0036                     ___ftdiv@sign:	
   685  0036                     _cfgModeShowVal$2047:	
   686                           ; 1 bytes @ 0x16
   687                           
   688  0036                     ___ftmul@f3_as_product:	
   689                           ; 2 bytes @ 0x16
   690                           
   691                           
   692                           ; 3 bytes @ 0x16
   693  0036                     	ds	2
   694  0038                     cfgModeShowVal@colorMarker:	
   695                           
   696                           ; 1 bytes @ 0x18
   697  0038                     	ds	1
   698  0039                     cfgModeShowVal@digit:	
   699  0039                     ___ftmul@cntr:	
   700                           ; 1 bytes @ 0x19
   701                           
   702                           
   703                           ; 1 bytes @ 0x19
   704  0039                     	ds	1
   705  003A                     ___ftmul@sign:	
   706  003A                     cfgModeShowVal@t:	
   707                           ; 1 bytes @ 0x1A
   708                           
   709                           
   710                           ; 4 bytes @ 0x1A
   711  003A                     	ds	1
   712  003B                     ?___ftadd:	
   713  003B                     ___ftadd@f1:	
   714                           ; 3 bytes @ 0x1B
   715                           
   716                           
   717                           ; 3 bytes @ 0x1B
   718  003B                     	ds	3
   719  003E                     ??_mOffCheckConfigMode:	
   720  003E                     ___ftadd@f2:	
   721                           ; 0 bytes @ 0x1E
   722                           
   723                           
   724                           ; 3 bytes @ 0x1E
   725  003E                     	ds	1
   726  003F                     mOffCheckConfigMode@btn:	
   727                           
   728                           ; 1 bytes @ 0x1F
   729  003F                     	ds	1
   730  0040                     mOffCheckConfigMode@t:	
   731                           
   732                           ; 1 bytes @ 0x20
   733  0040                     	ds	1
   734  0041                     ??___ftadd:	
   735                           
   736                           ; 0 bytes @ 0x21
   737  0041                     	ds	3
   738  0044                     ___ftadd@sign:	
   739                           
   740                           ; 1 bytes @ 0x24
   741  0044                     	ds	1
   742  0045                     ___ftadd@exp2:	
   743                           
   744                           ; 1 bytes @ 0x25
   745  0045                     	ds	1
   746  0046                     ___ftadd@exp1:	
   747                           
   748                           ; 1 bytes @ 0x26
   749  0046                     	ds	1
   750  0047                     ?_floor:	
   751  0047                     ?_ldexp:	
   752                           ; 3 bytes @ 0x27
   753                           
   754  0047                     ?___ftsub:	
   755                           ; 3 bytes @ 0x27
   756                           
   757  0047                     floor@x:	
   758                           ; 3 bytes @ 0x27
   759                           
   760  0047                     ldexp@value:	
   761                           ; 3 bytes @ 0x27
   762                           
   763  0047                     ___ftsub@f2:	
   764                           ; 3 bytes @ 0x27
   765                           
   766                           
   767                           ; 3 bytes @ 0x27
   768  0047                     	ds	3
   769  004A                     ??_floor:	
   770  004A                     ldexp@newexp:	
   771                           ; 0 bytes @ 0x2A
   772                           
   773  004A                     floor@i:	
   774                           ; 2 bytes @ 0x2A
   775                           
   776  004A                     ___ftsub@f1:	
   777                           ; 3 bytes @ 0x2A
   778                           
   779                           
   780                           ; 3 bytes @ 0x2A
   781  004A                     	ds	2
   782  004C                     ??_ldexp:	
   783                           
   784                           ; 0 bytes @ 0x2C
   785  004C                     	ds	1
   786  004D                     ??___ftsub:	
   787  004D                     floor@expon:	
   788                           ; 0 bytes @ 0x2D
   789                           
   790                           
   791                           ; 2 bytes @ 0x2D
   792  004D                     	ds	1
   793  004E                     _ldexp$2201:	
   794                           
   795                           ; 3 bytes @ 0x2E
   796  004E                     	ds	3
   797  0051                     ?_eval_poly:	
   798  0051                     eval_poly@x:	
   799                           ; 3 bytes @ 0x31
   800                           
   801                           
   802                           ; 3 bytes @ 0x31
   803  0051                     	ds	3
   804  0054                     eval_poly@d:	
   805                           
   806                           ; 1 bytes @ 0x34
   807  0054                     	ds	1
   808  0055                     eval_poly@n:	
   809                           
   810                           ; 2 bytes @ 0x35
   811  0055                     	ds	2
   812  0057                     ??_eval_poly:	
   813                           
   814                           ; 0 bytes @ 0x37
   815  0057                     	ds	2
   816  0059                     eval_poly@res:	
   817                           
   818                           ; 3 bytes @ 0x39
   819  0059                     	ds	3
   820  005C                     ?_exp:	
   821  005C                     exp@x:	
   822                           ; 3 bytes @ 0x3C
   823                           
   824                           
   825                           ; 3 bytes @ 0x3C
   826  005C                     	ds	3
   827  005F                     ??_exp:	
   828  005F                     _exp$2163:	
   829                           ; 0 bytes @ 0x3F
   830                           
   831                           
   832                           ; 3 bytes @ 0x3F
   833  005F                     	ds	3
   834  0062                     exp@exp:	
   835                           
   836                           ; 2 bytes @ 0x42
   837  0062                     	ds	2
   838  0064                     exp@sign:	
   839                           
   840                           ; 1 bytes @ 0x44
   841  0064                     	ds	1
   842  0065                     ??_genExponents:	
   843  0065                     genExponents@bri:	
   844                           ; 0 bytes @ 0x45
   845                           
   846                           
   847                           ; 1 bytes @ 0x45
   848  0065                     	ds	1
   849  0066                     genExponents@i:	
   850                           
   851                           ; 1 bytes @ 0x46
   852  0066                     	ds	1
   853  0067                     genExponents@t:	
   854                           
   855                           ; 3 bytes @ 0x47
   856  0067                     	ds	3
   857  006A                     ?_mFadeRun:	
   858  006A                     mOffInit@arg:	
   859                           ; 1 bytes @ 0x4A
   860                           
   861  006A                     mOffDestr@arg:	
   862                           ; 1 bytes @ 0x4A
   863                           
   864  006A                     mOffDataInit@arg:	
   865                           ; 1 bytes @ 0x4A
   866                           
   867  006A                     mOffUp@arg:	
   868                           ; 1 bytes @ 0x4A
   869                           
   870  006A                     mOffDown@arg:	
   871                           ; 1 bytes @ 0x4A
   872                           
   873  006A                     mOffO@arg:	
   874                           ; 1 bytes @ 0x4A
   875                           
   876  006A                     mSolidInit@arg:	
   877                           ; 1 bytes @ 0x4A
   878                           
   879  006A                     mSolidDestr@arg:	
   880                           ; 1 bytes @ 0x4A
   881                           
   882  006A                     mSolidUp@arg:	
   883                           ; 1 bytes @ 0x4A
   884                           
   885  006A                     mSolidDown@arg:	
   886                           ; 1 bytes @ 0x4A
   887                           
   888  006A                     mSolidO@arg:	
   889                           ; 1 bytes @ 0x4A
   890                           
   891  006A                     mSolidDataInit@arg:	
   892                           ; 1 bytes @ 0x4A
   893                           
   894  006A                     mFadeInit@arg:	
   895                           ; 1 bytes @ 0x4A
   896                           
   897  006A                     mFadeDestr@arg:	
   898                           ; 1 bytes @ 0x4A
   899                           
   900  006A                     mFadeUp@arg:	
   901                           ; 1 bytes @ 0x4A
   902                           
   903  006A                     mFadeDown@arg:	
   904                           ; 1 bytes @ 0x4A
   905                           
   906  006A                     mFadeO@arg:	
   907                           ; 1 bytes @ 0x4A
   908                           
   909  006A                     mFadeDataInit@arg:	
   910                           ; 1 bytes @ 0x4A
   911                           
   912  006A                     mFadeRun@arg:	
   913                           ; 1 bytes @ 0x4A
   914                           
   915                           
   916                           ; 1 bytes @ 0x4A
   917  006A                     	ds	1
   918  006B                     ??_mOffInit:	
   919  006B                     ??_mOffDestr:	
   920                           ; 0 bytes @ 0x4B
   921                           
   922  006B                     ??_mOffDataInit:	
   923                           ; 0 bytes @ 0x4B
   924                           
   925  006B                     ??_mOffUp:	
   926                           ; 0 bytes @ 0x4B
   927                           
   928  006B                     ??_mOffDown:	
   929                           ; 0 bytes @ 0x4B
   930                           
   931  006B                     ??_mOffO:	
   932                           ; 0 bytes @ 0x4B
   933                           
   934  006B                     ??_mSolidInit:	
   935                           ; 0 bytes @ 0x4B
   936                           
   937  006B                     ??_mSolidDestr:	
   938                           ; 0 bytes @ 0x4B
   939                           
   940  006B                     ??_mSolidUp:	
   941                           ; 0 bytes @ 0x4B
   942                           
   943  006B                     ??_mSolidDown:	
   944                           ; 0 bytes @ 0x4B
   945                           
   946  006B                     ??_mSolidO:	
   947                           ; 0 bytes @ 0x4B
   948                           
   949  006B                     ??_mSolidDataInit:	
   950                           ; 0 bytes @ 0x4B
   951                           
   952  006B                     ??_mFadeInit:	
   953                           ; 0 bytes @ 0x4B
   954                           
   955  006B                     ??_mFadeDestr:	
   956                           ; 0 bytes @ 0x4B
   957                           
   958  006B                     ??_mFadeUp:	
   959                           ; 0 bytes @ 0x4B
   960                           
   961  006B                     ??_mFadeDown:	
   962                           ; 0 bytes @ 0x4B
   963                           
   964  006B                     ??_mFadeO:	
   965                           ; 0 bytes @ 0x4B
   966                           
   967  006B                     ??_mFadeDataInit:	
   968                           ; 0 bytes @ 0x4B
   969                           
   970  006B                     ??_mFadeRun:	
   971                           ; 0 bytes @ 0x4B
   972                           
   973  006B                     mSolidO@s0:	
   974                           ; 0 bytes @ 0x4B
   975                           
   976  006B                     mFadeO@s0:	
   977                           ; 1 bytes @ 0x4B
   978                           
   979                           
   980                           ; 1 bytes @ 0x4B
   981  006B                     	ds	1
   982  006C                     mSolidO@s1:	
   983  006C                     mFadeInit@i:	
   984                           ; 1 bytes @ 0x4C
   985                           
   986  006C                     mFadeO@s1:	
   987                           ; 1 bytes @ 0x4C
   988                           
   989  006C                     _mFadeUp$2094:	
   990                           ; 1 bytes @ 0x4C
   991                           
   992                           
   993                           ; 2 bytes @ 0x4C
   994  006C                     	ds	1
   995  006D                     mSolidO@s2:	
   996  006D                     mFadeO@s2:	
   997                           ; 1 bytes @ 0x4D
   998                           
   999  006D                     mSolidDown@t:	
  1000                           ; 1 bytes @ 0x4D
  1001                           
  1002  006D                     _mFadeDown$2098:	
  1003                           ; 2 bytes @ 0x4D
  1004                           
  1005                           
  1006                           ; 2 bytes @ 0x4D
  1007  006D                     	ds	1
  1008  006E                     mSolidO@s3:	
  1009  006E                     mFadeO@s3:	
  1010                           ; 1 bytes @ 0x4E
  1011                           
  1012  006E                     mFadeUp@t:	
  1013                           ; 1 bytes @ 0x4E
  1014                           
  1015                           
  1016                           ; 2 bytes @ 0x4E
  1017  006E                     	ds	1
  1018  006F                     mFadeDown@t:	
  1019                           
  1020                           ; 1 bytes @ 0x4F
  1021  006F                     	ds	1
  1022  0070                     ??_runFuncPtr:	
  1023                           
  1024                           	psect	text1612
  1025  042F                     __ptext1612:	
  1026 ;; =============== function _mSolidO ends ============
  1027                           
  1028                           
  1029 ;; *************** function _mSolidDown *****************
  1030 ;; Defined at:
  1031 ;;		line 416 in file "Z:\pic\irRX\main.c"
  1032 ;; Parameters:    Size  Location     Type
  1033 ;;  arg             1   74[BANK0 ] unsigned char 
  1034 ;; Auto vars:     Size  Location     Type
  1035 ;;  t               2   77[BANK0 ] short 
  1036 ;; Return value:  Size  Location     Type
  1037 ;;                  1    wreg      unsigned char 
  1038 ;; Registers used:
  1039 ;;		wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  1040 ;; Tracked objects:
  1041 ;;		On entry : 1F/1
  1042 ;;		On exit  : 1F/0
  1043 ;;		Unchanged: FFFE0/0
  1044 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1045 ;;      Params:         0       1       0       0
  1046 ;;      Locals:         0       2       0       0
  1047 ;;      Temps:          0       2       0       0
  1048 ;;      Totals:         0       5       0       0
  1049 ;;Total ram usage:        5 bytes
  1050 ;; Hardware stack levels used:    1
  1051 ;; Hardware stack levels required when called:    2
  1052 ;; This function calls:
  1053 ;;		___awdiv
  1054 ;; This function is called by:
  1055 ;;		_runFuncPtr
  1056 ;; This function uses a non-reentrant model
  1057 ;;
  1058  042F                     _mSolidDown:	
  1059                           
  1060                           ;main.c: 418: Int16 t = gLed[tempData.solid.selector];
  1061                           
  1062                           ; Regs used in _mSolidDown: [wreg+fsr1l-status,0+pclath+cstack]
  1063  042F  0820               	movf	_tempData^(0+128),w
  1064  0430  3E75               	addlw	_gLed& (0+255)
  1065  0431  0086               	movwf	6
  1066  0432  0187               	clrf	7
  1067  0433  0801               	movf	1,w
  1068  0434  0020               	movlb	0	; select bank0
  1069  0435  00ED               	movwf	mSolidDown@t
  1070  0436  3004               	movlw	4
  1071  0437  01EE               	clrf	mSolidDown@t+1
  1072                           
  1073                           ;main.c: 420: t -= 1 + (t + 3) / 4;
  1074  0438  00A0               	movwf	?___awdiv
  1075  0439  01A1               	clrf	?___awdiv+1
  1076  043A  086D               	movf	mSolidDown@t,w
  1077  043B  3E03               	addlw	3
  1078  043C  00A2               	movwf	?___awdiv+2
  1079  043D  3000               	movlw	0
  1080  043E  3D6E               	addwfc	mSolidDown@t+1,w
  1081  043F  00A3               	movwf	?___awdiv+3
  1082  0440  2573  3184         	fcall	___awdiv
  1083  0442  0820               	movf	?___awdiv,w
  1084  0443  3E01               	addlw	1
  1085  0444  00EB               	movwf	??_mSolidDown
  1086  0445  3000               	movlw	0
  1087  0446  3D21               	addwfc	?___awdiv+1,w
  1088  0447  00EC               	movwf	??_mSolidDown+1
  1089  0448  086B               	movf	??_mSolidDown,w
  1090  0449  02ED               	subwf	mSolidDown@t,f
  1091  044A  086C               	movf	??_mSolidDown+1,w
  1092  044B  3BEE               	subwfb	mSolidDown@t+1,f
  1093                           
  1094                           ;main.c: 421: if(t < 0) t = 0;
  1095  044C  1FEE               	btfss	mSolidDown@t+1,7
  1096  044D  2C50               	goto	l5957
  1097  044E  01ED               	clrf	mSolidDown@t
  1098  044F  01EE               	clrf	mSolidDown@t+1
  1099  0450                     l5957:	
  1100                           
  1101                           ;main.c: 422: gLed[tempData.solid.selector] = t;
  1102  0450  0021               	movlb	1	; select bank1
  1103  0451  0820               	movf	_tempData^(0+128),w
  1104  0452  3E75               	addlw	_gLed& (0+255)
  1105  0453  0086               	movwf	6
  1106  0454  0187               	clrf	7
  1107  0455  0020               	movlb	0	; select bank0
  1108  0456  086D               	movf	mSolidDown@t,w
  1109  0457  0081               	movwf	1
  1110                           
  1111                           ;main.c: 424: return 0;
  1112  0458  3400               	retlw	0
  1113  0459                     __end_of_mSolidDown:	
  1114  0459                     __ptext1604:	
  1115 ;; =============== function _runFuncPtr ends ============
  1116                           
  1117                           
  1118 ;; *************** function _mFadeRun *****************
  1119 ;; Defined at:
  1120 ;;		line 599 in file "Z:\pic\irRX\main.c"
  1121 ;; Parameters:    Size  Location     Type
  1122 ;;  arg             1   74[BANK0 ] unsigned char 
  1123 ;; Auto vars:     Size  Location     Type
  1124 ;;  i               1    1[BANK1 ] unsigned char 
  1125 ;;  t               1    0[BANK1 ] unsigned char 
  1126 ;; Return value:  Size  Location     Type
  1127 ;;                  1    wreg      unsigned char 
  1128 ;; Registers used:
  1129 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  1130 ;; Tracked objects:
  1131 ;;		On entry : 1F/1
  1132 ;;		On exit  : 1F/1
  1133 ;;		Unchanged: FFE00/0
  1134 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1135 ;;      Params:         0       1       0       0
  1136 ;;      Locals:         0       0       2       0
  1137 ;;      Temps:          0       5       0       0
  1138 ;;      Totals:         0       6       2       0
  1139 ;;Total ram usage:        8 bytes
  1140 ;; Hardware stack levels used:    1
  1141 ;; Hardware stack levels required when called:    4
  1142 ;; This function calls:
  1143 ;;		___awdiv
  1144 ;;		_rand
  1145 ;; This function is called by:
  1146 ;;		_runFuncPtr
  1147 ;; This function uses a non-reentrant model
  1148 ;;
  1149  0459                     _mFadeRun:	
  1150                           
  1151                           ;main.c: 601: UInt8 i, t;
  1152                           ;main.c: 603: if(!--tempData.fade.speedLeft){
  1153                           
  1154                           ; Regs used in _mFadeRun: [wreg-status,0+pclath+cstack]
  1155  0459  3001               	movlw	1
  1156  045A  02A6               	subwf	(_tempData^(0+128)+6),f
  1157  045B  3000               	movlw	0
  1158  045C  3BA7               	subwfb	((_tempData+1)^(0+128)+6),f
  1159  045D  0827               	movf	((_tempData+1)^(0+128)+6),w
  1160  045E  0426               	iorwf	(_tempData^(0+128)+6),w
  1161  045F  1D03               	skipz
  1162  0460  3400               	retlw	0
  1163                           
  1164                           ;main.c: 605: tempData.fade.speedLeft = ((UInt16)tempData.fade.speed) << 7;
  1165  0461  0824               	movf	(_tempData^(0+128)+4),w
  1166  0462  397F               	andlw	127
  1167  0463  0020               	movlb	0	; select bank0
  1168  0464  00EB               	movwf	??_mFadeRun
  1169  0465  3007               	movlw	7
  1170  0466  01EC               	clrf	??_mFadeRun+1
  1171  0467                     u4795:	
  1172  0467  35EB               	lslf	??_mFadeRun,f
  1173  0468  0DEC               	rlf	??_mFadeRun+1,f
  1174  0469  0B89               	decfsz	9,f
  1175  046A  2C67               	goto	u4795
  1176  046B  086B               	movf	??_mFadeRun,w
  1177  046C  0021               	movlb	1	; select bank1
  1178  046D  00A6               	movwf	(_tempData^(0+128)+6)
  1179  046E  0020               	movlb	0	; select bank0
  1180  046F  086C               	movf	??_mFadeRun+1,w
  1181  0470  0021               	movlb	1	; select bank1
  1182  0471  00A7               	movwf	((_tempData+1)^(0+128)+6)
  1183                           
  1184                           ;main.c: 607: for(i = 0; i < 4; i++){
  1185  0472  01D3               	clrf	mFadeRun@i^(0+128)
  1186  0473                     l6563:	
  1187                           
  1188                           ;main.c: 610: if(tempData.fade.tmp[i].changing){
  1189  0473  0853               	movf	mFadeRun@i^(0+128),w
  1190  0474  3EA0               	addlw	_tempData& (0+255)
  1191  0475  0086               	movwf	6
  1192  0476  0187               	clrf	7
  1193                           
  1194                           ;main.c: 611: t = tempData.fade.tmp[i].val;
  1195  0477  0853               	movf	mFadeRun@i^(0+128),w
  1196  0478  3EA0               	addlw	_tempData& (0+255)
  1197  0479  1E81               	btfss	1,5
  1198  047A  2C9F               	goto	L2
  1199  047B  0086               	movwf	6
  1200  047C  0801               	movf	1,w
  1201  047D  391F               	andlw	31
  1202  047E  00D2               	movwf	mFadeRun@t^(0+128)
  1203                           
  1204                           ;main.c: 612: if(tempData.fade.tmp[i].rising){
  1205  047F  0853               	movf	mFadeRun@i^(0+128),w
  1206  0480  3EA0               	addlw	_tempData& (0+255)
  1207  0481  0086               	movwf	6
  1208  0482  1F01               	btfss	1,6
  1209  0483  2C90               	goto	l6573
  1210                           
  1211                           ;main.c: 613: if(t == 0x1F){
  1212  0484  0852               	movf	mFadeRun@t^(0+128),w
  1213  0485  3A1F               	xorlw	31
  1214  0486  1D03               	skipz
  1215  0487  2C8E               	goto	l6571
  1216  0488                     l6569:	
  1217                           
  1218                           ;main.c: 614: tempData.fade.tmp[i].changing = 0;
  1219  0488  0853               	movf	mFadeRun@i^(0+128),w
  1220  0489  3EA0               	addlw	_tempData& (0+255)
  1221  048A  0086               	movwf	6
  1222  048B  0187               	clrf	7
  1223  048C  1281               	bcf	1,5
  1224                           
  1225                           ;main.c: 615: }
  1226  048D  2C94               	goto	l6579
  1227  048E                     l6571:	
  1228                           
  1229                           ;main.c: 616: else{
  1230                           ;main.c: 617: t++;
  1231  048E  0AD2               	incf	mFadeRun@t^(0+128),f
  1232  048F  2C94               	goto	l6579
  1233  0490                     l6573:	
  1234                           
  1235                           ;main.c: 620: else{
  1236                           ;main.c: 621: if(t == 0){
  1237  0490  08D2               	movf	mFadeRun@t^(0+128),f
  1238  0491  1903               	btfsc	3,2
  1239  0492  2C88               	goto	l6569
  1240                           
  1241                           ;main.c: 624: else{
  1242                           ;main.c: 625: t--;
  1243  0493  03D2               	decf	mFadeRun@t^(0+128),f
  1244  0494                     l6579:	
  1245                           
  1246                           ;main.c: 626: }
  1247                           ;main.c: 627: }
  1248                           ;main.c: 628: tempData.fade.tmp[i].val = t;
  1249  0494  0853               	movf	mFadeRun@i^(0+128),w
  1250  0495  3EA0               	addlw	_tempData& (0+255)
  1251  0496  0086               	movwf	6
  1252  0497  0187               	clrf	7
  1253  0498  0801               	movf	1,w
  1254  0499  0652               	xorwf	mFadeRun@t^(0+128),w
  1255  049A  39E0               	andlw	-32
  1256  049B  0652               	xorwf	mFadeRun@t^(0+128),w
  1257  049C  0081               	movwf	1
  1258                           
  1259                           ;main.c: 629: }
  1260                           ;main.c: 632: if(tempData.fade.tmp[i].changing && (rand() < ((0x1F - tempData.fade.tmp[i
      +                          ].val) / 4 + 1))){
  1261  049D  0853               	movf	mFadeRun@i^(0+128),w
  1262  049E  3EA0               	addlw	_tempData& (0+255)
  1263  049F                     L2:	
  1264  049F  0086               	movwf	6
  1265  04A0  0187               	clrf	7
  1266  04A1  1E81               	btfss	1,5
  1267  04A2  2CD2               	goto	l6587
  1268  04A3  3004               	movlw	4
  1269  04A4  0020               	movlb	0	; select bank0
  1270  04A5  00A0               	movwf	?___awdiv
  1271  04A6  01A1               	clrf	?___awdiv+1
  1272  04A7  0021               	movlb	1	; select bank1
  1273  04A8  0853               	movf	mFadeRun@i^(0+128),w
  1274  04A9  3EA0               	addlw	_tempData& (0+255)
  1275  04AA  0086               	movwf	6
  1276  04AB  0801               	movf	1,w
  1277  04AC  391F               	andlw	31
  1278  04AD  0020               	movlb	0	; select bank0
  1279  04AE  00EB               	movwf	??_mFadeRun
  1280  04AF  301F               	movlw	31
  1281  04B0  00EC               	movwf	??_mFadeRun+1
  1282  04B1  086B               	movf	??_mFadeRun,w
  1283  04B2  026C               	subwf	??_mFadeRun+1,w
  1284  04B3  00A2               	movwf	?___awdiv+2
  1285  04B4  01A3               	clrf	?___awdiv+3
  1286  04B5  1C03               	skipc
  1287  04B6  03A3               	decf	?___awdiv+3,f
  1288  04B7  2573  3184         	fcall	___awdiv
  1289  04B9  0820               	movf	?___awdiv,w
  1290  04BA  3E01               	addlw	1
  1291  04BB  00ED               	movwf	??_mFadeRun+2
  1292  04BC  3000               	movlw	0
  1293  04BD  3D21               	addwfc	?___awdiv+1,w
  1294  04BE  00EE               	movwf	??_mFadeRun+3
  1295  04BF  254A  3184         	fcall	_rand
  1296  04C1  00EF               	movwf	??_mFadeRun+4
  1297  04C2  086E               	movf	??_mFadeRun+3,w
  1298  04C3  3A80               	xorlw	128
  1299  04C4  3C80               	sublw	128
  1300  04C5  1D03               	skipz
  1301  04C6  2CC9               	goto	u4855
  1302  04C7  086D               	movf	??_mFadeRun+2,w
  1303  04C8  026F               	subwf	??_mFadeRun+4,w
  1304  04C9                     u4855:	
  1305  04C9  1803               	skipnc
  1306  04CA  2CD2               	goto	l6587
  1307                           
  1308                           ;main.c: 634: tempData.fade.tmp[i].changing = 0;
  1309  04CB  0021               	movlb	1	; select bank1
  1310  04CC  0853               	movf	mFadeRun@i^(0+128),w
  1311  04CD  3EA0               	addlw	_tempData& (0+255)
  1312  04CE  0086               	movwf	6
  1313  04CF  0187               	clrf	7
  1314  04D0  1281               	bcf	1,5
  1315                           
  1316                           ;main.c: 635: }
  1317  04D1  2D11               	goto	l6595
  1318  04D2                     l6587:	
  1319                           
  1320                           ;main.c: 636: else if(!tempData.fade.tmp[i].changing && (rand() < (8))){
  1321  04D2  0021               	movlb	1	; select bank1
  1322  04D3  0853               	movf	mFadeRun@i^(0+128),w
  1323  04D4  3EA0               	addlw	_tempData& (0+255)
  1324  04D5  0086               	movwf	6
  1325  04D6  0187               	clrf	7
  1326  04D7  1A81               	btfsc	1,5
  1327  04D8  2D11               	goto	l6595
  1328  04D9  254A  3184         	fcall	_rand
  1329  04DB  00EB               	movwf	??_mFadeRun
  1330  04DC  3008               	movlw	8
  1331  04DD  026B               	subwf	??_mFadeRun,w
  1332  04DE  1803               	skipnc
  1333  04DF  2D11               	goto	l6595
  1334                           
  1335                           ;main.c: 638: tempData.fade.tmp[i].changing = 1;
  1336  04E0  0021               	movlb	1	; select bank1
  1337  04E1  0853               	movf	mFadeRun@i^(0+128),w
  1338  04E2  3EA0               	addlw	_tempData& (0+255)
  1339  04E3  0086               	movwf	6
  1340  04E4  0187               	clrf	7
  1341  04E5  1681               	bsf	1,5
  1342                           
  1343                           ;main.c: 639: tempData.fade.tmp[i].rising = !(rand() < (tempData.fade.tmp[i].val << 3));
  1344  04E6  0853               	movf	mFadeRun@i^(0+128),w
  1345  04E7  3EA0               	addlw	_tempData& (0+255)
  1346  04E8  0086               	movwf	6
  1347  04E9  0801               	movf	1,w
  1348  04EA  391F               	andlw	31
  1349  04EB  0020               	movlb	0	; select bank0
  1350  04EC  00EB               	movwf	??_mFadeRun
  1351  04ED  01EC               	clrf	??_mFadeRun+1
  1352  04EE  35EB               	lslf	??_mFadeRun,f
  1353  04EF  0DEC               	rlf	??_mFadeRun+1,f
  1354  04F0  35EB               	lslf	??_mFadeRun,f
  1355  04F1  0DEC               	rlf	??_mFadeRun+1,f
  1356  04F2  35EB               	lslf	??_mFadeRun,f
  1357  04F3  0DEC               	rlf	??_mFadeRun+1,f
  1358  04F4  254A  3184         	fcall	_rand
  1359  04F6  00ED               	movwf	??_mFadeRun+2
  1360  04F7  086C               	movf	??_mFadeRun+1,w
  1361  04F8  3A80               	xorlw	128
  1362  04F9  3C80               	sublw	128
  1363  04FA  1D03               	skipz
  1364  04FB  2CFE               	goto	u4885
  1365  04FC  086B               	movf	??_mFadeRun,w
  1366  04FD  026D               	subwf	??_mFadeRun+2,w
  1367  04FE                     u4885:	
  1368  04FE  3000               	movlw	0
  1369  04FF  1803               	skipnc
  1370  0500  3001               	movlw	1
  1371  0501  0020               	movlb	0	; select bank0
  1372  0502  00EE               	movwf	??_mFadeRun+3
  1373  0503  0021               	movlb	1	; select bank1
  1374  0504  0853               	movf	mFadeRun@i^(0+128),w
  1375  0505  3EA0               	addlw	_tempData& (0+255)
  1376  0506  0086               	movwf	6
  1377  0507  0187               	clrf	7
  1378  0508  0020               	movlb	0	; select bank0
  1379  0509  0EEE               	swapf	??_mFadeRun+3,f
  1380  050A  0DEE               	rlf	??_mFadeRun+3,f
  1381  050B  0DEE               	rlf	??_mFadeRun+3,f
  1382  050C  0801               	movf	1,w
  1383  050D  066E               	xorwf	??_mFadeRun+3,w
  1384  050E  39BF               	andlw	-65
  1385  050F  066E               	xorwf	??_mFadeRun+3,w
  1386  0510  0081               	movwf	1
  1387  0511                     l6595:	
  1388  0511  0021               	movlb	1	; select bank1
  1389  0512  3004               	movlw	4
  1390  0513  0AD3               	incf	mFadeRun@i^(0+128),f
  1391  0514  0253               	subwf	mFadeRun@i^(0+128),w
  1392  0515  1C03               	skipc
  1393  0516  2C73               	goto	l6563
  1394                           
  1395                           ;main.c: 640: }
  1396                           ;main.c: 641: }
  1397                           ;main.c: 643: gLed[0] = exponents[tempData.fade.tmp[0].val];
  1398  0517  0820               	movf	_tempData^(0+128),w
  1399  0518  391F               	andlw	31
  1400  0519  3E20               	addlw	_exponents& (0+255)
  1401  051A  0086               	movwf	6
  1402  051B  3001               	movlw	1	; select bank2/3
  1403  051C  0087               	movwf	7
  1404  051D  0801               	movf	1,w
  1405  051E  00F5               	movwf	_gLed
  1406                           
  1407                           ;main.c: 644: if(gLed[0] > 32) gLed[0] = ((gLed[0] - 32) >> 1) + 32;
  1408  051F  3021               	movlw	33
  1409  0520  0275               	subwf	_gLed,w
  1410  0521  1C03               	skipc
  1411  0522  2D31               	goto	l6605
  1412  0523  0875               	movf	_gLed,w
  1413  0524  3EE0               	addlw	224
  1414  0525  0020               	movlb	0	; select bank0
  1415  0526  00EB               	movwf	??_mFadeRun
  1416  0527  30FF               	movlw	255
  1417  0528  1803               	skipnc
  1418  0529  3000               	movlw	0
  1419  052A  00EC               	movwf	??_mFadeRun+1
  1420  052B  0D6C               	rlf	??_mFadeRun+1,w
  1421  052C  0CEC               	rrf	??_mFadeRun+1,f
  1422  052D  0CEB               	rrf	??_mFadeRun,f
  1423  052E  086B               	movf	??_mFadeRun,w
  1424  052F  3E20               	addlw	32
  1425  0530  00F5               	movwf	_gLed
  1426  0531                     l6605:	
  1427                           
  1428                           ;main.c: 645: for(i = 1; i < 4; i++) gLed[i] = exponents[tempData.fade.tmp[i].val];
  1429  0531  0021               	movlb	1	; select bank1
  1430  0532  01D3               	clrf	mFadeRun@i^(0+128)
  1431  0533  0AD3               	incf	mFadeRun@i^(0+128),f
  1432  0534                     l6611:	
  1433  0534  0853               	movf	mFadeRun@i^(0+128),w
  1434  0535  3E75               	addlw	_gLed& (0+255)
  1435  0536  0086               	movwf	6
  1436  0537  0187               	clrf	7
  1437  0538  0853               	movf	mFadeRun@i^(0+128),w
  1438  0539  3EA0               	addlw	_tempData& (0+255)
  1439  053A  0084               	movwf	4
  1440  053B  0185               	clrf	5
  1441  053C  0800               	movf	0,w
  1442  053D  391F               	andlw	31
  1443  053E  3E20               	addlw	_exponents& (0+255)
  1444  053F  0084               	movwf	4
  1445  0540  3001               	movlw	1	; select bank2/3
  1446  0541  0085               	movwf	5
  1447  0542  0800               	movf	0,w
  1448  0543  0081               	movwf	1
  1449  0544  3004               	movlw	4
  1450  0545  0AD3               	incf	mFadeRun@i^(0+128),f
  1451  0546  0253               	subwf	mFadeRun@i^(0+128),w
  1452  0547  1803               	btfsc	3,0
  1453                           
  1454                           ;main.c: 646: }
  1455                           ;main.c: 648: return 0;
  1456  0548  3400               	retlw	0
  1457  0549  2D34               	goto	l6611
  1458  054A                     __end_of_mFadeRun:	
  1459  054A                     __ptext1630:	
  1460 ;; =============== function _cfgModeShowVal ends ============
  1461                           
  1462                           
  1463 ;; *************** function _rand *****************
  1464 ;; Defined at:
  1465 ;;		line 217 in file "Z:\pic\irRX\main.c"
  1466 ;; Parameters:    Size  Location     Type
  1467 ;;		None
  1468 ;; Auto vars:     Size  Location     Type
  1469 ;;  ret             1    8[BANK0 ] unsigned char 
  1470 ;; Return value:  Size  Location     Type
  1471 ;;                  1    wreg      unsigned char 
  1472 ;; Registers used:
  1473 ;;		wreg, status,2, status,0, pclath, cstack
  1474 ;; Tracked objects:
  1475 ;;		On entry : 1E/0
  1476 ;;		On exit  : 1F/0
  1477 ;;		Unchanged: FFE00/0
  1478 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1479 ;;      Params:         0       0       0       0
  1480 ;;      Locals:         0       1       0       0
  1481 ;;      Temps:          0       2       0       0
  1482 ;;      Totals:         0       3       0       0
  1483 ;;Total ram usage:        3 bytes
  1484 ;; Hardware stack levels used:    1
  1485 ;; Hardware stack levels required when called:    3
  1486 ;; This function calls:
  1487 ;;		___wmul
  1488 ;;		_log
  1489 ;; This function is called by:
  1490 ;;		_mFadeRun
  1491 ;; This function uses a non-reentrant model
  1492 ;;
  1493  054A                     _rand:	
  1494                           
  1495                           ;main.c: 219: UInt8 ret;
  1496                           ;main.c: 221: gRngSeed = gRngSeed * 0x5EED + 13;
  1497                           
  1498                           ; Regs used in _rand: [wreg+status,2+status,0+pclath+cstack]
  1499  054A  0021               	movlb	1	; select bank1
  1500  054B  0862               	movf	(_gRngSeed+1)^(0+128),w
  1501  054C  0020               	movlb	0	; select bank0
  1502  054D  00A1               	movwf	?___wmul+1
  1503  054E  0021               	movlb	1	; select bank1
  1504  054F  0861               	movf	_gRngSeed^(0+128),w
  1505  0550  0020               	movlb	0	; select bank0
  1506  0551  00A0               	movwf	?___wmul
  1507  0552  30ED               	movlw	237
  1508  0553  00A2               	movwf	?___wmul+2
  1509  0554  305E               	movlw	94
  1510  0555  00A3               	movwf	?___wmul+3
  1511  0556  3183  23BF  3184   	fcall	___wmul
  1512  0559  0820               	movf	?___wmul,w
  1513  055A  3E0D               	addlw	13
  1514  055B  0021               	movlb	1	; select bank1
  1515  055C  00E1               	movwf	_gRngSeed^(0+128)
  1516  055D  3000               	movlw	0
  1517  055E  0020               	movlb	0	; select bank0
  1518  055F  3D21               	addwfc	?___wmul+1,w
  1519  0560  0021               	movlb	1	; select bank1
  1520  0561  00E2               	movwf	(_gRngSeed+1)^(0+128)
  1521                           
  1522                           ;main.c: 222: ret = gRngSeed >> 5;
  1523  0562  0020               	movlb	0	; select bank0
  1524  0563  00A7               	movwf	??_rand+1
  1525  0564  0021               	movlb	1	; select bank1
  1526  0565  0861               	movf	_gRngSeed^(0+128),w
  1527  0566  0020               	movlb	0	; select bank0
  1528  0567  00A6               	movwf	??_rand
  1529  0568  3005               	movlw	5
  1530  0569                     u4535:	
  1531  0569  36A7               	lsrf	??_rand+1,f
  1532  056A  0CA6               	rrf	??_rand,f
  1533  056B  0B89               	decfsz	9,f
  1534  056C  2D69               	goto	u4535
  1535  056D  0826               	movf	??_rand,w
  1536  056E  00A8               	movwf	rand@ret
  1537                           
  1538                           ;main.c: 224: log(ret);
  1539  056F  25B3               	fcall	_log
  1540                           
  1541                           ;main.c: 225: return ret;
  1542  0570  0020               	movlb	0	; select bank0
  1543  0571  0828               	movf	rand@ret,w
  1544  0572  0008               	return
  1545  0573                     __end_of_rand:	
  1546  0573                     __ptext1645:	
  1547 ;; =============== function ___llmod ends ============
  1548                           
  1549                           
  1550 ;; *************** function ___awdiv *****************
  1551 ;; Defined at:
  1552 ;;		line 5 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\awdiv.c"
  1553 ;; Parameters:    Size  Location     Type
  1554 ;;  divisor         2    0[BANK0 ] int 
  1555 ;;  dividend        2    2[BANK0 ] int 
  1556 ;; Auto vars:     Size  Location     Type
  1557 ;;  quotient        2    6[BANK0 ] int 
  1558 ;;  sign            1    5[BANK0 ] unsigned char 
  1559 ;;  counter         1    4[BANK0 ] unsigned char 
  1560 ;; Return value:  Size  Location     Type
  1561 ;;                  2    0[BANK0 ] int 
  1562 ;; Registers used:
  1563 ;;		wreg, status,2, status,0
  1564 ;; Tracked objects:
  1565 ;;		On entry : 1F/0
  1566 ;;		On exit  : 1F/0
  1567 ;;		Unchanged: FFFE0/0
  1568 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1569 ;;      Params:         0       4       0       0
  1570 ;;      Locals:         0       4       0       0
  1571 ;;      Temps:          0       0       0       0
  1572 ;;      Totals:         0       8       0       0
  1573 ;;Total ram usage:        8 bytes
  1574 ;; Hardware stack levels used:    1
  1575 ;; Hardware stack levels required when called:    1
  1576 ;; This function calls:
  1577 ;;		Nothing
  1578 ;; This function is called by:
  1579 ;;		_mSolidDown
  1580 ;;		_mFadeRun
  1581 ;; This function uses a non-reentrant model
  1582 ;;
  1583  0573                     ___awdiv:	
  1584                           
  1585                           ; Regs used in ___awdiv: [wreg+status,2+status,0]
  1586  0573  01A5               	clrf	___awdiv@sign
  1587  0574  1FA1               	btfss	___awdiv@divisor+1,7
  1588  0575  2D7D               	goto	l5775
  1589  0576  09A0               	comf	___awdiv@divisor,f
  1590  0577  09A1               	comf	___awdiv@divisor+1,f
  1591  0578  0AA0               	incf	___awdiv@divisor,f
  1592  0579  1903               	skipnz
  1593  057A  0AA1               	incf	___awdiv@divisor+1,f
  1594  057B  01A5               	clrf	___awdiv@sign
  1595  057C  0AA5               	incf	___awdiv@sign,f
  1596  057D                     l5775:	
  1597  057D  1FA3               	btfss	___awdiv@dividend+1,7
  1598  057E  2D86               	goto	l5781
  1599  057F  09A2               	comf	___awdiv@dividend,f
  1600  0580  09A3               	comf	___awdiv@dividend+1,f
  1601  0581  0AA2               	incf	___awdiv@dividend,f
  1602  0582  1903               	skipnz
  1603  0583  0AA3               	incf	___awdiv@dividend+1,f
  1604  0584  3001               	movlw	1
  1605  0585  06A5               	xorwf	___awdiv@sign,f
  1606  0586                     l5781:	
  1607  0586  01A6               	clrf	___awdiv@quotient
  1608  0587  01A7               	clrf	___awdiv@quotient+1
  1609  0588  0821               	movf	___awdiv@divisor+1,w
  1610  0589  0420               	iorwf	___awdiv@divisor,w
  1611  058A  1903               	skipnz
  1612  058B  2DA6               	goto	l5803
  1613  058C  01A4               	clrf	___awdiv@counter
  1614  058D                     L14:	
  1615  058D  0AA4               	incf	___awdiv@counter,f
  1616  058E  1BA1               	btfsc	___awdiv@divisor+1,7
  1617  058F  2D93               	goto	l5791
  1618  0590  35A0               	lslf	___awdiv@divisor,f
  1619  0591  0DA1               	rlf	___awdiv@divisor+1,f
  1620  0592  2D8D               	goto	L14
  1621  0593                     l5791:	
  1622  0593  35A6               	lslf	___awdiv@quotient,f
  1623  0594  0DA7               	rlf	___awdiv@quotient+1,f
  1624  0595  0821               	movf	___awdiv@divisor+1,w
  1625  0596  0223               	subwf	___awdiv@dividend+1,w
  1626  0597  1D03               	skipz
  1627  0598  2D9B               	goto	u3945
  1628  0599  0820               	movf	___awdiv@divisor,w
  1629  059A  0222               	subwf	___awdiv@dividend,w
  1630  059B                     u3945:	
  1631  059B  1C03               	skipc
  1632  059C  2DA2               	goto	l5799
  1633  059D  0820               	movf	___awdiv@divisor,w
  1634  059E  02A2               	subwf	___awdiv@dividend,f
  1635  059F  0821               	movf	___awdiv@divisor+1,w
  1636  05A0  3BA3               	subwfb	___awdiv@dividend+1,f
  1637  05A1  1426               	bsf	___awdiv@quotient,0
  1638  05A2                     l5799:	
  1639  05A2  36A1               	lsrf	___awdiv@divisor+1,f
  1640  05A3  0CA0               	rrf	___awdiv@divisor,f
  1641  05A4  0BA4               	decfsz	___awdiv@counter,f
  1642  05A5  2D93               	goto	l5791
  1643  05A6                     l5803:	
  1644  05A6  0825               	movf	___awdiv@sign,w
  1645  05A7  1903               	btfsc	3,2
  1646  05A8  2DAE               	goto	l5807
  1647  05A9  09A6               	comf	___awdiv@quotient,f
  1648  05AA  09A7               	comf	___awdiv@quotient+1,f
  1649  05AB  0AA6               	incf	___awdiv@quotient,f
  1650  05AC  1903               	skipnz
  1651  05AD  0AA7               	incf	___awdiv@quotient+1,f
  1652  05AE                     l5807:	
  1653  05AE  0827               	movf	___awdiv@quotient+1,w
  1654  05AF  00A1               	movwf	?___awdiv+1
  1655  05B0  0826               	movf	___awdiv@quotient,w
  1656  05B1  00A0               	movwf	?___awdiv
  1657  05B2  0008               	return
  1658  05B3                     __end_of___awdiv:	
  1659  05B3                     __ptext1640:	
  1660 ;; =============== function _delay_ms ends ============
  1661                           
  1662                           
  1663 ;; *************** function _log *****************
  1664 ;; Defined at:
  1665 ;;		line 60 in file "Z:\pic\irRX\main.c"
  1666 ;; Parameters:    Size  Location     Type
  1667 ;;  a               1    wreg     unsigned char 
  1668 ;; Auto vars:     Size  Location     Type
  1669 ;;  a               1    3[BANK0 ] unsigned char 
  1670 ;; Return value:  Size  Location     Type
  1671 ;;		None               void
  1672 ;; Registers used:
  1673 ;;		wreg, status,2, status,0, pclath, cstack
  1674 ;; Tracked objects:
  1675 ;;		On entry : 1F/0
  1676 ;;		On exit  : 1F/1
  1677 ;;		Unchanged: FFE00/0
  1678 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1679 ;;      Params:         0       0       0       0
  1680 ;;      Locals:         0       1       0       0
  1681 ;;      Temps:          0       0       0       0
  1682 ;;      Totals:         0       1       0       0
  1683 ;;Total ram usage:        1 bytes
  1684 ;; Hardware stack levels used:    1
  1685 ;; Hardware stack levels required when called:    2
  1686 ;; This function calls:
  1687 ;;		_eeWrite
  1688 ;; This function is called by:
  1689 ;;		_rand
  1690 ;; This function uses a non-reentrant model
  1691 ;;
  1692  05B3                     _log:	
  1693                           
  1694                           ; Regs used in _log: [wreg+status,2+status,0+pclath+cstack]
  1695                           ;log@a stored from wreg
  1696  05B3  00A3               	movwf	log@a
  1697                           
  1698                           ;main.c: 62: static UInt16 addr = 0;
  1699                           ;main.c: 64: if(addr < 0x70) eeWrite(addr++, a);
  1700  05B4  3000               	movlw	0
  1701  05B5  0021               	movlb	1	; select bank1
  1702  05B6  022F               	subwf	(log@addr+1)^(0+128),w
  1703  05B7  3070               	movlw	112
  1704  05B8  1903               	skipnz
  1705  05B9  022E               	subwf	log@addr^(0+128),w
  1706  05BA  1803               	skipnc
  1707  05BB  0008               	return
  1708  05BC  0020               	movlb	0	; select bank0
  1709  05BD  0823               	movf	log@a,w
  1710  05BE  00A0               	movwf	?_eeWrite
  1711  05BF  0021               	movlb	1	; select bank1
  1712  05C0  082E               	movf	log@addr^(0+128),w
  1713  05C1  3189  2197         	fcall	_eeWrite
  1714  05C3  0021               	movlb	1	; select bank1
  1715  05C4  0AAE               	incf	log@addr^(0+128),f
  1716  05C5  1903               	skipnz
  1717  05C6  0AAF               	incf	(log@addr+1)^(0+128),f
  1718  05C7  0008               	return
  1719  05C8                     __end_of_log:	
  1720                           
  1721                           	psect	text1613
  1722  06E3                     __ptext1613:	
  1723 ;; =============== function _mSolidDown ends ============
  1724                           
  1725                           
  1726 ;; *************** function _mSolidUp *****************
  1727 ;; Defined at:
  1728 ;;		line 405 in file "Z:\pic\irRX\main.c"
  1729 ;; Parameters:    Size  Location     Type
  1730 ;;  arg             1   74[BANK0 ] unsigned char 
  1731 ;; Auto vars:     Size  Location     Type
  1732 ;;  t               2    0[BANK1 ] unsigned short 
  1733 ;; Return value:  Size  Location     Type
  1734 ;;                  1    wreg      unsigned char 
  1735 ;; Registers used:
  1736 ;;		wreg, fsr1l, fsr1h, status,2, status,0
  1737 ;; Tracked objects:
  1738 ;;		On entry : 1F/1
  1739 ;;		On exit  : 1F/1
  1740 ;;		Unchanged: FFFE0/0
  1741 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1742 ;;      Params:         0       1       0       0
  1743 ;;      Locals:         0       0       2       0
  1744 ;;      Temps:          0       4       0       0
  1745 ;;      Totals:         0       5       2       0
  1746 ;;Total ram usage:        7 bytes
  1747 ;; Hardware stack levels used:    1
  1748 ;; Hardware stack levels required when called:    1
  1749 ;; This function calls:
  1750 ;;		Nothing
  1751 ;; This function is called by:
  1752 ;;		_runFuncPtr
  1753 ;; This function uses a non-reentrant model
  1754 ;;
  1755  06E3                     _mSolidUp:	
  1756                           
  1757                           ;main.c: 407: UInt16 t = gLed[tempData.solid.selector];
  1758                           
  1759                           ; Regs used in _mSolidUp: [wreg+fsr1l-status,0]
  1760  06E3  0820               	movf	_tempData^(0+128),w
  1761  06E4  3E75               	addlw	_gLed& (0+255)
  1762  06E5  0086               	movwf	6
  1763  06E6  0187               	clrf	7
  1764  06E7  0801               	movf	1,w
  1765  06E8  00D2               	movwf	mSolidUp@t^(0+128)
  1766  06E9  01D3               	clrf	(mSolidUp@t+1)^(0+128)
  1767                           
  1768                           ;main.c: 409: t += 1 + (t + 3) / 4;
  1769  06EA  3E03               	addlw	3
  1770  06EB  0020               	movlb	0	; select bank0
  1771  06EC  00EB               	movwf	??_mSolidUp
  1772  06ED  3000               	movlw	0
  1773  06EE  0021               	movlb	1	; select bank1
  1774  06EF  3D53               	addwfc	(mSolidUp@t+1)^(0+128),w
  1775  06F0  0020               	movlb	0	; select bank0
  1776  06F1  00EC               	movwf	??_mSolidUp+1
  1777  06F2  36EC               	lsrf	??_mSolidUp+1,f
  1778  06F3  0CEB               	rrf	??_mSolidUp,f
  1779  06F4  36EC               	lsrf	??_mSolidUp+1,f
  1780  06F5  0CEB               	rrf	??_mSolidUp,f
  1781  06F6  086B               	movf	??_mSolidUp,w
  1782  06F7  3E01               	addlw	1
  1783  06F8  00ED               	movwf	??_mSolidUp+2
  1784  06F9  3000               	movlw	0
  1785  06FA  3D6C               	addwfc	??_mSolidUp+1,w
  1786  06FB  00EE               	movwf	??_mSolidUp+3
  1787  06FC  086D               	movf	??_mSolidUp+2,w
  1788  06FD  0021               	movlb	1	; select bank1
  1789  06FE  07D2               	addwf	mSolidUp@t^(0+128),f
  1790  06FF  0020               	movlb	0	; select bank0
  1791  0700  086E               	movf	??_mSolidUp+3,w
  1792  0701  0021               	movlb	1	; select bank1
  1793  0702  3DD3               	addwfc	(mSolidUp@t+1)^(0+128),f
  1794                           
  1795                           ;main.c: 410: if(t > 255) t = 255;
  1796  0703  3001               	movlw	1
  1797  0704  0253               	subwf	(mSolidUp@t+1)^(0+128),w
  1798  0705  3000               	movlw	0
  1799  0706  1903               	skipnz
  1800  0707  0252               	subwf	mSolidUp@t^(0+128),w
  1801  0708  1C03               	skipc
  1802  0709  2F0D               	goto	l5609
  1803  070A  30FF               	movlw	255
  1804  070B  00D2               	movwf	mSolidUp@t^(0+128)
  1805  070C  01D3               	clrf	(mSolidUp@t+1)^(0+128)
  1806  070D                     l5609:	
  1807                           
  1808                           ;main.c: 411: gLed[tempData.solid.selector] = t;
  1809  070D  0820               	movf	_tempData^(0+128),w
  1810  070E  3E75               	addlw	_gLed& (0+255)
  1811  070F  0086               	movwf	6
  1812  0710  0187               	clrf	7
  1813  0711  0852               	movf	mSolidUp@t^(0+128),w
  1814  0712  0081               	movwf	1
  1815                           
  1816                           ;main.c: 413: return 0;
  1817  0713  3400               	retlw	0
  1818  0714                     __end_of_mSolidUp:	
  1819                           
  1820                           	psect	text1616
  1821  0129                     __ptext1616:	
  1822 ;; =============== function _mSolidInit ends ============
  1823                           
  1824                           
  1825 ;; *************** function _mOffO *****************
  1826 ;; Defined at:
  1827 ;;		line 377 in file "Z:\pic\irRX\main.c"
  1828 ;; Parameters:    Size  Location     Type
  1829 ;;  arg             1   74[BANK0 ] unsigned char 
  1830 ;; Auto vars:     Size  Location     Type
  1831 ;;		None
  1832 ;; Return value:  Size  Location     Type
  1833 ;;                  1    wreg      unsigned char 
  1834 ;; Registers used:
  1835 ;;		wreg, status,2, status,0, pclath, cstack
  1836 ;; Tracked objects:
  1837 ;;		On entry : 1F/1
  1838 ;;		On exit  : 1E/0
  1839 ;;		Unchanged: FFFE0/0
  1840 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1841 ;;      Params:         0       1       0       0
  1842 ;;      Locals:         0       0       0       0
  1843 ;;      Temps:          0       0       0       0
  1844 ;;      Totals:         0       1       0       0
  1845 ;;Total ram usage:        1 bytes
  1846 ;; Hardware stack levels used:    1
  1847 ;; Hardware stack levels required when called:    5
  1848 ;; This function calls:
  1849 ;;		_mOffCheckConfigMode
  1850 ;; This function is called by:
  1851 ;;		_runFuncPtr
  1852 ;; This function uses a non-reentrant model
  1853 ;;
  1854  0129                     _mOffO:	
  1855                           
  1856                           ;main.c: 379: mOffCheckConfigMode(0b10);
  1857                           
  1858                           ; Regs used in _mOffO: [wreg+status,2+status,0+pclath+cstack]
  1859  0129  3002               	movlw	2
  1860  012A  2171               	fcall	_mOffCheckConfigMode
  1861                           
  1862                           ;main.c: 380: return 0;
  1863  012B  3400               	retlw	0
  1864  012C                     __end_of_mOffO:	
  1865  012C                     __ptext1617:	
  1866 ;; =============== function _mOffO ends ============
  1867                           
  1868                           
  1869 ;; *************** function _mOffDown *****************
  1870 ;; Defined at:
  1871 ;;		line 371 in file "Z:\pic\irRX\main.c"
  1872 ;; Parameters:    Size  Location     Type
  1873 ;;  arg             1   74[BANK0 ] unsigned char 
  1874 ;; Auto vars:     Size  Location     Type
  1875 ;;		None
  1876 ;; Return value:  Size  Location     Type
  1877 ;;                  1    wreg      unsigned char 
  1878 ;; Registers used:
  1879 ;;		wreg, status,2, status,0, pclath, cstack
  1880 ;; Tracked objects:
  1881 ;;		On entry : 1F/1
  1882 ;;		On exit  : 1E/0
  1883 ;;		Unchanged: FFFE0/0
  1884 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1885 ;;      Params:         0       1       0       0
  1886 ;;      Locals:         0       0       0       0
  1887 ;;      Temps:          0       0       0       0
  1888 ;;      Totals:         0       1       0       0
  1889 ;;Total ram usage:        1 bytes
  1890 ;; Hardware stack levels used:    1
  1891 ;; Hardware stack levels required when called:    5
  1892 ;; This function calls:
  1893 ;;		_mOffCheckConfigMode
  1894 ;; This function is called by:
  1895 ;;		_runFuncPtr
  1896 ;; This function uses a non-reentrant model
  1897 ;;
  1898  012C                     _mOffDown:	
  1899                           
  1900                           ;main.c: 373: mOffCheckConfigMode(0b01);
  1901                           
  1902                           ; Regs used in _mOffDown: [wreg+status,2+status,0+pclath+cstack]
  1903  012C  3001               	movlw	1
  1904  012D  2171               	fcall	_mOffCheckConfigMode
  1905                           
  1906                           ;main.c: 374: return 0;
  1907  012E  3400               	retlw	0
  1908  012F                     __end_of_mOffDown:	
  1909  012F                     __ptext1618:	
  1910 ;; =============== function _mOffDown ends ============
  1911                           
  1912                           
  1913 ;; *************** function _mOffUp *****************
  1914 ;; Defined at:
  1915 ;;		line 365 in file "Z:\pic\irRX\main.c"
  1916 ;; Parameters:    Size  Location     Type
  1917 ;;  arg             1   74[BANK0 ] unsigned char 
  1918 ;; Auto vars:     Size  Location     Type
  1919 ;;		None
  1920 ;; Return value:  Size  Location     Type
  1921 ;;                  1    wreg      unsigned char 
  1922 ;; Registers used:
  1923 ;;		wreg, status,2, status,0, pclath, cstack
  1924 ;; Tracked objects:
  1925 ;;		On entry : 1F/1
  1926 ;;		On exit  : 1E/0
  1927 ;;		Unchanged: FFFE0/0
  1928 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1929 ;;      Params:         0       1       0       0
  1930 ;;      Locals:         0       0       0       0
  1931 ;;      Temps:          0       0       0       0
  1932 ;;      Totals:         0       1       0       0
  1933 ;;Total ram usage:        1 bytes
  1934 ;; Hardware stack levels used:    1
  1935 ;; Hardware stack levels required when called:    5
  1936 ;; This function calls:
  1937 ;;		_mOffCheckConfigMode
  1938 ;; This function is called by:
  1939 ;;		_runFuncPtr
  1940 ;; This function uses a non-reentrant model
  1941 ;;
  1942  012F                     _mOffUp:	
  1943                           
  1944                           ;main.c: 367: mOffCheckConfigMode(0b00);
  1945                           
  1946                           ; Regs used in _mOffUp: [wreg+status,2+status,0+pclath+cstack]
  1947  012F  3000               	movlw	0
  1948  0130  2171               	fcall	_mOffCheckConfigMode
  1949                           
  1950                           ;main.c: 368: return 0;
  1951  0131  3400               	retlw	0
  1952  0132                     __end_of_mOffUp:	
  1953  0132                     __ptext1607:	
  1954 ;; =============== function _mFadeO ends ============
  1955                           
  1956                           
  1957 ;; *************** function _mFadeUp *****************
  1958 ;; Defined at:
  1959 ;;		line 493 in file "Z:\pic\irRX\main.c"
  1960 ;; Parameters:    Size  Location     Type
  1961 ;;  arg             1   74[BANK0 ] unsigned char 
  1962 ;; Auto vars:     Size  Location     Type
  1963 ;;  t               2   78[BANK0 ] unsigned short 
  1964 ;; Return value:  Size  Location     Type
  1965 ;;                  1    wreg      unsigned char 
  1966 ;; Registers used:
  1967 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  1968 ;; Tracked objects:
  1969 ;;		On entry : 1F/1
  1970 ;;		On exit  : 1E/0
  1971 ;;		Unchanged: FFE00/0
  1972 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1973 ;;      Params:         0       1       0       0
  1974 ;;      Locals:         0       4       0       0
  1975 ;;      Temps:          0       1       0       0
  1976 ;;      Totals:         0       6       0       0
  1977 ;;Total ram usage:        6 bytes
  1978 ;; Hardware stack levels used:    1
  1979 ;; Hardware stack levels required when called:    6
  1980 ;; This function calls:
  1981 ;;		___wmul
  1982 ;;		_genExponents
  1983 ;; This function is called by:
  1984 ;;		_runFuncPtr
  1985 ;; This function uses a non-reentrant model
  1986 ;;
  1987  0132                     _mFadeUp:	
  1988                           
  1989                           ;main.c: 495: UInt16 t;
  1990                           ;main.c: 497: if(tempData.fade.adjBri){
  1991                           
  1992                           ; Regs used in _mFadeUp: [allreg]
  1993  0132  1FA4               	btfss	(_tempData^(0+128)+4),7
  1994  0133  295A               	goto	l6705
  1995                           
  1996                           ;main.c: 499: t = (((UInt16)tempData.fade.bri)*5)/4;
  1997  0134  0825               	movf	(_tempData^(0+128)+5),w
  1998  0135  0020               	movlb	0	; select bank0
  1999  0136  00A0               	movwf	?___wmul
  2000  0137  3005               	movlw	5
  2001  0138  01A1               	clrf	?___wmul+1
  2002  0139  00A2               	movwf	?___wmul+2
  2003  013A  01A3               	clrf	?___wmul+3
  2004  013B  23BF  3181         	fcall	___wmul
  2005  013D  0821               	movf	?___wmul+1,w
  2006  013E  00EF               	movwf	mFadeUp@t+1
  2007  013F  0820               	movf	?___wmul,w
  2008  0140  00EE               	movwf	mFadeUp@t
  2009  0141  3001               	movlw	1
  2010  0142  36EF               	lsrf	mFadeUp@t+1,f
  2011  0143  0CEE               	rrf	mFadeUp@t,f
  2012  0144  36EF               	lsrf	mFadeUp@t+1,f
  2013  0145  0CEE               	rrf	mFadeUp@t,f
  2014                           
  2015                           ;main.c: 500: tempData.fade.bri = (t > 255) ? 255 : t;
  2016  0146  026F               	subwf	mFadeUp@t+1,w
  2017  0147  3000               	movlw	0
  2018  0148  1903               	skipnz
  2019  0149  026E               	subwf	mFadeUp@t,w
  2020  014A  1803               	skipnc
  2021  014B  2951               	goto	l6701
  2022  014C  086F               	movf	mFadeUp@t+1,w
  2023  014D  00ED               	movwf	_mFadeUp$2094+1
  2024  014E  086E               	movf	mFadeUp@t,w
  2025  014F  00EC               	movwf	_mFadeUp$2094
  2026  0150  2954               	goto	l1272
  2027  0151                     l6701:	
  2028  0151  30FF               	movlw	255
  2029  0152  00EC               	movwf	_mFadeUp$2094
  2030  0153  01ED               	clrf	_mFadeUp$2094+1
  2031  0154                     l1272:	
  2032  0154  086C               	movf	_mFadeUp$2094,w
  2033  0155  0021               	movlb	1	; select bank1
  2034  0156  00A5               	movwf	(_tempData^(0+128)+5)
  2035                           
  2036                           ;main.c: 501: genExponents(tempData.fade.bri);
  2037  0157  318B  2328         	fcall	_genExponents
  2038                           
  2039                           ;main.c: 502: }
  2040  0159  3400               	retlw	0
  2041  015A                     l6705:	
  2042                           
  2043                           ;main.c: 503: else{
  2044                           ;main.c: 505: if(tempData.fade.speed > 2) tempData.fade.speed--;
  2045  015A  0824               	movf	(_tempData^(0+128)+4),w
  2046  015B  397F               	andlw	127
  2047  015C  0020               	movlb	0	; select bank0
  2048  015D  00EB               	movwf	??_mFadeUp
  2049  015E  3003               	movlw	3
  2050  015F  026B               	subwf	??_mFadeUp,w
  2051  0160  1C03               	skipc
  2052  0161  3400               	retlw	0
  2053  0162  0021               	movlb	1	; select bank1
  2054  0163  0824               	movf	(_tempData^(0+128)+4),w
  2055  0164  397F               	andlw	127
  2056  0165  0020               	movlb	0	; select bank0
  2057  0166  00EB               	movwf	??_mFadeUp
  2058  0167  03EB               	decf	??_mFadeUp,f
  2059  0168  0021               	movlb	1	; select bank1
  2060  0169  0824               	movf	(_tempData^(0+128)+4),w
  2061  016A  0020               	movlb	0	; select bank0
  2062  016B  066B               	xorwf	??_mFadeUp,w
  2063  016C  3980               	andlw	-128
  2064  016D  066B               	xorwf	??_mFadeUp,w
  2065  016E  0021               	movlb	1	; select bank1
  2066  016F  00A4               	movwf	(_tempData^(0+128)+4)
  2067                           
  2068                           ;main.c: 506: }
  2069                           ;main.c: 507: return 0;
  2070  0170  3400               	retlw	0
  2071  0171                     __end_of_mFadeUp:	
  2072  0171                     __ptext1624:	
  2073 ;; =============== function _genExponents ends ============
  2074                           
  2075                           
  2076 ;; *************** function _mOffCheckConfigMode *****************
  2077 ;; Defined at:
  2078 ;;		line 340 in file "Z:\pic\irRX\main.c"
  2079 ;; Parameters:    Size  Location     Type
  2080 ;;  btn             1    wreg     unsigned char 
  2081 ;; Auto vars:     Size  Location     Type
  2082 ;;  btn             1   31[BANK0 ] unsigned char 
  2083 ;;  t               1   32[BANK0 ] unsigned char 
  2084 ;; Return value:  Size  Location     Type
  2085 ;;		None               void
  2086 ;; Registers used:
  2087 ;;		wreg, status,2, status,0, pclath, cstack
  2088 ;; Tracked objects:
  2089 ;;		On entry : 1F/1
  2090 ;;		On exit  : 1E/0
  2091 ;;		Unchanged: FFFE0/0
  2092 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  2093 ;;      Params:         0       0       0       0
  2094 ;;      Locals:         0       2       0       0
  2095 ;;      Temps:          0       1       0       0
  2096 ;;      Totals:         0       3       0       0
  2097 ;;Total ram usage:        3 bytes
  2098 ;; Hardware stack levels used:    1
  2099 ;; Hardware stack levels required when called:    4
  2100 ;; This function calls:
  2101 ;;		_cfgModeShowVal
  2102 ;; This function is called by:
  2103 ;;		_mOffUp
  2104 ;;		_mOffDown
  2105 ;;		_mOffO
  2106 ;; This function uses a non-reentrant model
  2107 ;;
  2108  0171                     _mOffCheckConfigMode:	
  2109                           
  2110                           ; Regs used in _mOffCheckConfigMode: [wreg+status,2+status,0+pclath+cstack]
  2111                           ;mOffCheckConfigMode@btn stored from wreg
  2112  0171  0020               	movlb	0	; select bank0
  2113  0172  00BF               	movwf	mOffCheckConfigMode@btn
  2114                           
  2115                           ;main.c: 342: UInt8 t = (tempData.off.configModeStatus & 3) ^ btn;
  2116  0173  0021               	movlb	1	; select bank1
  2117  0174  0820               	movf	_tempData^(0+128),w
  2118  0175  3903               	andlw	3
  2119  0176  0020               	movlb	0	; select bank0
  2120  0177  063F               	xorwf	mOffCheckConfigMode@btn,w
  2121  0178  00C0               	movwf	mOffCheckConfigMode@t
  2122                           
  2123                           ;main.c: 344: tempData.off.configModeStatus >>= 2;
  2124  0179  0021               	movlb	1	; select bank1
  2125  017A  36A1               	lsrf	(_tempData+1)^(0+128),f
  2126  017B  0CA0               	rrf	_tempData^(0+128),f
  2127  017C  36A1               	lsrf	(_tempData+1)^(0+128),f
  2128  017D  0CA0               	rrf	_tempData^(0+128),f
  2129                           
  2130                           ;main.c: 345: if(!t && (tempData.off.configModeStatus & 3) == 0b11){
  2131  017E  0020               	movlb	0	; select bank0
  2132  017F  08C0               	movf	mOffCheckConfigMode@t,f
  2133  0180  1D03               	skipz
  2134  0181  29AC               	goto	l6549
  2135  0182  3003               	movlw	3
  2136  0183  0021               	movlb	1	; select bank1
  2137  0184  0520               	andwf	_tempData^(0+128),w
  2138  0185  0020               	movlb	0	; select bank0
  2139  0186  00BE               	movwf	??_mOffCheckConfigMode
  2140  0187  3A03               	xorlw	3
  2141  0188  1D03               	skipz
  2142  0189  29AC               	goto	l6549
  2143  018A  3004               	movlw	4
  2144                           
  2145                           ;main.c: 348: {
  2146                           ;main.c: 349: gLed[0] = 0;
  2147  018B  01F5               	clrf	_gLed
  2148                           
  2149                           ;main.c: 350: gLed[1] = 0;
  2150  018C  01F6               	clrf	_gLed+1
  2151                           
  2152                           ;main.c: 351: gLed[2] = 0;
  2153  018D  01F7               	clrf	_gLed+2
  2154                           
  2155                           ;main.c: 352: gLed[3] = 0;
  2156  018E  01F8               	clrf	_gLed+3
  2157                           
  2158                           ;main.c: 353: cfgModeShowVal(0b010, gSwVersion);
  2159  018F  00AE               	movwf	?_cfgModeShowVal
  2160  0190  3002               	movlw	2
  2161  0191  01AF               	clrf	?_cfgModeShowVal+1
  2162  0192  01B0               	clrf	?_cfgModeShowVal+2
  2163  0193  01B1               	clrf	?_cfgModeShowVal+3
  2164  0194  21E9  3181         	fcall	_cfgModeShowVal
  2165                           
  2166                           ;main.c: 354: cfgModeShowVal(0b001, gBattCentiVolts);
  2167  0196  0021               	movlb	1	; select bank1
  2168  0197  0828               	movf	_gBattCentiVolts^(0+128),w
  2169  0198  0020               	movlb	0	; select bank0
  2170  0199  00AE               	movwf	?_cfgModeShowVal
  2171  019A  0021               	movlb	1	; select bank1
  2172  019B  0829               	movf	(_gBattCentiVolts+1)^(0+128),w
  2173  019C  0020               	movlb	0	; select bank0
  2174  019D  00AF               	movwf	?_cfgModeShowVal+1
  2175  019E  3001               	movlw	1
  2176  019F  01B0               	clrf	?_cfgModeShowVal+2
  2177  01A0  01B1               	clrf	?_cfgModeShowVal+3
  2178  01A1  21E9               	fcall	_cfgModeShowVal
  2179                           
  2180                           ;main.c: 355: gLed[0] = 0;
  2181  01A2  01F5               	clrf	_gLed
  2182                           
  2183                           ;main.c: 356: gLed[1] = 0;
  2184  01A3  01F6               	clrf	_gLed+1
  2185                           
  2186                           ;main.c: 357: gLed[2] = 0;
  2187  01A4  01F7               	clrf	_gLed+2
  2188                           
  2189                           ;main.c: 358: gLed[3] = 0;
  2190  01A5  01F8               	clrf	_gLed+3
  2191  01A6                     l6547:	
  2192                           
  2193                           ;main.c: 359: }
  2194                           ;main.c: 360: tempData.off.configModeStatus = gConfigSteps;
  2195  01A6  3044               	movlw	68
  2196  01A7  0021               	movlb	1	; select bank1
  2197  01A8  00A0               	movwf	_tempData^(0+128)
  2198  01A9  303A               	movlw	58
  2199  01AA  00A1               	movwf	(_tempData^(0+128)+1)
  2200                           
  2201                           ;main.c: 361: }
  2202  01AB  0008               	return
  2203  01AC                     l6549:	
  2204                           
  2205                           ;main.c: 362: else if(t) tempData.off.configModeStatus = gConfigSteps;
  2206  01AC  0840               	movf	mOffCheckConfigMode@t,w
  2207  01AD  1903               	btfsc	3,2
  2208  01AE  0008               	return
  2209  01AF  29A6               	goto	l6547
  2210  01B0                     __end_of_mOffCheckConfigMode:	
  2211  01B0                     __ptext1611:	
  2212 ;; =============== function _mSolidDataInit ends ============
  2213                           
  2214                           
  2215 ;; *************** function _mSolidO *****************
  2216 ;; Defined at:
  2217 ;;		line 427 in file "Z:\pic\irRX\main.c"
  2218 ;; Parameters:    Size  Location     Type
  2219 ;;  arg             1   74[BANK0 ] unsigned char 
  2220 ;; Auto vars:     Size  Location     Type
  2221 ;;  s3              1   78[BANK0 ] unsigned char 
  2222 ;;  s2              1   77[BANK0 ] unsigned char 
  2223 ;;  s1              1   76[BANK0 ] unsigned char 
  2224 ;;  s0              1   75[BANK0 ] unsigned char 
  2225 ;; Return value:  Size  Location     Type
  2226 ;;                  1    wreg      unsigned char 
  2227 ;; Registers used:
  2228 ;;		wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  2229 ;; Tracked objects:
  2230 ;;		On entry : 1F/1
  2231 ;;		On exit  : 1F/0
  2232 ;;		Unchanged: FFFE0/0
  2233 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  2234 ;;      Params:         0       1       0       0
  2235 ;;      Locals:         0       4       0       0
  2236 ;;      Temps:          0       0       0       0
  2237 ;;      Totals:         0       5       0       0
  2238 ;;Total ram usage:        5 bytes
  2239 ;; Hardware stack levels used:    1
  2240 ;; Hardware stack levels required when called:    3
  2241 ;; This function calls:
  2242 ;;		_delay_ms
  2243 ;; This function is called by:
  2244 ;;		_runFuncPtr
  2245 ;; This function uses a non-reentrant model
  2246 ;;
  2247  01B0                     _mSolidO:	
  2248                           
  2249                           ;main.c: 429: UInt8 s0, s1, s2, s3;
  2250                           ;main.c: 431: if(++tempData.solid.selector == 4) tempData.solid.selector = 0;
  2251                           
  2252                           ; Regs used in _mSolidO: [wreg+fsr1l-status,0+pclath+cstack]
  2253  01B0  0AA0               	incf	_tempData^(0+128),f
  2254  01B1  0820               	movf	_tempData^(0+128),w
  2255  01B2  3A04               	xorlw	4
  2256  01B3  1903               	btfsc	3,2
  2257  01B4  01A0               	clrf	_tempData^(0+128)
  2258                           
  2259                           ;main.c: 432: s0 = gLed[0];
  2260  01B5  0875               	movf	_gLed,w
  2261  01B6  0020               	movlb	0	; select bank0
  2262  01B7  00EB               	movwf	mSolidO@s0
  2263                           
  2264                           ;main.c: 433: s1 = gLed[1];
  2265  01B8  0876               	movf	_gLed+1,w
  2266  01B9  00EC               	movwf	mSolidO@s1
  2267                           
  2268                           ;main.c: 434: s2 = gLed[2];
  2269  01BA  0877               	movf	_gLed+2,w
  2270  01BB  00ED               	movwf	mSolidO@s2
  2271                           
  2272                           ;main.c: 435: s3 = gLed[3];
  2273  01BC  0878               	movf	_gLed+3,w
  2274  01BD  00EE               	movwf	mSolidO@s3
  2275  01BE  3064               	movlw	100
  2276                           
  2277                           ;main.c: 436: gLed[0] = 0;
  2278  01BF  01F5               	clrf	_gLed
  2279                           
  2280                           ;main.c: 437: gLed[1] = 0;
  2281  01C0  01F6               	clrf	_gLed+1
  2282                           
  2283                           ;main.c: 438: gLed[2] = 0;
  2284  01C1  01F7               	clrf	_gLed+2
  2285                           
  2286                           ;main.c: 439: gLed[3] = 0;
  2287  01C2  01F8               	clrf	_gLed+3
  2288                           
  2289                           ;main.c: 440: delay_ms(100);
  2290  01C3  00A6               	movwf	?_delay_ms
  2291  01C4  01A7               	clrf	?_delay_ms+1
  2292  01C5  2348  3181         	fcall	_delay_ms
  2293                           
  2294                           ;main.c: 441: gLed[tempData.solid.selector] = 100;
  2295  01C7  0021               	movlb	1	; select bank1
  2296  01C8  0820               	movf	_tempData^(0+128),w
  2297  01C9  3E75               	addlw	_gLed& (0+255)
  2298  01CA  0086               	movwf	6
  2299  01CB  3064               	movlw	100
  2300  01CC  0187               	clrf	7
  2301  01CD  0081               	movwf	1
  2302                           
  2303                           ;main.c: 442: delay_ms(500);
  2304  01CE  30F4               	movlw	244
  2305  01CF  0020               	movlb	0	; select bank0
  2306  01D0  00A6               	movwf	?_delay_ms
  2307  01D1  3001               	movlw	1
  2308  01D2  00A7               	movwf	?_delay_ms+1
  2309  01D3  2348  3181         	fcall	_delay_ms
  2310                           
  2311                           ;main.c: 443: gLed[tempData.solid.selector] = 0;
  2312  01D5  0021               	movlb	1	; select bank1
  2313  01D6  0820               	movf	_tempData^(0+128),w
  2314  01D7  3E75               	addlw	_gLed& (0+255)
  2315  01D8  0086               	movwf	6
  2316  01D9  3064               	movlw	100
  2317  01DA  0187               	clrf	7
  2318  01DB  0181               	clrf	1
  2319                           
  2320                           ;main.c: 444: delay_ms(100);
  2321  01DC  0020               	movlb	0	; select bank0
  2322  01DD  00A6               	movwf	?_delay_ms
  2323  01DE  01A7               	clrf	?_delay_ms+1
  2324  01DF  2348               	fcall	_delay_ms
  2325                           
  2326                           ;main.c: 445: gLed[0] = s0;
  2327  01E0  086B               	movf	mSolidO@s0,w
  2328  01E1  00F5               	movwf	_gLed
  2329                           
  2330                           ;main.c: 446: gLed[1] = s1;
  2331  01E2  086C               	movf	mSolidO@s1,w
  2332  01E3  00F6               	movwf	_gLed+1
  2333                           
  2334                           ;main.c: 447: gLed[2] = s2;
  2335  01E4  086D               	movf	mSolidO@s2,w
  2336  01E5  00F7               	movwf	_gLed+2
  2337                           
  2338                           ;main.c: 448: gLed[3] = s3;
  2339  01E6  086E               	movf	mSolidO@s3,w
  2340  01E7  00F8               	movwf	_gLed+3
  2341                           
  2342                           ;main.c: 450: return 0;
  2343  01E8  3400               	retlw	0
  2344  01E9                     __end_of_mSolidO:	
  2345  01E9                     __ptext1629:	
  2346 ;; =============== function _floor ends ============
  2347                           
  2348                           
  2349 ;; *************** function _cfgModeShowVal *****************
  2350 ;; Defined at:
  2351 ;;		line 287 in file "Z:\pic\irRX\main.c"
  2352 ;; Parameters:    Size  Location     Type
  2353 ;;  colorMarker     1    wreg     unsigned char 
  2354 ;;  v               4   14[BANK0 ] unsigned long 
  2355 ;; Auto vars:     Size  Location     Type
  2356 ;;  colorMarker     1   24[BANK0 ] unsigned char 
  2357 ;;  t               4   26[BANK0 ] unsigned long 
  2358 ;;  digit           1   25[BANK0 ] unsigned char 
  2359 ;; Return value:  Size  Location     Type
  2360 ;;		None               void
  2361 ;; Registers used:
  2362 ;;		wreg, status,2, status,0, pclath, cstack
  2363 ;; Tracked objects:
  2364 ;;		On entry : 1F/0
  2365 ;;		On exit  : 1F/0
  2366 ;;		Unchanged: FFFE0/0
  2367 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  2368 ;;      Params:         0       4       0       0
  2369 ;;      Locals:         0      12       0       0
  2370 ;;      Temps:          0       0       0       0
  2371 ;;      Totals:         0      16       0       0
  2372 ;;Total ram usage:       16 bytes
  2373 ;; Hardware stack levels used:    1
  2374 ;; Hardware stack levels required when called:    3
  2375 ;; This function calls:
  2376 ;;		_delay_ms
  2377 ;;		___lldiv
  2378 ;;		___lmul
  2379 ;;		___llmod
  2380 ;; This function is called by:
  2381 ;;		_mOffCheckConfigMode
  2382 ;; This function uses a non-reentrant model
  2383 ;;
  2384  01E9                     _cfgModeShowVal:	
  2385                           
  2386                           ; Regs used in _cfgModeShowVal: [wreg+status,2+status,0+pclath+cstack]
  2387                           ;cfgModeShowVal@colorMarker stored from wreg
  2388  01E9  00B8               	movwf	cfgModeShowVal@colorMarker
  2389                           
  2390                           ;main.c: 290: {
  2391                           ;main.c: 291: gLed[0] = 0;
  2392  01EA  01F5               	clrf	_gLed
  2393                           
  2394                           ;main.c: 292: gLed[1] = (colorMarker & 4) ? 100 : 0;
  2395  01EB  1938               	btfsc	cfgModeShowVal@colorMarker,2
  2396  01EC  29EF               	goto	l6271
  2397  01ED  01B2               	clrf	_cfgModeShowVal$2045
  2398  01EE  29F1               	goto	L5
  2399  01EF                     l6271:	
  2400  01EF  3064               	movlw	100
  2401  01F0  00B2               	movwf	_cfgModeShowVal$2045
  2402  01F1                     L5:	
  2403  01F1  01B3               	clrf	_cfgModeShowVal$2045+1
  2404  01F2  0832               	movf	_cfgModeShowVal$2045,w
  2405  01F3  00F6               	movwf	_gLed+1
  2406                           
  2407                           ;main.c: 293: gLed[2] = (colorMarker & 2) ? 100 : 0;
  2408  01F4  18B8               	btfsc	cfgModeShowVal@colorMarker,1
  2409  01F5  29F8               	goto	l6277
  2410  01F6  01B4               	clrf	_cfgModeShowVal$2046
  2411  01F7  29FA               	goto	L6
  2412  01F8                     l6277:	
  2413  01F8  3064               	movlw	100
  2414  01F9  00B4               	movwf	_cfgModeShowVal$2046
  2415  01FA                     L6:	
  2416  01FA  01B5               	clrf	_cfgModeShowVal$2046+1
  2417  01FB  0834               	movf	_cfgModeShowVal$2046,w
  2418  01FC  00F7               	movwf	_gLed+2
  2419                           
  2420                           ;main.c: 294: gLed[3] = (colorMarker & 1) ? 100 : 0;
  2421  01FD  1838               	btfsc	cfgModeShowVal@colorMarker,0
  2422  01FE  2A01               	goto	l6283
  2423  01FF  01B6               	clrf	_cfgModeShowVal$2047
  2424  0200  2A03               	goto	L7
  2425  0201                     l6283:	
  2426  0201  3064               	movlw	100
  2427  0202  00B6               	movwf	_cfgModeShowVal$2047
  2428  0203                     L7:	
  2429  0203  01B7               	clrf	_cfgModeShowVal$2047+1
  2430  0204  0836               	movf	_cfgModeShowVal$2047,w
  2431  0205  00F8               	movwf	_gLed+3
  2432                           
  2433                           ;main.c: 295: delay_ms(1000);
  2434  0206  30E8               	movlw	232
  2435  0207  00A6               	movwf	?_delay_ms
  2436  0208  3003               	movlw	3
  2437  0209  00A7               	movwf	?_delay_ms+1
  2438  020A  2348  3181         	fcall	_delay_ms
  2439                           
  2440                           ;main.c: 296: gLed[1] = 0;
  2441  020C  01F6               	clrf	_gLed+1
  2442                           
  2443                           ;main.c: 297: gLed[2] = 0;
  2444  020D  01F7               	clrf	_gLed+2
  2445                           
  2446                           ;main.c: 298: gLed[3] = 0;
  2447  020E  01F8               	clrf	_gLed+3
  2448                           
  2449                           ;main.c: 299: }
  2450                           ;main.c: 302: {
  2451                           ;main.c: 303: UInt32 t = v;
  2452  020F  0831               	movf	cfgModeShowVal@v+3,w
  2453  0210  00BD               	movwf	cfgModeShowVal@t+3
  2454  0211  0830               	movf	cfgModeShowVal@v+2,w
  2455  0212  00BC               	movwf	cfgModeShowVal@t+2
  2456  0213  082F               	movf	cfgModeShowVal@v+1,w
  2457  0214  00BB               	movwf	cfgModeShowVal@t+1
  2458  0215  082E               	movf	cfgModeShowVal@v,w
  2459  0216  00BA               	movwf	cfgModeShowVal@t
  2460                           
  2461                           ;main.c: 304: UInt8 digit = 0;
  2462  0217  01B9               	clrf	cfgModeShowVal@digit
  2463  0218                     l6301:	
  2464                           ;main.c: 307: while(t){
  2465                           
  2466  0218  083D               	movf	cfgModeShowVal@t+3,w
  2467  0219  043C               	iorwf	cfgModeShowVal@t+2,w
  2468  021A  043B               	iorwf	cfgModeShowVal@t+1,w
  2469  021B  043A               	iorwf	cfgModeShowVal@t,w
  2470  021C  1903               	btfsc	3,2
  2471  021D  2A37               	goto	l6303
  2472  021E  300A               	movlw	10
  2473                           
  2474                           ;main.c: 308: digit++;
  2475  021F  0AB9               	incf	cfgModeShowVal@digit,f
  2476                           
  2477                           ;main.c: 309: t /= 10;
  2478  0220  00A0               	movwf	?___lldiv
  2479  0221  01A1               	clrf	?___lldiv+1
  2480  0222  01A2               	clrf	?___lldiv+2
  2481  0223  01A3               	clrf	?___lldiv+3
  2482  0224  083D               	movf	cfgModeShowVal@t+3,w
  2483  0225  00A7               	movwf	?___lldiv+7
  2484  0226  083C               	movf	cfgModeShowVal@t+2,w
  2485  0227  00A6               	movwf	?___lldiv+6
  2486  0228  083B               	movf	cfgModeShowVal@t+1,w
  2487  0229  00A5               	movwf	?___lldiv+5
  2488  022A  083A               	movf	cfgModeShowVal@t,w
  2489  022B  00A4               	movwf	?___lldiv+4
  2490  022C  2380  3181         	fcall	___lldiv
  2491  022E  0823               	movf	?___lldiv+3,w
  2492  022F  00BD               	movwf	cfgModeShowVal@t+3
  2493  0230  0822               	movf	?___lldiv+2,w
  2494  0231  00BC               	movwf	cfgModeShowVal@t+2
  2495  0232  0821               	movf	?___lldiv+1,w
  2496  0233  00BB               	movwf	cfgModeShowVal@t+1
  2497  0234  0820               	movf	?___lldiv,w
  2498  0235  00BA               	movwf	cfgModeShowVal@t
  2499  0236  2A18               	goto	l6301
  2500  0237                     l6303:	
  2501                           
  2502                           ;main.c: 310: }
  2503                           ;main.c: 311: if(!digit) digit = 1;
  2504  0237  08B9               	movf	cfgModeShowVal@digit,f
  2505  0238  1D03               	skipz
  2506  0239  2A3C               	goto	l6307
  2507  023A  01B9               	clrf	cfgModeShowVal@digit
  2508  023B  0AB9               	incf	cfgModeShowVal@digit,f
  2509  023C                     l6307:	
  2510                           
  2511                           ;main.c: 314: t = 1;
  2512  023C  01BA               	clrf	cfgModeShowVal@t
  2513  023D  0ABA               	incf	cfgModeShowVal@t,f
  2514  023E  01BB               	clrf	cfgModeShowVal@t+1
  2515  023F  01BC               	clrf	cfgModeShowVal@t+2
  2516  0240  01BD               	clrf	cfgModeShowVal@t+3
  2517                           
  2518                           ;main.c: 315: while(--digit) t *= 10;
  2519  0241  2A59               	goto	l6311
  2520  0242                     l6309:	
  2521  0242  300A               	movlw	10
  2522  0243  00A0               	movwf	?___lmul
  2523  0244  01A1               	clrf	?___lmul+1
  2524  0245  01A2               	clrf	?___lmul+2
  2525  0246  01A3               	clrf	?___lmul+3
  2526  0247  083D               	movf	cfgModeShowVal@t+3,w
  2527  0248  00A7               	movwf	?___lmul+7
  2528  0249  083C               	movf	cfgModeShowVal@t+2,w
  2529  024A  00A6               	movwf	?___lmul+6
  2530  024B  083B               	movf	cfgModeShowVal@t+1,w
  2531  024C  00A5               	movwf	?___lmul+5
  2532  024D  083A               	movf	cfgModeShowVal@t,w
  2533  024E  00A4               	movwf	?___lmul+4
  2534  024F  23D4  3181         	fcall	___lmul
  2535  0251  0823               	movf	?___lmul+3,w
  2536  0252  00BD               	movwf	cfgModeShowVal@t+3
  2537  0253  0822               	movf	?___lmul+2,w
  2538  0254  00BC               	movwf	cfgModeShowVal@t+2
  2539  0255  0821               	movf	?___lmul+1,w
  2540  0256  00BB               	movwf	cfgModeShowVal@t+1
  2541  0257  0820               	movf	?___lmul,w
  2542  0258  00BA               	movwf	cfgModeShowVal@t
  2543  0259                     l6311:	
  2544  0259  0BB9               	decfsz	cfgModeShowVal@digit,f
  2545  025A  2A42               	goto	l6309
  2546  025B                     l6313:	
  2547                           
  2548                           ;main.c: 319: digit = v / t;
  2549  025B  083D               	movf	cfgModeShowVal@t+3,w
  2550  025C  00A3               	movwf	?___lldiv+3
  2551  025D  083C               	movf	cfgModeShowVal@t+2,w
  2552  025E  00A2               	movwf	?___lldiv+2
  2553  025F  083B               	movf	cfgModeShowVal@t+1,w
  2554  0260  00A1               	movwf	?___lldiv+1
  2555  0261  083A               	movf	cfgModeShowVal@t,w
  2556  0262  00A0               	movwf	?___lldiv
  2557  0263  0831               	movf	cfgModeShowVal@v+3,w
  2558  0264  00A7               	movwf	?___lldiv+7
  2559  0265  0830               	movf	cfgModeShowVal@v+2,w
  2560  0266  00A6               	movwf	?___lldiv+6
  2561  0267  082F               	movf	cfgModeShowVal@v+1,w
  2562  0268  00A5               	movwf	?___lldiv+5
  2563  0269  082E               	movf	cfgModeShowVal@v,w
  2564  026A  00A4               	movwf	?___lldiv+4
  2565  026B  2380  3181         	fcall	___lldiv
  2566  026D  0820               	movf	?___lldiv,w
  2567  026E  00B9               	movwf	cfgModeShowVal@digit
  2568                           
  2569                           ;main.c: 320: v %= t;
  2570  026F  083D               	movf	cfgModeShowVal@t+3,w
  2571  0270  00A3               	movwf	?___llmod+3
  2572  0271  083C               	movf	cfgModeShowVal@t+2,w
  2573  0272  00A2               	movwf	?___llmod+2
  2574  0273  083B               	movf	cfgModeShowVal@t+1,w
  2575  0274  00A1               	movwf	?___llmod+1
  2576  0275  083A               	movf	cfgModeShowVal@t,w
  2577  0276  00A0               	movwf	?___llmod
  2578  0277  0831               	movf	cfgModeShowVal@v+3,w
  2579  0278  00A7               	movwf	?___llmod+7
  2580  0279  0830               	movf	cfgModeShowVal@v+2,w
  2581  027A  00A6               	movwf	?___llmod+6
  2582  027B  082F               	movf	cfgModeShowVal@v+1,w
  2583  027C  00A5               	movwf	?___llmod+5
  2584  027D  082E               	movf	cfgModeShowVal@v,w
  2585  027E  00A4               	movwf	?___llmod+4
  2586  027F  23F9  3181         	fcall	___llmod
  2587  0281  0823               	movf	?___llmod+3,w
  2588  0282  00B1               	movwf	cfgModeShowVal@v+3
  2589  0283  0822               	movf	?___llmod+2,w
  2590  0284  00B0               	movwf	cfgModeShowVal@v+2
  2591  0285  0821               	movf	?___llmod+1,w
  2592  0286  00AF               	movwf	cfgModeShowVal@v+1
  2593  0287  0820               	movf	?___llmod,w
  2594  0288  00AE               	movwf	cfgModeShowVal@v
  2595                           
  2596                           ;main.c: 321: t /= 10;
  2597  0289  300A               	movlw	10
  2598  028A  00A0               	movwf	?___lldiv
  2599  028B  01A1               	clrf	?___lldiv+1
  2600  028C  01A2               	clrf	?___lldiv+2
  2601  028D  01A3               	clrf	?___lldiv+3
  2602  028E  083D               	movf	cfgModeShowVal@t+3,w
  2603  028F  00A7               	movwf	?___lldiv+7
  2604  0290  083C               	movf	cfgModeShowVal@t+2,w
  2605  0291  00A6               	movwf	?___lldiv+6
  2606  0292  083B               	movf	cfgModeShowVal@t+1,w
  2607  0293  00A5               	movwf	?___lldiv+5
  2608  0294  083A               	movf	cfgModeShowVal@t,w
  2609  0295  00A4               	movwf	?___lldiv+4
  2610  0296  2380  3181         	fcall	___lldiv
  2611  0298  0823               	movf	?___lldiv+3,w
  2612  0299  00BD               	movwf	cfgModeShowVal@t+3
  2613  029A  0822               	movf	?___lldiv+2,w
  2614  029B  00BC               	movwf	cfgModeShowVal@t+2
  2615  029C  0821               	movf	?___lldiv+1,w
  2616  029D  00BB               	movwf	cfgModeShowVal@t+1
  2617  029E  0820               	movf	?___lldiv,w
  2618  029F  00BA               	movwf	cfgModeShowVal@t
  2619  02A0                     l6323:	
  2620                           ;main.c: 323: while(digit--){
  2621                           
  2622  02A0  03B9               	decf	cfgModeShowVal@digit,f
  2623  02A1  0839               	movf	cfgModeShowVal@digit,w
  2624  02A2  3AFF               	xorlw	255
  2625                           
  2626                           ;main.c: 324: delay_ms(300);
  2627  02A3  302C               	movlw	44
  2628  02A4  00A6               	movwf	?_delay_ms
  2629  02A5  3001               	movlw	1
  2630  02A6  00A7               	movwf	?_delay_ms+1
  2631  02A7  1903               	btfsc	3,2
  2632  02A8  2AB5               	goto	L8
  2633  02A9  2348  3181         	fcall	_delay_ms
  2634                           
  2635                           ;main.c: 325: gLed[0] = 10;
  2636  02AB  300A               	movlw	10
  2637  02AC  00F5               	movwf	_gLed
  2638                           
  2639                           ;main.c: 326: delay_ms(500);
  2640  02AD  30F4               	movlw	244
  2641  02AE  00A6               	movwf	?_delay_ms
  2642  02AF  3001               	movlw	1
  2643  02B0  00A7               	movwf	?_delay_ms+1
  2644  02B1  2348  3181         	fcall	_delay_ms
  2645                           
  2646                           ;main.c: 327: gLed[0] = 0;
  2647  02B3  01F5               	clrf	_gLed
  2648  02B4  2AA0               	goto	l6323
  2649  02B5                     L8:	
  2650                           ;main.c: 328: }
  2651                           ;main.c: 330: delay_ms(300);
  2652                           
  2653  02B5  2348  3181         	fcall	_delay_ms
  2654                           
  2655                           ;main.c: 331: gLed[0] = 255;
  2656  02B7  30FF               	movlw	255
  2657  02B8  00F5               	movwf	_gLed
  2658                           
  2659                           ;main.c: 332: delay_ms(700);
  2660  02B9  30BC               	movlw	188
  2661  02BA  00A6               	movwf	?_delay_ms
  2662  02BB  3002               	movlw	2
  2663  02BC  00A7               	movwf	?_delay_ms+1
  2664  02BD  2348  3181         	fcall	_delay_ms
  2665  02BF  30F4               	movlw	244
  2666                           
  2667                           ;main.c: 333: gLed[0] = 0;
  2668  02C0  01F5               	clrf	_gLed
  2669                           
  2670                           ;main.c: 334: delay_ms(500);
  2671  02C1  00A6               	movwf	?_delay_ms
  2672  02C2  3001               	movlw	1
  2673  02C3  00A7               	movwf	?_delay_ms+1
  2674  02C4  2348  3181         	fcall	_delay_ms
  2675                           
  2676                           ;main.c: 336: }while(t);
  2677  02C6  083D               	movf	cfgModeShowVal@t+3,w
  2678  02C7  043C               	iorwf	cfgModeShowVal@t+2,w
  2679  02C8  043B               	iorwf	cfgModeShowVal@t+1,w
  2680  02C9  043A               	iorwf	cfgModeShowVal@t,w
  2681  02CA  1903               	btfsc	3,2
  2682  02CB  0008               	return
  2683  02CC  2A5B               	goto	l6313
  2684  02CD                     __end_of_cfgModeShowVal:	
  2685  02CD                     __ptext1606:	
  2686 ;; =============== function _mFadeDataInit ends ============
  2687                           
  2688                           
  2689 ;; *************** function _mFadeO *****************
  2690 ;; Defined at:
  2691 ;;		line 528 in file "Z:\pic\irRX\main.c"
  2692 ;; Parameters:    Size  Location     Type
  2693 ;;  arg             1   74[BANK0 ] unsigned char 
  2694 ;; Auto vars:     Size  Location     Type
  2695 ;;  s3              1   78[BANK0 ] unsigned char 
  2696 ;;  s2              1   77[BANK0 ] unsigned char 
  2697 ;;  s1              1   76[BANK0 ] unsigned char 
  2698 ;;  s0              1   75[BANK0 ] unsigned char 
  2699 ;; Return value:  Size  Location     Type
  2700 ;;                  1    wreg      unsigned char 
  2701 ;; Registers used:
  2702 ;;		wreg, status,2, status,0, pclath, cstack
  2703 ;; Tracked objects:
  2704 ;;		On entry : 1F/1
  2705 ;;		On exit  : 1F/0
  2706 ;;		Unchanged: FFFE0/0
  2707 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  2708 ;;      Params:         0       1       0       0
  2709 ;;      Locals:         0       4       0       0
  2710 ;;      Temps:          0       0       0       0
  2711 ;;      Totals:         0       5       0       0
  2712 ;;Total ram usage:        5 bytes
  2713 ;; Hardware stack levels used:    1
  2714 ;; Hardware stack levels required when called:    3
  2715 ;; This function calls:
  2716 ;;		_delay_ms
  2717 ;; This function is called by:
  2718 ;;		_runFuncPtr
  2719 ;; This function uses a non-reentrant model
  2720 ;;
  2721  02CD                     _mFadeO:	
  2722                           
  2723                           ;main.c: 530: UInt8 s0, s1, s2, s3;
  2724                           ;main.c: 532: s0 = gLed[0];
  2725                           
  2726                           ; Regs used in _mFadeO: [wreg+status,2+status,0+pclath+cstack]
  2727  02CD  0875               	movf	_gLed,w
  2728  02CE  0020               	movlb	0	; select bank0
  2729  02CF  00EB               	movwf	mFadeO@s0
  2730                           
  2731                           ;main.c: 533: s1 = gLed[1];
  2732  02D0  0876               	movf	_gLed+1,w
  2733  02D1  00EC               	movwf	mFadeO@s1
  2734                           
  2735                           ;main.c: 534: s2 = gLed[2];
  2736  02D2  0877               	movf	_gLed+2,w
  2737  02D3  00ED               	movwf	mFadeO@s2
  2738                           
  2739                           ;main.c: 535: s3 = gLed[3];
  2740  02D4  0878               	movf	_gLed+3,w
  2741  02D5  00EE               	movwf	mFadeO@s3
  2742                           
  2743                           ;main.c: 537: if(tempData.fade.adjBri){
  2744  02D6  0021               	movlb	1	; select bank1
  2745  02D7  1FA4               	btfss	(_tempData^(0+128)+4),7
  2746  02D8  2AFF               	goto	l6401
  2747                           
  2748                           ;main.c: 539: gLed[0] = 100;
  2749  02D9  3064               	movlw	100
  2750  02DA  00F5               	movwf	_gLed
  2751  02DB  3096               	movlw	150
  2752                           
  2753                           ;main.c: 540: gLed[1] = 0;
  2754  02DC  01F6               	clrf	_gLed+1
  2755                           
  2756                           ;main.c: 541: gLed[2] = 0;
  2757  02DD  01F7               	clrf	_gLed+2
  2758                           
  2759                           ;main.c: 542: gLed[3] = 0;
  2760  02DE  01F8               	clrf	_gLed+3
  2761                           
  2762                           ;main.c: 543: delay_ms(150);
  2763  02DF  0020               	movlb	0	; select bank0
  2764  02E0  00A6               	movwf	?_delay_ms
  2765  02E1  01A7               	clrf	?_delay_ms+1
  2766  02E2  2348  3181         	fcall	_delay_ms
  2767  02E4  3064               	movlw	100
  2768                           
  2769                           ;main.c: 544: gLed[0] = 0;
  2770  02E5  01F5               	clrf	_gLed
  2771                           
  2772                           ;main.c: 545: gLed[1] = 100;
  2773  02E6  00F6               	movwf	_gLed+1
  2774                           
  2775                           ;main.c: 546: delay_ms(150);
  2776  02E7  3096               	movlw	150
  2777  02E8  00A6               	movwf	?_delay_ms
  2778  02E9  01A7               	clrf	?_delay_ms+1
  2779  02EA  2348  3181         	fcall	_delay_ms
  2780  02EC  3064               	movlw	100
  2781                           
  2782                           ;main.c: 547: gLed[1] = 0;
  2783  02ED  01F6               	clrf	_gLed+1
  2784                           
  2785                           ;main.c: 548: gLed[2] = 100;
  2786  02EE  00F7               	movwf	_gLed+2
  2787                           
  2788                           ;main.c: 549: delay_ms(150);
  2789  02EF  3096               	movlw	150
  2790  02F0  00A6               	movwf	?_delay_ms
  2791  02F1  01A7               	clrf	?_delay_ms+1
  2792  02F2  2348  3181         	fcall	_delay_ms
  2793  02F4  3064               	movlw	100
  2794                           
  2795                           ;main.c: 550: gLed[2] = 0;
  2796  02F5  01F7               	clrf	_gLed+2
  2797                           
  2798                           ;main.c: 551: gLed[3] = 100;
  2799  02F6  00F8               	movwf	_gLed+3
  2800                           
  2801                           ;main.c: 552: delay_ms(150);
  2802  02F7  3096               	movlw	150
  2803  02F8  00A6               	movwf	?_delay_ms
  2804  02F9  01A7               	clrf	?_delay_ms+1
  2805  02FA  2348  3181         	fcall	_delay_ms
  2806                           
  2807                           ;main.c: 553: tempData.fade.adjBri = 0;
  2808  02FC  0021               	movlb	1	; select bank1
  2809  02FD  13A4               	bcf	(_tempData^(0+128)+4),7
  2810                           
  2811                           ;main.c: 554: }
  2812  02FE  2B3E               	goto	l1289
  2813  02FF                     l6401:	
  2814  02FF  3032               	movlw	50
  2815                           
  2816                           ;main.c: 555: else{
  2817                           ;main.c: 557: gLed[0] = 0;
  2818  0300  01F5               	clrf	_gLed
  2819                           
  2820                           ;main.c: 558: gLed[1] = 0;
  2821  0301  01F6               	clrf	_gLed+1
  2822                           
  2823                           ;main.c: 559: gLed[2] = 0;
  2824  0302  01F7               	clrf	_gLed+2
  2825                           
  2826                           ;main.c: 560: gLed[3] = 0;
  2827  0303  01F8               	clrf	_gLed+3
  2828                           
  2829                           ;main.c: 561: delay_ms(50);
  2830  0304  0020               	movlb	0	; select bank0
  2831  0305  00A6               	movwf	?_delay_ms
  2832  0306  01A7               	clrf	?_delay_ms+1
  2833  0307  2348  3181         	fcall	_delay_ms
  2834  0309  3064               	movlw	100
  2835                           
  2836                           ;main.c: 562: gLed[0] = 1;
  2837  030A  01F5               	clrf	_gLed
  2838  030B  0AF5               	incf	_gLed,f
  2839                           
  2840                           ;main.c: 563: delay_ms(100);
  2841  030C  00A6               	movwf	?_delay_ms
  2842  030D  01A7               	clrf	?_delay_ms+1
  2843  030E  2348  3181         	fcall	_delay_ms
  2844  0310  3032               	movlw	50
  2845                           
  2846                           ;main.c: 564: gLed[0] = 0;
  2847  0311  01F5               	clrf	_gLed
  2848                           
  2849                           ;main.c: 565: delay_ms(50);
  2850  0312  00A6               	movwf	?_delay_ms
  2851  0313  01A7               	clrf	?_delay_ms+1
  2852  0314  2348  3181         	fcall	_delay_ms
  2853                           
  2854                           ;main.c: 566: gLed[0] = 30;
  2855  0316  301E               	movlw	30
  2856  0317  00F5               	movwf	_gLed
  2857                           
  2858                           ;main.c: 567: delay_ms(100);
  2859  0318  3064               	movlw	100
  2860  0319  00A6               	movwf	?_delay_ms
  2861  031A  01A7               	clrf	?_delay_ms+1
  2862  031B  2348  3181         	fcall	_delay_ms
  2863  031D  3032               	movlw	50
  2864                           
  2865                           ;main.c: 568: gLed[0] = 0;
  2866  031E  01F5               	clrf	_gLed
  2867                           
  2868                           ;main.c: 569: delay_ms(50);
  2869  031F  00A6               	movwf	?_delay_ms
  2870  0320  01A7               	clrf	?_delay_ms+1
  2871  0321  2348  3181         	fcall	_delay_ms
  2872                           
  2873                           ;main.c: 570: gLed[0] = 80;
  2874  0323  3050               	movlw	80
  2875  0324  00F5               	movwf	_gLed
  2876                           
  2877                           ;main.c: 571: delay_ms(100);
  2878  0325  3064               	movlw	100
  2879  0326  00A6               	movwf	?_delay_ms
  2880  0327  01A7               	clrf	?_delay_ms+1
  2881  0328  2348  3181         	fcall	_delay_ms
  2882  032A  3032               	movlw	50
  2883                           
  2884                           ;main.c: 572: gLed[0] = 0;
  2885  032B  01F5               	clrf	_gLed
  2886                           
  2887                           ;main.c: 573: delay_ms(50);
  2888  032C  00A6               	movwf	?_delay_ms
  2889  032D  01A7               	clrf	?_delay_ms+1
  2890  032E  2348  3181         	fcall	_delay_ms
  2891                           
  2892                           ;main.c: 574: gLed[0] = 200;
  2893  0330  30C8               	movlw	200
  2894  0331  00F5               	movwf	_gLed
  2895                           
  2896                           ;main.c: 575: delay_ms(100);
  2897  0332  3064               	movlw	100
  2898  0333  00A6               	movwf	?_delay_ms
  2899  0334  01A7               	clrf	?_delay_ms+1
  2900  0335  2348  3181         	fcall	_delay_ms
  2901  0337  3032               	movlw	50
  2902                           
  2903                           ;main.c: 576: gLed[0] = 0;
  2904  0338  01F5               	clrf	_gLed
  2905                           
  2906                           ;main.c: 577: delay_ms(50);
  2907  0339  00A6               	movwf	?_delay_ms
  2908  033A  01A7               	clrf	?_delay_ms+1
  2909  033B  2348               	fcall	_delay_ms
  2910                           
  2911                           ;main.c: 578: tempData.fade.adjBri = 1;
  2912  033C  0021               	movlb	1	; select bank1
  2913  033D  17A4               	bsf	(_tempData^(0+128)+4),7
  2914  033E                     l1289:	
  2915                           
  2916                           ;main.c: 579: }
  2917                           ;main.c: 581: gLed[0] = s0;
  2918  033E  0020               	movlb	0	; select bank0
  2919  033F  086B               	movf	mFadeO@s0,w
  2920  0340  00F5               	movwf	_gLed
  2921                           
  2922                           ;main.c: 582: gLed[1] = s1;
  2923  0341  086C               	movf	mFadeO@s1,w
  2924  0342  00F6               	movwf	_gLed+1
  2925                           
  2926                           ;main.c: 583: gLed[2] = s2;
  2927  0343  086D               	movf	mFadeO@s2,w
  2928  0344  00F7               	movwf	_gLed+2
  2929                           
  2930                           ;main.c: 584: gLed[3] = s3;
  2931  0345  086E               	movf	mFadeO@s3,w
  2932  0346  00F8               	movwf	_gLed+3
  2933                           
  2934                           ;main.c: 586: return 0;
  2935  0347  3400               	retlw	0
  2936  0348                     __end_of_mFadeO:	
  2937  0348                     __ptext1639:	
  2938 ;; =============== function _init ends ============
  2939                           
  2940                           
  2941 ;; *************** function _delay_ms *****************
  2942 ;; Defined at:
  2943 ;;		line 228 in file "Z:\pic\irRX\main.c"
  2944 ;; Parameters:    Size  Location     Type
  2945 ;;  ms              2    6[BANK0 ] unsigned short 
  2946 ;; Auto vars:     Size  Location     Type
  2947 ;;  d               2   12[BANK0 ] unsigned short 
  2948 ;;  t               2   10[BANK0 ] unsigned short 
  2949 ;; Return value:  Size  Location     Type
  2950 ;;		None               void
  2951 ;; Registers used:
  2952 ;;		wreg, status,2, status,0, pclath, cstack
  2953 ;; Tracked objects:
  2954 ;;		On entry : 1F/0
  2955 ;;		On exit  : 1F/0
  2956 ;;		Unchanged: FFFE0/0
  2957 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  2958 ;;      Params:         0       2       0       0
  2959 ;;      Locals:         0       4       0       0
  2960 ;;      Temps:          0       2       0       0
  2961 ;;      Totals:         0       8       0       0
  2962 ;;Total ram usage:        8 bytes
  2963 ;; Hardware stack levels used:    1
  2964 ;; Hardware stack levels required when called:    2
  2965 ;; This function calls:
  2966 ;;		___wmul
  2967 ;; This function is called by:
  2968 ;;		_cfgModeShowVal
  2969 ;;		_mSolidO
  2970 ;;		_mFadeO
  2971 ;; This function uses a non-reentrant model
  2972 ;;
  2973  0348                     _delay_ms:	
  2974  0348                     l5905:	
  2975                           ;main.c: 230: UInt16 d, t;
  2976                           ;main.c: 232: while(ms){
  2977                           
  2978                           ; Regs used in _delay_ms: [wreg+status,2+status,0+pclath+cstack]
  2979                           
  2980  0348  0827               	movf	delay_ms@ms+1,w
  2981  0349  0426               	iorwf	delay_ms@ms,w
  2982  034A  1903               	btfsc	3,2
  2983  034B  0008               	return
  2984                           
  2985                           ;main.c: 234: d = (ms > 50) ? 50 : ms;
  2986  034C  3000               	movlw	0
  2987  034D  0227               	subwf	delay_ms@ms+1,w
  2988  034E  3033               	movlw	51
  2989  034F  1903               	skipnz
  2990  0350  0226               	subwf	delay_ms@ms,w
  2991  0351  1803               	skipnc
  2992  0352  2B58               	goto	l5897
  2993  0353  0827               	movf	delay_ms@ms+1,w
  2994  0354  00AD               	movwf	delay_ms@d+1
  2995  0355  0826               	movf	delay_ms@ms,w
  2996  0356  00AC               	movwf	delay_ms@d
  2997  0357  2B5B               	goto	l1174
  2998  0358                     l5897:	
  2999  0358  3032               	movlw	50
  3000  0359  00AC               	movwf	delay_ms@d
  3001  035A  01AD               	clrf	delay_ms@d+1
  3002  035B                     l1174:	
  3003                           
  3004                           ;main.c: 235: ms -= d;
  3005  035B  082C               	movf	delay_ms@d,w
  3006  035C  02A6               	subwf	delay_ms@ms,f
  3007  035D  082D               	movf	delay_ms@d+1,w
  3008  035E  3BA7               	subwfb	delay_ms@ms+1,f
  3009                           
  3010                           ;main.c: 236: d *= 1000;
  3011  035F  30E8               	movlw	232
  3012  0360  00A0               	movwf	?___wmul
  3013  0361  3003               	movlw	3
  3014  0362  00A1               	movwf	?___wmul+1
  3015  0363  082D               	movf	delay_ms@d+1,w
  3016  0364  00A3               	movwf	?___wmul+3
  3017  0365  082C               	movf	delay_ms@d,w
  3018  0366  00A2               	movwf	?___wmul+2
  3019  0367  23BF  3181         	fcall	___wmul
  3020  0369  0821               	movf	?___wmul+1,w
  3021  036A  00AD               	movwf	delay_ms@d+1
  3022  036B  0820               	movf	?___wmul,w
  3023  036C  00AC               	movwf	delay_ms@d
  3024                           
  3025                           ;main.c: 237: t = TMR1;
  3026  036D  0817               	movf	23,w	;volatile
  3027  036E  00AB               	movwf	delay_ms@t+1	;volatile
  3028  036F  0816               	movf	22,w	;volatile
  3029  0370  00AA               	movwf	delay_ms@t	;volatile
  3030  0371                     l5903:	
  3031                           ;main.c: 238: while(TMR1 - t < d);
  3032                           
  3033  0371  082A               	movf	delay_ms@t,w
  3034  0372  0216               	subwf	22,w	;volatile
  3035  0373  00A8               	movwf	??_delay_ms
  3036  0374  082B               	movf	delay_ms@t+1,w
  3037  0375  3B17               	subwfb	23,w	;volatile
  3038  0376  00A9               	movwf	??_delay_ms+1
  3039  0377  082D               	movf	delay_ms@d+1,w
  3040  0378  0229               	subwf	??_delay_ms+1,w
  3041  0379  1D03               	skipz
  3042  037A  2B7D               	goto	u4115
  3043  037B  082C               	movf	delay_ms@d,w
  3044  037C  0228               	subwf	??_delay_ms,w
  3045  037D                     u4115:	
  3046  037D  1803               	btfsc	3,0
  3047  037E  2B48               	goto	l5905
  3048  037F  2B71               	goto	l5903
  3049  0380                     __end_of_delay_ms:	
  3050  0380                     __ptext1641:	
  3051 ;; =============== function _log ends ============
  3052                           
  3053                           
  3054 ;; *************** function ___lldiv *****************
  3055 ;; Defined at:
  3056 ;;		line 5 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\lldiv.c"
  3057 ;; Parameters:    Size  Location     Type
  3058 ;;  divisor         4    0[BANK0 ] unsigned long 
  3059 ;;  dividend        4    4[BANK0 ] unsigned long 
  3060 ;; Auto vars:     Size  Location     Type
  3061 ;;  quotient        4    8[BANK0 ] unsigned long 
  3062 ;;  counter         1   12[BANK0 ] unsigned char 
  3063 ;; Return value:  Size  Location     Type
  3064 ;;                  4    0[BANK0 ] unsigned long 
  3065 ;; Registers used:
  3066 ;;		wreg, status,2, status,0
  3067 ;; Tracked objects:
  3068 ;;		On entry : 1F/0
  3069 ;;		On exit  : 1F/0
  3070 ;;		Unchanged: FFFE0/0
  3071 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3072 ;;      Params:         0       8       0       0
  3073 ;;      Locals:         0       5       0       0
  3074 ;;      Temps:          0       0       0       0
  3075 ;;      Totals:         0      13       0       0
  3076 ;;Total ram usage:       13 bytes
  3077 ;; Hardware stack levels used:    1
  3078 ;; Hardware stack levels required when called:    1
  3079 ;; This function calls:
  3080 ;;		Nothing
  3081 ;; This function is called by:
  3082 ;;		_cfgModeShowVal
  3083 ;; This function uses a non-reentrant model
  3084 ;;
  3085  0380                     ___lldiv:	
  3086                           
  3087                           ; Regs used in ___lldiv: [wreg+status,2+status,0]
  3088  0380  01A8               	clrf	___lldiv@quotient
  3089  0381  01A9               	clrf	___lldiv@quotient+1
  3090  0382  01AA               	clrf	___lldiv@quotient+2
  3091  0383  01AB               	clrf	___lldiv@quotient+3
  3092  0384  0823               	movf	___lldiv@divisor+3,w
  3093  0385  0422               	iorwf	___lldiv@divisor+2,w
  3094  0386  0421               	iorwf	___lldiv@divisor+1,w
  3095  0387  0420               	iorwf	___lldiv@divisor,w
  3096  0388  1903               	skipnz
  3097  0389  2BB6               	goto	l5881
  3098  038A  01AC               	clrf	___lldiv@counter
  3099  038B                     L11:	
  3100  038B  0AAC               	incf	___lldiv@counter,f
  3101  038C  1BA3               	btfsc	___lldiv@divisor+3,7
  3102  038D  2B93               	goto	l5869
  3103  038E  35A0               	lslf	___lldiv@divisor,f
  3104  038F  0DA1               	rlf	___lldiv@divisor+1,f
  3105  0390  0DA2               	rlf	___lldiv@divisor+2,f
  3106  0391  0DA3               	rlf	___lldiv@divisor+3,f
  3107  0392  2B8B               	goto	L11
  3108  0393                     l5869:	
  3109  0393  35A8               	lslf	___lldiv@quotient,f
  3110  0394  0DA9               	rlf	___lldiv@quotient+1,f
  3111  0395  0DAA               	rlf	___lldiv@quotient+2,f
  3112  0396  0DAB               	rlf	___lldiv@quotient+3,f
  3113  0397  0823               	movf	___lldiv@divisor+3,w
  3114  0398  0227               	subwf	___lldiv@dividend+3,w
  3115  0399  1D03               	skipz
  3116  039A  2BA5               	goto	u4075
  3117  039B  0822               	movf	___lldiv@divisor+2,w
  3118  039C  0226               	subwf	___lldiv@dividend+2,w
  3119  039D  1D03               	skipz
  3120  039E  2BA5               	goto	u4075
  3121  039F  0821               	movf	___lldiv@divisor+1,w
  3122  03A0  0225               	subwf	___lldiv@dividend+1,w
  3123  03A1  1D03               	skipz
  3124  03A2  2BA5               	goto	u4075
  3125  03A3  0820               	movf	___lldiv@divisor,w
  3126  03A4  0224               	subwf	___lldiv@dividend,w
  3127  03A5                     u4075:	
  3128  03A5  1C03               	skipc
  3129  03A6  2BB0               	goto	l5877
  3130  03A7  0820               	movf	___lldiv@divisor,w
  3131  03A8  02A4               	subwf	___lldiv@dividend,f
  3132  03A9  0821               	movf	___lldiv@divisor+1,w
  3133  03AA  3BA5               	subwfb	___lldiv@dividend+1,f
  3134  03AB  0822               	movf	___lldiv@divisor+2,w
  3135  03AC  3BA6               	subwfb	___lldiv@dividend+2,f
  3136  03AD  0823               	movf	___lldiv@divisor+3,w
  3137  03AE  3BA7               	subwfb	___lldiv@dividend+3,f
  3138  03AF  1428               	bsf	___lldiv@quotient,0
  3139  03B0                     l5877:	
  3140  03B0  36A3               	lsrf	___lldiv@divisor+3,f
  3141  03B1  0CA2               	rrf	___lldiv@divisor+2,f
  3142  03B2  0CA1               	rrf	___lldiv@divisor+1,f
  3143  03B3  0CA0               	rrf	___lldiv@divisor,f
  3144  03B4  0BAC               	decfsz	___lldiv@counter,f
  3145  03B5  2B93               	goto	l5869
  3146  03B6                     l5881:	
  3147  03B6  082B               	movf	___lldiv@quotient+3,w
  3148  03B7  00A3               	movwf	?___lldiv+3
  3149  03B8  082A               	movf	___lldiv@quotient+2,w
  3150  03B9  00A2               	movwf	?___lldiv+2
  3151  03BA  0829               	movf	___lldiv@quotient+1,w
  3152  03BB  00A1               	movwf	?___lldiv+1
  3153  03BC  0828               	movf	___lldiv@quotient,w
  3154  03BD  00A0               	movwf	?___lldiv
  3155  03BE  0008               	return
  3156  03BF                     __end_of___lldiv:	
  3157  03BF                     __ptext1650:	
  3158 ;; =============== function ___lwdiv ends ============
  3159                           
  3160                           
  3161 ;; *************** function ___wmul *****************
  3162 ;; Defined at:
  3163 ;;		line 3 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\wmul.c"
  3164 ;; Parameters:    Size  Location     Type
  3165 ;;  multiplier      2    0[BANK0 ] unsigned int 
  3166 ;;  multiplicand    2    2[BANK0 ] unsigned int 
  3167 ;; Auto vars:     Size  Location     Type
  3168 ;;  product         2    4[BANK0 ] unsigned int 
  3169 ;; Return value:  Size  Location     Type
  3170 ;;                  2    0[BANK0 ] unsigned int 
  3171 ;; Registers used:
  3172 ;;		wreg, status,2, status,0
  3173 ;; Tracked objects:
  3174 ;;		On entry : 1F/0
  3175 ;;		On exit  : 1F/0
  3176 ;;		Unchanged: FFFE0/0
  3177 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3178 ;;      Params:         0       4       0       0
  3179 ;;      Locals:         0       2       0       0
  3180 ;;      Temps:          0       0       0       0
  3181 ;;      Totals:         0       6       0       0
  3182 ;;Total ram usage:        6 bytes
  3183 ;; Hardware stack levels used:    1
  3184 ;; Hardware stack levels required when called:    1
  3185 ;; This function calls:
  3186 ;;		Nothing
  3187 ;; This function is called by:
  3188 ;;		_rand
  3189 ;;		_delay_ms
  3190 ;;		_mFadeUp
  3191 ;;		_runFuncPtr
  3192 ;; This function uses a non-reentrant model
  3193 ;;
  3194  03BF                     ___wmul:	
  3195                           
  3196                           ; Regs used in ___wmul: [wreg+status,2+status,0]
  3197  03BF  01A4               	clrf	___wmul@product
  3198  03C0  01A5               	clrf	___wmul@product+1
  3199  03C1                     l5649:	
  3200  03C1  1C20               	btfss	___wmul@multiplier,0
  3201  03C2  2BC7               	goto	l5653
  3202  03C3  0822               	movf	___wmul@multiplicand,w
  3203  03C4  07A4               	addwf	___wmul@product,f
  3204  03C5  0823               	movf	___wmul@multiplicand+1,w
  3205  03C6  3DA5               	addwfc	___wmul@product+1,f
  3206  03C7                     l5653:	
  3207  03C7  35A2               	lslf	___wmul@multiplicand,f
  3208  03C8  0DA3               	rlf	___wmul@multiplicand+1,f
  3209  03C9  36A1               	lsrf	___wmul@multiplier+1,f
  3210  03CA  0CA0               	rrf	___wmul@multiplier,f
  3211  03CB  0821               	movf	___wmul@multiplier+1,w
  3212  03CC  0420               	iorwf	___wmul@multiplier,w
  3213  03CD  1D03               	skipz
  3214  03CE  2BC1               	goto	l5649
  3215  03CF  0825               	movf	___wmul@product+1,w
  3216  03D0  00A1               	movwf	?___wmul+1
  3217  03D1  0824               	movf	___wmul@product,w
  3218  03D2  00A0               	movwf	?___wmul
  3219  03D3  0008               	return
  3220  03D4                     __end_of___wmul:	
  3221  03D4                     __ptext1647:	
  3222 ;; =============== function ___fttol ends ============
  3223                           
  3224                           
  3225 ;; *************** function ___lmul *****************
  3226 ;; Defined at:
  3227 ;;		line 3 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\lmul.c"
  3228 ;; Parameters:    Size  Location     Type
  3229 ;;  multiplier      4    0[BANK0 ] unsigned long 
  3230 ;;  multiplicand    4    4[BANK0 ] unsigned long 
  3231 ;; Auto vars:     Size  Location     Type
  3232 ;;  product         4    8[BANK0 ] unsigned long 
  3233 ;; Return value:  Size  Location     Type
  3234 ;;                  4    0[BANK0 ] unsigned long 
  3235 ;; Registers used:
  3236 ;;		wreg, status,2, status,0
  3237 ;; Tracked objects:
  3238 ;;		On entry : 1F/0
  3239 ;;		On exit  : 1F/0
  3240 ;;		Unchanged: FFFE0/0
  3241 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3242 ;;      Params:         0       8       0       0
  3243 ;;      Locals:         0       4       0       0
  3244 ;;      Temps:          0       0       0       0
  3245 ;;      Totals:         0      12       0       0
  3246 ;;Total ram usage:       12 bytes
  3247 ;; Hardware stack levels used:    1
  3248 ;; Hardware stack levels required when called:    1
  3249 ;; This function calls:
  3250 ;;		Nothing
  3251 ;; This function is called by:
  3252 ;;		_cfgModeShowVal
  3253 ;; This function uses a non-reentrant model
  3254 ;;
  3255  03D4                     ___lmul:	
  3256                           
  3257                           ; Regs used in ___lmul: [wreg+status,2+status,0]
  3258  03D4  01A8               	clrf	___lmul@product
  3259  03D5  01A9               	clrf	___lmul@product+1
  3260  03D6  01AA               	clrf	___lmul@product+2
  3261  03D7  01AB               	clrf	___lmul@product+3
  3262  03D8                     l1520:	
  3263  03D8  1C20               	btfss	___lmul@multiplier,0
  3264  03D9  2BE2               	goto	l5721
  3265  03DA  0824               	movf	___lmul@multiplicand,w
  3266  03DB  07A8               	addwf	___lmul@product,f
  3267  03DC  0825               	movf	___lmul@multiplicand+1,w
  3268  03DD  3DA9               	addwfc	___lmul@product+1,f
  3269  03DE  0826               	movf	___lmul@multiplicand+2,w
  3270  03DF  3DAA               	addwfc	___lmul@product+2,f
  3271  03E0  0827               	movf	___lmul@multiplicand+3,w
  3272  03E1  3DAB               	addwfc	___lmul@product+3,f
  3273  03E2                     l5721:	
  3274  03E2  35A4               	lslf	___lmul@multiplicand,f
  3275  03E3  0DA5               	rlf	___lmul@multiplicand+1,f
  3276  03E4  0DA6               	rlf	___lmul@multiplicand+2,f
  3277  03E5  0DA7               	rlf	___lmul@multiplicand+3,f
  3278  03E6  36A3               	lsrf	___lmul@multiplier+3,f
  3279  03E7  0CA2               	rrf	___lmul@multiplier+2,f
  3280  03E8  0CA1               	rrf	___lmul@multiplier+1,f
  3281  03E9  0CA0               	rrf	___lmul@multiplier,f
  3282  03EA  0823               	movf	___lmul@multiplier+3,w
  3283  03EB  0422               	iorwf	___lmul@multiplier+2,w
  3284  03EC  0421               	iorwf	___lmul@multiplier+1,w
  3285  03ED  0420               	iorwf	___lmul@multiplier,w
  3286  03EE  1D03               	skipz
  3287  03EF  2BD8               	goto	l1520
  3288  03F0  082B               	movf	___lmul@product+3,w
  3289  03F1  00A3               	movwf	?___lmul+3
  3290  03F2  082A               	movf	___lmul@product+2,w
  3291  03F3  00A2               	movwf	?___lmul+2
  3292  03F4  0829               	movf	___lmul@product+1,w
  3293  03F5  00A1               	movwf	?___lmul+1
  3294  03F6  0828               	movf	___lmul@product,w
  3295  03F7  00A0               	movwf	?___lmul
  3296  03F8  0008               	return
  3297  03F9                     __end_of___lmul:	
  3298  03F9                     __ptext1644:	
  3299 ;; =============== function ___ftneg ends ============
  3300                           
  3301                           
  3302 ;; *************** function ___llmod *****************
  3303 ;; Defined at:
  3304 ;;		line 5 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\llmod.c"
  3305 ;; Parameters:    Size  Location     Type
  3306 ;;  divisor         4    0[BANK0 ] unsigned long 
  3307 ;;  dividend        4    4[BANK0 ] unsigned long 
  3308 ;; Auto vars:     Size  Location     Type
  3309 ;;  counter         1    8[BANK0 ] unsigned char 
  3310 ;; Return value:  Size  Location     Type
  3311 ;;                  4    0[BANK0 ] unsigned long 
  3312 ;; Registers used:
  3313 ;;		wreg, status,2, status,0
  3314 ;; Tracked objects:
  3315 ;;		On entry : 1F/0
  3316 ;;		On exit  : 1F/0
  3317 ;;		Unchanged: FFFE0/0
  3318 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3319 ;;      Params:         0       8       0       0
  3320 ;;      Locals:         0       1       0       0
  3321 ;;      Temps:          0       0       0       0
  3322 ;;      Totals:         0       9       0       0
  3323 ;;Total ram usage:        9 bytes
  3324 ;; Hardware stack levels used:    1
  3325 ;; Hardware stack levels required when called:    1
  3326 ;; This function calls:
  3327 ;;		Nothing
  3328 ;; This function is called by:
  3329 ;;		_cfgModeShowVal
  3330 ;; This function uses a non-reentrant model
  3331 ;;
  3332  03F9                     ___llmod:	
  3333                           
  3334                           ; Regs used in ___llmod: [wreg+status,2+status,0]
  3335  03F9  0823               	movf	___llmod@divisor+3,w
  3336  03FA  0422               	iorwf	___llmod@divisor+2,w
  3337  03FB  0421               	iorwf	___llmod@divisor+1,w
  3338  03FC  0420               	iorwf	___llmod@divisor,w
  3339  03FD  1903               	skipnz
  3340  03FE  2C26               	goto	l5827
  3341  03FF  01A8               	clrf	___llmod@counter
  3342  0400                     L13:	
  3343  0400  0AA8               	incf	___llmod@counter,f
  3344  0401  1BA3               	btfsc	___llmod@divisor+3,7
  3345  0402  2C08               	goto	l5819
  3346  0403  35A0               	lslf	___llmod@divisor,f
  3347  0404  0DA1               	rlf	___llmod@divisor+1,f
  3348  0405  0DA2               	rlf	___llmod@divisor+2,f
  3349  0406  0DA3               	rlf	___llmod@divisor+3,f
  3350  0407  2C00               	goto	L13
  3351  0408                     l5819:	
  3352  0408  0823               	movf	___llmod@divisor+3,w
  3353  0409  0227               	subwf	___llmod@dividend+3,w
  3354  040A  1D03               	skipz
  3355  040B  2C16               	goto	u3995
  3356  040C  0822               	movf	___llmod@divisor+2,w
  3357  040D  0226               	subwf	___llmod@dividend+2,w
  3358  040E  1D03               	skipz
  3359  040F  2C16               	goto	u3995
  3360  0410  0821               	movf	___llmod@divisor+1,w
  3361  0411  0225               	subwf	___llmod@dividend+1,w
  3362  0412  1D03               	skipz
  3363  0413  2C16               	goto	u3995
  3364  0414  0820               	movf	___llmod@divisor,w
  3365  0415  0224               	subwf	___llmod@dividend,w
  3366  0416                     u3995:	
  3367  0416  1C03               	skipc
  3368  0417  2C20               	goto	l5823
  3369  0418  0820               	movf	___llmod@divisor,w
  3370  0419  02A4               	subwf	___llmod@dividend,f
  3371  041A  0821               	movf	___llmod@divisor+1,w
  3372  041B  3BA5               	subwfb	___llmod@dividend+1,f
  3373  041C  0822               	movf	___llmod@divisor+2,w
  3374  041D  3BA6               	subwfb	___llmod@dividend+2,f
  3375  041E  0823               	movf	___llmod@divisor+3,w
  3376  041F  3BA7               	subwfb	___llmod@dividend+3,f
  3377  0420                     l5823:	
  3378  0420  36A3               	lsrf	___llmod@divisor+3,f
  3379  0421  0CA2               	rrf	___llmod@divisor+2,f
  3380  0422  0CA1               	rrf	___llmod@divisor+1,f
  3381  0423  0CA0               	rrf	___llmod@divisor,f
  3382  0424  0BA8               	decfsz	___llmod@counter,f
  3383  0425  2C08               	goto	l5819
  3384  0426                     l5827:	
  3385  0426  0827               	movf	___llmod@dividend+3,w
  3386  0427  00A3               	movwf	?___llmod+3
  3387  0428  0826               	movf	___llmod@dividend+2,w
  3388  0429  00A2               	movwf	?___llmod+2
  3389  042A  0825               	movf	___llmod@dividend+1,w
  3390  042B  00A1               	movwf	?___llmod+1
  3391  042C  0824               	movf	___llmod@dividend,w
  3392  042D  00A0               	movwf	?___llmod
  3393  042E  0008               	return
  3394  042F                     __end_of___llmod:	
  3395                           
  3396                           	psect	text1620
  3397  0804                     __ptext1620:	
  3398 ;; =============== function _mOffDataInit ends ============
  3399                           
  3400                           
  3401 ;; *************** function _mOffDestr *****************
  3402 ;; Defined at:
  3403 ;;		line 275 in file "Z:\pic\irRX\main.c"
  3404 ;; Parameters:    Size  Location     Type
  3405 ;;  arg             1   74[BANK0 ] unsigned char 
  3406 ;; Auto vars:     Size  Location     Type
  3407 ;;		None
  3408 ;; Return value:  Size  Location     Type
  3409 ;;                  1    wreg      unsigned char 
  3410 ;; Registers used:
  3411 ;;		wreg, status,2, pclath, cstack
  3412 ;; Tracked objects:
  3413 ;;		On entry : 1F/1
  3414 ;;		On exit  : 1F/3
  3415 ;;		Unchanged: FFFE0/0
  3416 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3417 ;;      Params:         0       1       0       0
  3418 ;;      Locals:         0       0       0       0
  3419 ;;      Temps:          0       0       0       0
  3420 ;;      Totals:         0       1       0       0
  3421 ;;Total ram usage:        1 bytes
  3422 ;; Hardware stack levels used:    1
  3423 ;; Hardware stack levels required when called:    2
  3424 ;; This function calls:
  3425 ;;		_eeRead
  3426 ;; This function is called by:
  3427 ;;		_runFuncPtr
  3428 ;; This function uses a non-reentrant model
  3429 ;;
  3430  0804                     _mOffDestr:	
  3431                           
  3432                           ;main.c: 277: return eeRead(0xCF);
  3433                           
  3434                           ; Regs used in _mOffDestr: [wreg+status,2+pclath+cstack]
  3435  0804  30CF               	movlw	207
  3436  0805  2A6B               	ljmp	_eeRead
  3437  0806                     __end_of_mOffDestr:	
  3438  0806                     __ptext1619:	
  3439 ;; =============== function _mOffUp ends ============
  3440                           
  3441                           
  3442 ;; *************** function _mOffDataInit *****************
  3443 ;; Defined at:
  3444 ;;		line 280 in file "Z:\pic\irRX\main.c"
  3445 ;; Parameters:    Size  Location     Type
  3446 ;;  arg             1   74[BANK0 ] unsigned char 
  3447 ;; Auto vars:     Size  Location     Type
  3448 ;;		None
  3449 ;; Return value:  Size  Location     Type
  3450 ;;                  1    wreg      unsigned char 
  3451 ;; Registers used:
  3452 ;;		wreg, status,2, status,0, pclath, cstack
  3453 ;; Tracked objects:
  3454 ;;		On entry : 1F/1
  3455 ;;		On exit  : 1F/3
  3456 ;;		Unchanged: FFE00/0
  3457 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3458 ;;      Params:         0       1       0       0
  3459 ;;      Locals:         0       0       0       0
  3460 ;;      Temps:          0       0       0       0
  3461 ;;      Totals:         0       1       0       0
  3462 ;;Total ram usage:        1 bytes
  3463 ;; Hardware stack levels used:    1
  3464 ;; Hardware stack levels required when called:    2
  3465 ;; This function calls:
  3466 ;;		_eeWrite
  3467 ;; This function is called by:
  3468 ;;		_runFuncPtr
  3469 ;; This function uses a non-reentrant model
  3470 ;;
  3471  0806                     _mOffDataInit:	
  3472                           
  3473                           ;main.c: 282: eeWrite(0xCF, 2);
  3474                           
  3475                           ; Regs used in _mOffDataInit: [wreg+status,2+status,0+pclath+cstack]
  3476  0806  3002               	movlw	2
  3477  0807  0020               	movlb	0	; select bank0
  3478  0808  00A0               	movwf	?_eeWrite
  3479  0809  30CF               	movlw	207
  3480  080A  2197               	fcall	_eeWrite
  3481                           
  3482                           ;main.c: 284: return 0;
  3483  080B  3400               	retlw	0
  3484  080C                     __end_of_mOffDataInit:	
  3485  080C                     __ptext1605:	
  3486 ;; =============== function _mFadeRun ends ============
  3487                           
  3488                           
  3489 ;; *************** function _mFadeDataInit *****************
  3490 ;; Defined at:
  3491 ;;		line 589 in file "Z:\pic\irRX\main.c"
  3492 ;; Parameters:    Size  Location     Type
  3493 ;;  arg             1   74[BANK0 ] unsigned char 
  3494 ;; Auto vars:     Size  Location     Type
  3495 ;;		None
  3496 ;; Return value:  Size  Location     Type
  3497 ;;                  1    wreg      unsigned char 
  3498 ;; Registers used:
  3499 ;;		wreg, status,2, status,0, pclath, cstack
  3500 ;; Tracked objects:
  3501 ;;		On entry : 1F/1
  3502 ;;		On exit  : 1F/3
  3503 ;;		Unchanged: FFE00/0
  3504 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3505 ;;      Params:         0       1       0       0
  3506 ;;      Locals:         0       0       0       0
  3507 ;;      Temps:          0       0       0       0
  3508 ;;      Totals:         0       1       0       0
  3509 ;;Total ram usage:        1 bytes
  3510 ;; Hardware stack levels used:    1
  3511 ;; Hardware stack levels required when called:    2
  3512 ;; This function calls:
  3513 ;;		_eeWrite
  3514 ;; This function is called by:
  3515 ;;		_runFuncPtr
  3516 ;; This function uses a non-reentrant model
  3517 ;;
  3518  080C                     _mFadeDataInit:	
  3519                           
  3520                           ;main.c: 591: eeWrite(0xBF, 10);
  3521                           
  3522                           ; Regs used in _mFadeDataInit: [wreg+status,2+status,0+pclath+cstack]
  3523  080C  300A               	movlw	10
  3524  080D  0020               	movlb	0	; select bank0
  3525  080E  00A0               	movwf	?_eeWrite
  3526  080F  30BF               	movlw	191
  3527  0810  2197  3188         	fcall	_eeWrite
  3528                           
  3529                           ;main.c: 592: eeWrite(0xBE, 255);
  3530  0812  30FF               	movlw	255
  3531  0813  0020               	movlb	0	; select bank0
  3532  0814  00A0               	movwf	?_eeWrite
  3533  0815  30BE               	movlw	190
  3534  0816  2197               	fcall	_eeWrite
  3535                           
  3536                           ;main.c: 594: return 0;
  3537  0817  3400               	retlw	0
  3538  0818                     __end_of_mFadeDataInit:	
  3539  0818                     __ptext1608:	
  3540 ;; =============== function _mFadeUp ends ============
  3541                           
  3542                           
  3543 ;; *************** function _mFadeDestr *****************
  3544 ;; Defined at:
  3545 ;;		line 485 in file "Z:\pic\irRX\main.c"
  3546 ;; Parameters:    Size  Location     Type
  3547 ;;  arg             1   74[BANK0 ] unsigned char 
  3548 ;; Auto vars:     Size  Location     Type
  3549 ;;		None
  3550 ;; Return value:  Size  Location     Type
  3551 ;;                  1    wreg      unsigned char 
  3552 ;; Registers used:
  3553 ;;		wreg, status,2, status,0, pclath, cstack
  3554 ;; Tracked objects:
  3555 ;;		On entry : 1F/1
  3556 ;;		On exit  : 1F/3
  3557 ;;		Unchanged: FFE00/0
  3558 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3559 ;;      Params:         0       1       0       0
  3560 ;;      Locals:         0       0       0       0
  3561 ;;      Temps:          0       0       0       0
  3562 ;;      Totals:         0       1       0       0
  3563 ;;Total ram usage:        1 bytes
  3564 ;; Hardware stack levels used:    1
  3565 ;; Hardware stack levels required when called:    2
  3566 ;; This function calls:
  3567 ;;		_eeWrite
  3568 ;; This function is called by:
  3569 ;;		_runFuncPtr
  3570 ;; This function uses a non-reentrant model
  3571 ;;
  3572  0818                     _mFadeDestr:	
  3573                           
  3574                           ;main.c: 487: eeWrite(0xBF, tempData.fade.speed);
  3575                           
  3576                           ; Regs used in _mFadeDestr: [wreg+status,2+status,0+pclath+cstack]
  3577  0818  0824               	movf	(_tempData^(0+128)+4),w
  3578  0819  397F               	andlw	127
  3579  081A  0020               	movlb	0	; select bank0
  3580  081B  00A0               	movwf	?_eeWrite
  3581  081C  30BF               	movlw	191
  3582  081D  2197  3188         	fcall	_eeWrite
  3583                           
  3584                           ;main.c: 488: eeWrite(0xBE, tempData.fade.bri);
  3585  081F  0021               	movlb	1	; select bank1
  3586  0820  0825               	movf	(_tempData^(0+128)+5),w
  3587  0821  0020               	movlb	0	; select bank0
  3588  0822  00A0               	movwf	?_eeWrite
  3589  0823  30BE               	movlw	190
  3590  0824  2197               	fcall	_eeWrite
  3591                           
  3592                           ;main.c: 490: return 0;
  3593  0825  3400               	retlw	0
  3594  0826                     __end_of_mFadeDestr:	
  3595  0826                     start_initialization:	
  3596                           
  3597                           ; Clear objects allocated to BITCOMMON
  3598  0826  01F9               	clrf	(__pbitbssCOMMON/(0+8))& (0+127)
  3599                           
  3600                           ; Clear objects allocated to COMMON
  3601  0827  01F5               	clrf	__pbssCOMMON& (0+127)
  3602  0828  01F6               	clrf	(__pbssCOMMON+1)& (0+127)
  3603  0829  01F7               	clrf	(__pbssCOMMON+2)& (0+127)
  3604  082A  01F8               	clrf	(__pbssCOMMON+3)& (0+127)
  3605                           
  3606                           ; Clear objects allocated to BANK1
  3607  082B  30A0               	movlw	low __pbssBANK1
  3608  082C  0084               	movwf	4
  3609  082D  3000               	movlw	high __pbssBANK1
  3610  082E  0085               	movwf	5
  3611  082F  3032               	movlw	50
  3612  0830  3187  2727  3188   	fcall	clear_ram
  3613                           
  3614                           ; Clear objects allocated to BANK2
  3615  0833  3020               	movlw	low __pbssBANK2
  3616  0834  0084               	movwf	4
  3617  0835  3001               	movlw	high __pbssBANK2
  3618  0836  0085               	movwf	5
  3619  0837  3020               	movlw	32
  3620  0838  3187  2727  3188   	fcall	clear_ram
  3621                           
  3622                           ; Initialize objects allocated to BANK1
  3623  083B  0021               	movlb	1	; select bank1
  3624                           
  3625                           ;initializer for _gRngSeed
  3626  083C  30F6               	movlw	246
  3627  083D  00E1               	movwf	__pdataBANK1& (0+127)
  3628  083E  3087               	movlw	135
  3629  083F  00E2               	movwf	(__pdataBANK1+1)& (0+127)
  3630  0840                     end_of_initialization:	
  3631                           ;End of C runtime variable initialization code
  3632                           
  3633  0840  0020               	movlb	0
  3634  0841  2871               	ljmp	_main	;jump to C main() function
  3635  0842                     __ptext1609:	
  3636 ;; =============== function _mFadeDestr ends ============
  3637                           
  3638                           
  3639 ;; *************** function _mFadeInit *****************
  3640 ;; Defined at:
  3641 ;;		line 463 in file "Z:\pic\irRX\main.c"
  3642 ;; Parameters:    Size  Location     Type
  3643 ;;  arg             1   74[BANK0 ] unsigned char 
  3644 ;; Auto vars:     Size  Location     Type
  3645 ;;  i               1   76[BANK0 ] unsigned char 
  3646 ;; Return value:  Size  Location     Type
  3647 ;;                  1    wreg      unsigned char 
  3648 ;; Registers used:
  3649 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  3650 ;; Tracked objects:
  3651 ;;		On entry : 1F/1
  3652 ;;		On exit  : 1F/0
  3653 ;;		Unchanged: FFE00/0
  3654 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  3655 ;;      Params:         0       1       0       0
  3656 ;;      Locals:         0       1       0       0
  3657 ;;      Temps:          0       1       0       0
  3658 ;;      Totals:         0       3       0       0
  3659 ;;Total ram usage:        3 bytes
  3660 ;; Hardware stack levels used:    1
  3661 ;; Hardware stack levels required when called:    6
  3662 ;; This function calls:
  3663 ;;		_eeRead
  3664 ;;		_genExponents
  3665 ;; This function is called by:
  3666 ;;		_runFuncPtr
  3667 ;; This function uses a non-reentrant model
  3668 ;;
  3669  0842                     _mFadeInit:	
  3670  0842  30BF               	movlw	191
  3671                           
  3672                           ;main.c: 465: UInt8 i;
  3673                           ;main.c: 467: gLed[0] = 0;
  3674                           
  3675                           ; Regs used in _mFadeInit: [allreg]
  3676  0843  01F5               	clrf	_gLed
  3677                           
  3678                           ;main.c: 468: gLed[1] = 0;
  3679  0844  01F6               	clrf	_gLed+1
  3680                           
  3681                           ;main.c: 469: gLed[2] = 0;
  3682  0845  01F7               	clrf	_gLed+2
  3683                           
  3684                           ;main.c: 470: gLed[3] = 0;
  3685  0846  01F8               	clrf	_gLed+3
  3686                           
  3687                           ;main.c: 471: tempData.fade.speed = eeRead(0xBF);
  3688  0847  226B  3188         	fcall	_eeRead
  3689  0849  0020               	movlb	0	; select bank0
  3690  084A  00EB               	movwf	??_mFadeInit
  3691  084B  0021               	movlb	1	; select bank1
  3692  084C  0824               	movf	(_tempData^(0+128)+4),w
  3693  084D  0020               	movlb	0	; select bank0
  3694  084E  066B               	xorwf	??_mFadeInit,w
  3695  084F  3980               	andlw	-128
  3696  0850  066B               	xorwf	??_mFadeInit,w
  3697  0851  0021               	movlb	1	; select bank1
  3698  0852  00A4               	movwf	(_tempData^(0+128)+4)
  3699                           
  3700                           ;main.c: 472: tempData.fade.bri = eeRead(0xBE);
  3701  0853  30BE               	movlw	190
  3702  0854  226B  3188         	fcall	_eeRead
  3703  0856  0021               	movlb	1	; select bank1
  3704  0857  00A5               	movwf	(_tempData^(0+128)+5)
  3705                           
  3706                           ;main.c: 473: tempData.fade.speedLeft = 1;
  3707  0858  01A6               	clrf	(_tempData^(0+128)+6)
  3708  0859  0AA6               	incf	(_tempData^(0+128)+6),f
  3709  085A  01A7               	clrf	((_tempData+1)^(0+128)+6)
  3710                           
  3711                           ;main.c: 474: tempData.fade.adjBri = 0;
  3712  085B  13A4               	bcf	(_tempData^(0+128)+4),7
  3713                           
  3714                           ;main.c: 475: for(i = 0; i < 4; i++){
  3715  085C  0020               	movlb	0	; select bank0
  3716  085D  01EC               	clrf	mFadeInit@i
  3717  085E                     l6679:	
  3718                           
  3719                           ;main.c: 477: tempData.fade.tmp[i].val = 0;
  3720  085E  086C               	movf	mFadeInit@i,w
  3721  085F  3EA0               	addlw	_tempData& (0+255)
  3722  0860  0086               	movwf	6
  3723  0861  30E0               	movlw	-32
  3724  0862  0187               	clrf	7
  3725  0863  0581               	andwf	1,f
  3726                           
  3727                           ;main.c: 478: tempData.fade.tmp[i].changing = 0;
  3728  0864  086C               	movf	mFadeInit@i,w
  3729  0865  3EA0               	addlw	_tempData& (0+255)
  3730  0866  0086               	movwf	6
  3731  0867  3004               	movlw	4
  3732  0868  1281               	bcf	1,5
  3733  0869  0AEC               	incf	mFadeInit@i,f
  3734  086A  026C               	subwf	mFadeInit@i,w
  3735  086B  1C03               	skipc
  3736  086C  285E               	goto	l6679
  3737                           
  3738                           ;main.c: 479: }
  3739                           ;main.c: 480: genExponents(tempData.fade.bri);
  3740  086D  0021               	movlb	1	; select bank1
  3741  086E  0825               	movf	(_tempData^(0+128)+5),w
  3742  086F  2328               	fcall	_genExponents
  3743                           
  3744                           ;main.c: 482: return 0;
  3745  0870  3400               	retlw	0
  3746  0871                     __end_of_mFadeInit:	
  3747  0871                     __pmaintext:	
  3748                           ; 0 bytes @ 0x50
  3749 ;;Data sizes: Strings 0, constant 51, data 2, bss 86, persistent 0 stack 0
  3750 ;;Auto spaces:   Size  Autos    Used
  3751 ;; COMMON          14      5      10
  3752 ;; BANK0           80     80      80
  3753 ;; BANK1           80     15      67
  3754 ;; BANK2           80      0      32
  3755 ;;
  3756 ;; Pointer list with targets:
  3757 ;; ?___lbtoft	float  size(1) Largest target is 0
  3758 ;;
  3759 ;; ?___ftpack	float  size(1) Largest target is 0
  3760 ;;
  3761 ;; ?___altoft	float  size(1) Largest target is 0
  3762 ;;
  3763 ;; ?_frexp	float  size(1) Largest target is 0
  3764 ;;
  3765 ;; ?_ldexp	float  size(1) Largest target is 0
  3766 ;;
  3767 ;; ?_eval_poly	float  size(1) Largest target is 0
  3768 ;;
  3769 ;; ?___awtoft	float  size(1) Largest target is 0
  3770 ;;
  3771 ;; ?_floor	float  size(1) Largest target is 0
  3772 ;;
  3773 ;; ?___ftneg	float  size(1) Largest target is 0
  3774 ;;
  3775 ;; ?___lwdiv	unsigned int  size(1) Largest target is 0
  3776 ;;
  3777 ;; ?___awdiv	int  size(1) Largest target is 0
  3778 ;;
  3779 ;; ?___llmod	unsigned long  size(1) Largest target is 0
  3780 ;;
  3781 ;; ?___lmul	unsigned long  size(1) Largest target is 0
  3782 ;;
  3783 ;; ?___lldiv	unsigned long  size(1) Largest target is 0
  3784 ;;
  3785 ;; ?___fttol	long  size(1) Largest target is 0
  3786 ;;
  3787 ;; ?___ftadd	float  size(1) Largest target is 0
  3788 ;;
  3789 ;; ?___ftmul	float  size(1) Largest target is 0
  3790 ;;
  3791 ;; ?___ftsub	float  size(1) Largest target is 0
  3792 ;;
  3793 ;; ?___ftdiv	float  size(1) Largest target is 0
  3794 ;;
  3795 ;; ?_exp	float  size(1) Largest target is 0
  3796 ;;
  3797 ;; ?___wmul	unsigned int  size(1) Largest target is 0
  3798 ;;
  3799 ;; ?_getU16	unsigned short  size(1) Largest target is 0
  3800 ;;
  3801 ;; ?_getU32	unsigned long  size(1) Largest target is 0
  3802 ;;
  3803 ;; eval_poly@d	PTR const  size(1) Largest target is 30
  3804 ;;		 -> exp@coeff(CODE[30]), 
  3805 ;;
  3806 ;; frexp@eptr	PTR int  size(1) Largest target is 2
  3807 ;;		 -> floor@expon(BANK0[2]), 
  3808 ;;
  3809 ;; runFuncPtr@f	PTR FTN(unsigned char ,)unsigned char  size(1) Largest target is 1
  3810 ;;		 -> Absolute function(), mFadeRun(), mFadeDataInit(), mFadeO(), 
  3811 ;;		 -> mFadeDown(), mFadeUp(), mFadeDestr(), mFadeInit(), 
  3812 ;;		 -> mSolidDataInit(), mSolidO(), mSolidDown(), mSolidUp(), 
  3813 ;;		 -> mSolidDestr(), mSolidInit(), mOffO(), mOffDown(), 
  3814 ;;		 -> mOffUp(), mOffDataInit(), mOffDestr(), mOffInit(), 
  3815 ;;
  3816 ;; gModeFns	const PTR FTN(unsigned char ,)unsigned char [7][3] size(1) Largest target is 1
  3817 ;;		 -> Absolute function(), mFadeRun(), mFadeDataInit(), mFadeO(), 
  3818 ;;		 -> mFadeDown(), mFadeUp(), mFadeDestr(), mFadeInit(), 
  3819 ;;		 -> mSolidDataInit(), mSolidO(), mSolidDown(), mSolidUp(), 
  3820 ;;		 -> mSolidDestr(), mSolidInit(), mOffO(), mOffDown(), 
  3821 ;;		 -> mOffUp(), mOffDataInit(), mOffDestr(), mOffInit(), 
  3822 ;;
  3823 ;; getU8@t	PTR unsigned char  size(1) Largest target is 32
  3824 ;;		 -> gRxData(BANK1[32]), 
  3825 ;;
  3826 ;; getU16@t	PTR unsigned char  size(1) Largest target is 32
  3827 ;;		 -> gRxData(BANK1[32]), 
  3828 ;;
  3829 ;; getU32@t	PTR unsigned char  size(1) Largest target is 32
  3830 ;;		 -> gRxData(BANK1[32]), 
  3831 ;;
  3832 ;;
  3833 ;; Critical Paths under _main in COMMON
  3834 ;;
  3835 ;;   None.
  3836 ;;
  3837 ;; Critical Paths under _isr in COMMON
  3838 ;;
  3839 ;;   None.
  3840 ;;
  3841 ;; Critical Paths under _main in BANK0
  3842 ;;
  3843 ;;   _runFuncPtr->_mFadeRun
  3844 ;;   _runFuncPtr->_mFadeDown
  3845 ;;   _runFuncPtr->_mFadeUp
  3846 ;;   _mFadeDown->_genExponents
  3847 ;;   _mFadeUp->_genExponents
  3848 ;;   _mFadeInit->_genExponents
  3849 ;;   _genExponents->_exp
  3850 ;;   _mOffCheckConfigMode->_cfgModeShowVal
  3851 ;;   _exp->_eval_poly
  3852 ;;   ___ftsub->___ftadd
  3853 ;;   _eval_poly->_ldexp
  3854 ;;   _floor->___ftadd
  3855 ;;   _cfgModeShowVal->_delay_ms
  3856 ;;   _rand->___wmul
  3857 ;;   ___altoft->___fttol
  3858 ;;   ___awtoft->___ftpack
  3859 ;;   ___lbtoft->___ftpack
  3860 ;;   ___ftmul->___lbtoft
  3861 ;;   ___ftdiv->___ftpack
  3862 ;;   ___ftadd->___ftmul
  3863 ;;   _ldexp->___ftadd
  3864 ;;   _delay_ms->___wmul
  3865 ;;   _log->_eeWrite
  3866 ;;
  3867 ;; Critical Paths under _isr in BANK0
  3868 ;;
  3869 ;;   None.
  3870 ;;
  3871 ;; Critical Paths under _main in BANK1
  3872 ;;
  3873 ;;   _main->_runFuncPtr
  3874 ;;   _runFuncPtr->_mFadeRun
  3875 ;;   _runFuncPtr->_mSolidUp
  3876 ;;
  3877 ;; Critical Paths under _isr in BANK1
  3878 ;;
  3879 ;;   None.
  3880 ;;
  3881 ;; Critical Paths under _main in BANK2
  3882 ;;
  3883 ;;   None.
  3884 ;;
  3885 ;; Critical Paths under _isr in BANK2
  3886 ;;
  3887 ;;   None.
  3888 ;;
  3889 ;;Main: autosize = 0, tempsize = 2, incstack = 0, save=0
  3890 ;;
  3891 ;;
  3892 ;;Call Graph Tables:
  3893 ;;
  3894 ;; ---------------------------------------------------------------------------------
  3895 ;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
  3896 ;; ---------------------------------------------------------------------------------
  3897 ;; (0) _main                                                15    15      0   62764
  3898 ;;                                              8 BANK1      7     7      0
  3899 ;;                               _init
  3900 ;;                             _eeRead
  3901 ;;                         _runFuncPtr
  3902 ;;                            _eeWrite
  3903 ;;                            _rxStart
  3904 ;;                           _rxDecode
  3905 ;;                             _getU32
  3906 ;;                              _getU8
  3907 ;;                             _getU16
  3908 ;; ---------------------------------------------------------------------------------
  3909 ;; (1) _runFuncPtr                                           6     4      2   61031
  3910 ;;                                              2 BANK1      6     4      2
  3911 ;;                             ___bmul
  3912 ;;                   Absolute function
  3913 ;;                           _mFadeRun
  3914 ;;                      _mFadeDataInit
  3915 ;;                             _mFadeO
  3916 ;;                          _mFadeDown
  3917 ;;                            _mFadeUp
  3918 ;;                         _mFadeDestr
  3919 ;;                          _mFadeInit
  3920 ;;                     _mSolidDataInit
  3921 ;;                            _mSolidO
  3922 ;;                         _mSolidDown
  3923 ;;                           _mSolidUp
  3924 ;;                        _mSolidDestr
  3925 ;;                         _mSolidInit
  3926 ;;                              _mOffO
  3927 ;;                           _mOffDown
  3928 ;;                             _mOffUp
  3929 ;;                       _mOffDataInit
  3930 ;;                          _mOffDestr
  3931 ;;                           _mOffInit
  3932 ;; ---------------------------------------------------------------------------------
  3933 ;; (2) _mFadeDown                                            6     5      1   17429
  3934 ;;                                             74 BANK0      6     5      1
  3935 ;;                            ___lwdiv
  3936 ;;                       _genExponents
  3937 ;; ---------------------------------------------------------------------------------
  3938 ;; (2) _mFadeUp                                              6     5      1   17327
  3939 ;;                                             74 BANK0      6     5      1
  3940 ;;                             ___wmul
  3941 ;;                       _genExponents
  3942 ;; ---------------------------------------------------------------------------------
  3943 ;; (2) _mFadeInit                                            3     2      1   17247
  3944 ;;                                             74 BANK0      3     2      1
  3945 ;;                             _eeRead
  3946 ;;                       _genExponents
  3947 ;; ---------------------------------------------------------------------------------
  3948 ;; (2) _mOffO                                                1     0      1    1710
  3949 ;;                                             74 BANK0      1     0      1
  3950 ;;                _mOffCheckConfigMode
  3951 ;; ---------------------------------------------------------------------------------
  3952 ;; (2) _mOffDown                                             1     0      1    1710
  3953 ;;                                             74 BANK0      1     0      1
  3954 ;;                _mOffCheckConfigMode
  3955 ;; ---------------------------------------------------------------------------------
  3956 ;; (2) _mOffUp                                               1     0      1    1710
  3957 ;;                                             74 BANK0      1     0      1
  3958 ;;                _mOffCheckConfigMode
  3959 ;; ---------------------------------------------------------------------------------
  3960 ;; (3) _genExponents                                         5     5      0   17086
  3961 ;;                                             69 BANK0      5     5      0
  3962 ;;                           ___lbtoft
  3963 ;;                            ___ftdiv
  3964 ;;                                _exp
  3965 ;;                            ___ftsub
  3966 ;;                            ___ftmul
  3967 ;;                            ___ftadd
  3968 ;;                            ___fttol
  3969 ;; ---------------------------------------------------------------------------------
  3970 ;; (2) _mFadeRun                                             8     7      1    1442
  3971 ;;                                             74 BANK0      6     5      1
  3972 ;;                                              0 BANK1      2     2      0
  3973 ;;                            ___awdiv
  3974 ;;                               _rand
  3975 ;; ---------------------------------------------------------------------------------
  3976 ;; (3) _mOffCheckConfigMode                                  3     3      0    1710
  3977 ;;                                             30 BANK0      3     3      0
  3978 ;;                     _cfgModeShowVal
  3979 ;; ---------------------------------------------------------------------------------
  3980 ;; (4) _exp                                                  9     6      3   11302
  3981 ;;                                             60 BANK0      9     6      3
  3982 ;;                             ___ftge
  3983 ;;                            ___ftneg
  3984 ;;                            ___ftmul
  3985 ;;                              _floor
  3986 ;;                            ___fttol
  3987 ;;                           ___awtoft
  3988 ;;                            ___ftsub
  3989 ;;                          _eval_poly
  3990 ;;                              _ldexp
  3991 ;;                            ___ftdiv
  3992 ;; ---------------------------------------------------------------------------------
  3993 ;; (4) ___ftsub                                              6     0      6    1602
  3994 ;;                                             39 BANK0      6     0      6
  3995 ;;                            ___ftadd
  3996 ;;                           ___awtoft (ARG)
  3997 ;; ---------------------------------------------------------------------------------
  3998 ;; (5) _eval_poly                                           11     5      6    2591
  3999 ;;                                             49 BANK0     11     5      6
  4000 ;;                            ___ftmul
  4001 ;;                            ___ftadd
  4002 ;;                              _ldexp (ARG)
  4003 ;; ---------------------------------------------------------------------------------
  4004 ;; (5) _floor                                                8     5      3    3288
  4005 ;;                                             39 BANK0      8     5      3
  4006 ;;                              _frexp
  4007 ;;                             ___ftge
  4008 ;;                            ___fttol
  4009 ;;                           ___altoft
  4010 ;;                            ___ftadd
  4011 ;; ---------------------------------------------------------------------------------
  4012 ;; (2) _mFadeO                                               5     4      1     504
  4013 ;;                                             74 BANK0      5     4      1
  4014 ;;                           _delay_ms
  4015 ;; ---------------------------------------------------------------------------------
  4016 ;; (2) _mSolidO                                              5     4      1     504
  4017 ;;                                             74 BANK0      5     4      1
  4018 ;;                           _delay_ms
  4019 ;; ---------------------------------------------------------------------------------
  4020 ;; (4) _cfgModeShowVal                                      16    12      4    1614
  4021 ;;                                             14 BANK0     16    12      4
  4022 ;;                           _delay_ms
  4023 ;;                            ___lldiv
  4024 ;;                             ___lmul
  4025 ;;                            ___llmod
  4026 ;; ---------------------------------------------------------------------------------
  4027 ;; (3) _rand                                                 3     3      0     294
  4028 ;;                                              6 BANK0      3     3      0
  4029 ;;                             ___wmul
  4030 ;;                                _log
  4031 ;; ---------------------------------------------------------------------------------
  4032 ;; (6) ___altoft                                             6     2      4     516
  4033 ;;                                             13 BANK0      6     2      4
  4034 ;;                           ___ftpack
  4035 ;;                            ___fttol (ARG)
  4036 ;; ---------------------------------------------------------------------------------
  4037 ;; (5) ___awtoft                                             4     1      3     445
  4038 ;;                                              8 BANK0      4     1      3
  4039 ;;                           ___ftpack
  4040 ;; ---------------------------------------------------------------------------------
  4041 ;; (4) ___lbtoft                                             4     1      3     343
  4042 ;;                                              8 BANK0      4     1      3
  4043 ;;                           ___ftpack
  4044 ;; ---------------------------------------------------------------------------------
  4045 ;; (4) ___ftmul                                             15     9      6     800
  4046 ;;                                             12 BANK0     15     9      6
  4047 ;;                           ___ftpack
  4048 ;;                           ___lbtoft (ARG)
  4049 ;; ---------------------------------------------------------------------------------
  4050 ;; (5) ___ftdiv                                             15     9      6     732
  4051 ;;                                              8 BANK0     15     9      6
  4052 ;;                           ___ftpack
  4053 ;; ---------------------------------------------------------------------------------
  4054 ;; (4) ___ftadd                                             12     6      6    1537
  4055 ;;                                             27 BANK0     12     6      6
  4056 ;;                           ___ftpack
  4057 ;;                            ___ftmul (ARG)
  4058 ;; ---------------------------------------------------------------------------------
  4059 ;; (5) _ldexp                                               10     5      5     659
  4060 ;;                                             39 BANK0     10     5      5
  4061 ;;                             ___ftge
  4062 ;;                            ___ftneg
  4063 ;;                            ___ftmul (ARG)
  4064 ;;                            ___ftadd (ARG)
  4065 ;; ---------------------------------------------------------------------------------
  4066 ;; (1) _init                                                 3     3      0       0
  4067 ;;                                              0 BANK0      3     3      0
  4068 ;; ---------------------------------------------------------------------------------
  4069 ;; (2) _mFadeDataInit                                        1     0      1      62
  4070 ;;                                             74 BANK0      1     0      1
  4071 ;;                            _eeWrite
  4072 ;; ---------------------------------------------------------------------------------
  4073 ;; (2) _mFadeDestr                                           1     0      1      62
  4074 ;;                                             74 BANK0      1     0      1
  4075 ;;                            _eeWrite
  4076 ;; ---------------------------------------------------------------------------------
  4077 ;; (2) _mSolidDataInit                                       1     0      1      62
  4078 ;;                                             74 BANK0      1     0      1
  4079 ;;                            _eeWrite
  4080 ;; ---------------------------------------------------------------------------------
  4081 ;; (2) _mSolidDown                                           5     4      1     547
  4082 ;;                                             74 BANK0      5     4      1
  4083 ;;                            ___awdiv
  4084 ;; ---------------------------------------------------------------------------------
  4085 ;; (2) _mSolidDestr                                          1     0      1      62
  4086 ;;                                             74 BANK0      1     0      1
  4087 ;;                            _eeWrite
  4088 ;; ---------------------------------------------------------------------------------
  4089 ;; (2) _mSolidInit                                           1     0      1      31
  4090 ;;                                             74 BANK0      1     0      1
  4091 ;;                             _eeRead
  4092 ;; ---------------------------------------------------------------------------------
  4093 ;; (2) _mOffDataInit                                         1     0      1      62
  4094 ;;                                             74 BANK0      1     0      1
  4095 ;;                            _eeWrite
  4096 ;; ---------------------------------------------------------------------------------
  4097 ;; (2) _mOffDestr                                            1     0      1      31
  4098 ;;                                             74 BANK0      1     0      1
  4099 ;;                             _eeRead
  4100 ;; ---------------------------------------------------------------------------------
  4101 ;; (2) _mOffInit                                             1     0      1     124
  4102 ;;                                             74 BANK0      1     0      1
  4103 ;;                            _eeWrite
  4104 ;; ---------------------------------------------------------------------------------
  4105 ;; (5) _delay_ms                                             8     6      2     368
  4106 ;;                                              6 BANK0      8     6      2
  4107 ;;                             ___wmul
  4108 ;; ---------------------------------------------------------------------------------
  4109 ;; (4) _log                                                  1     1      0      93
  4110 ;;                                              3 BANK0      1     1      0
  4111 ;;                            _eeWrite
  4112 ;; ---------------------------------------------------------------------------------
  4113 ;; (5) ___lldiv                                             13     5      8     241
  4114 ;;                                              0 BANK0     13     5      8
  4115 ;; ---------------------------------------------------------------------------------
  4116 ;; (6) ___ftge                                               6     0      6     198
  4117 ;;                                              0 BANK0      6     0      6
  4118 ;; ---------------------------------------------------------------------------------
  4119 ;; (6) ___ftneg                                              3     0      3      65
  4120 ;;                                              0 BANK0      3     0      3
  4121 ;; ---------------------------------------------------------------------------------
  4122 ;; (5) ___llmod                                              9     1      8     232
  4123 ;;                                              0 BANK0      9     1      8
  4124 ;; ---------------------------------------------------------------------------------
  4125 ;; (3) ___awdiv                                              8     4      4     445
  4126 ;;                                              0 BANK0      8     4      4
  4127 ;; ---------------------------------------------------------------------------------
  4128 ;; (4) ___fttol                                             13     9      4     371
  4129 ;;                                              0 BANK0     13     9      4
  4130 ;; ---------------------------------------------------------------------------------
  4131 ;; (5) ___lmul                                              12     4      8     136
  4132 ;;                                              0 BANK0     12     4      8
  4133 ;; ---------------------------------------------------------------------------------
  4134 ;; (5) ___ftpack                                             8     3      5     312
  4135 ;;                                              0 BANK0      8     3      5
  4136 ;; ---------------------------------------------------------------------------------
  4137 ;; (3) ___lwdiv                                              7     3      4     241
  4138 ;;                                              0 BANK0      7     3      4
  4139 ;; ---------------------------------------------------------------------------------
  4140 ;; (6) ___wmul                                               6     2      4     136
  4141 ;;                                              0 BANK0      6     2      4
  4142 ;; ---------------------------------------------------------------------------------
  4143 ;; (2) ___bmul                                               3     2      1     108
  4144 ;;                                              0 BANK0      3     2      1
  4145 ;; ---------------------------------------------------------------------------------
  4146 ;; (6) _frexp                                                6     2      4     298
  4147 ;;                                              0 BANK0      6     2      4
  4148 ;; ---------------------------------------------------------------------------------
  4149 ;; (2) Absolute function(Fake)                               1     0      1       0
  4150 ;;                                              0 BANK0      1     0      1
  4151 ;; ---------------------------------------------------------------------------------
  4152 ;; (2) _mSolidUp                                             7     6      1     102
  4153 ;;                                             74 BANK0      5     4      1
  4154 ;;                                              0 BANK1      2     2      0
  4155 ;; ---------------------------------------------------------------------------------
  4156 ;; (1) _getU8                                                1     1      0      31
  4157 ;;                                              0 BANK0      1     1      0
  4158 ;; ---------------------------------------------------------------------------------
  4159 ;; (1) _getU16                                              15    13      2     130
  4160 ;;                                              0 BANK0     15    13      2
  4161 ;; ---------------------------------------------------------------------------------
  4162 ;; (1) _getU32                                              17    13      4     260
  4163 ;;                                              0 BANK0     17    13      4
  4164 ;; ---------------------------------------------------------------------------------
  4165 ;; (1) _rxDecode                                             8     8      0     309
  4166 ;;                                              0 BANK0      8     8      0
  4167 ;; ---------------------------------------------------------------------------------
  4168 ;; (1) _rxStart                                              1     1      0      99
  4169 ;;                                              0 BANK0      1     1      0
  4170 ;; ---------------------------------------------------------------------------------
  4171 ;; (1) _eeWrite                                              3     2      1      62
  4172 ;;                                              0 BANK0      3     2      1
  4173 ;; ---------------------------------------------------------------------------------
  4174 ;; (3) _eeRead                                               1     1      0      31
  4175 ;;                                              0 BANK0      1     1      0
  4176 ;; ---------------------------------------------------------------------------------
  4177 ;; Estimated maximum stack depth 6
  4178 ;; ---------------------------------------------------------------------------------
  4179 ;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
  4180 ;; ---------------------------------------------------------------------------------
  4181 ;; (8) _isr                                                  5     5      0      28
  4182 ;;                                              0 COMMON     5     5      0
  4183 ;; ---------------------------------------------------------------------------------
  4184 ;; Estimated maximum stack depth 8
  4185 ;; ---------------------------------------------------------------------------------
  4186 ;; Call Graph Graphs:
  4187 ;; _main (ROOT)
  4188 ;;   _init
  4189 ;;   _eeRead
  4190 ;;   _runFuncPtr
  4191 ;;     ___bmul
  4192 ;;     Absolute function(Fake)
  4193 ;;     _mFadeRun
  4194 ;;       ___awdiv
  4195 ;;       _rand
  4196 ;;         ___wmul
  4197 ;;         _log
  4198 ;;           _eeWrite
  4199 ;;     _mFadeDataInit
  4200 ;;       _eeWrite
  4201 ;;     _mFadeO
  4202 ;;       _delay_ms
  4203 ;;         ___wmul
  4204 ;;     _mFadeDown
  4205 ;;       ___lwdiv
  4206 ;;       _genExponents
  4207 ;;         ___lbtoft
  4208 ;;           ___ftpack
  4209 ;;         ___ftdiv
  4210 ;;           ___ftpack
  4211 ;;         _exp
  4212 ;;           ___ftge
  4213 ;;           ___ftneg
  4214 ;;           ___ftmul
  4215 ;;             ___ftpack
  4216 ;;             ___lbtoft (ARG)
  4217 ;;               ___ftpack
  4218 ;;           _floor
  4219 ;;             _frexp
  4220 ;;             ___ftge
  4221 ;;             ___fttol
  4222 ;;             ___altoft
  4223 ;;               ___ftpack
  4224 ;;               ___fttol (ARG)
  4225 ;;             ___ftadd
  4226 ;;               ___ftpack
  4227 ;;               ___ftmul (ARG)
  4228 ;;                 ___ftpack
  4229 ;;                 ___lbtoft (ARG)
  4230 ;;                   ___ftpack
  4231 ;;           ___fttol
  4232 ;;           ___awtoft
  4233 ;;             ___ftpack
  4234 ;;           ___ftsub
  4235 ;;             ___ftadd
  4236 ;;               ___ftpack
  4237 ;;               ___ftmul (ARG)
  4238 ;;                 ___ftpack
  4239 ;;                 ___lbtoft (ARG)
  4240 ;;                   ___ftpack
  4241 ;;             ___awtoft (ARG)
  4242 ;;               ___ftpack
  4243 ;;           _eval_poly
  4244 ;;             ___ftmul
  4245 ;;               ___ftpack
  4246 ;;               ___lbtoft (ARG)
  4247 ;;                 ___ftpack
  4248 ;;             ___ftadd
  4249 ;;               ___ftpack
  4250 ;;               ___ftmul (ARG)
  4251 ;;                 ___ftpack
  4252 ;;                 ___lbtoft (ARG)
  4253 ;;                   ___ftpack
  4254 ;;             _ldexp (ARG)
  4255 ;;               ___ftge
  4256 ;;               ___ftneg
  4257 ;;               ___ftmul (ARG)
  4258 ;;                 ___ftpack
  4259 ;;                 ___lbtoft (ARG)
  4260 ;;                   ___ftpack
  4261 ;;               ___ftadd (ARG)
  4262 ;;                 ___ftpack
  4263 ;;                 ___ftmul (ARG)
  4264 ;;                   ___ftpack
  4265 ;;                   ___lbtoft (ARG)
  4266 ;;                     ___ftpack
  4267 ;;           _ldexp
  4268 ;;             ___ftge
  4269 ;;             ___ftneg
  4270 ;;             ___ftmul (ARG)
  4271 ;;               ___ftpack
  4272 ;;               ___lbtoft (ARG)
  4273 ;;                 ___ftpack
  4274 ;;             ___ftadd (ARG)
  4275 ;;               ___ftpack
  4276 ;;               ___ftmul (ARG)
  4277 ;;                 ___ftpack
  4278 ;;                 ___lbtoft (ARG)
  4279 ;;                   ___ftpack
  4280 ;;           ___ftdiv
  4281 ;;             ___ftpack
  4282 ;;         ___ftsub
  4283 ;;           ___ftadd
  4284 ;;             ___ftpack
  4285 ;;             ___ftmul (ARG)
  4286 ;;               ___ftpack
  4287 ;;               ___lbtoft (ARG)
  4288 ;;                 ___ftpack
  4289 ;;           ___awtoft (ARG)
  4290 ;;             ___ftpack
  4291 ;;         ___ftmul
  4292 ;;           ___ftpack
  4293 ;;           ___lbtoft (ARG)
  4294 ;;             ___ftpack
  4295 ;;         ___ftadd
  4296 ;;           ___ftpack
  4297 ;;           ___ftmul (ARG)
  4298 ;;             ___ftpack
  4299 ;;             ___lbtoft (ARG)
  4300 ;;               ___ftpack
  4301 ;;         ___fttol
  4302 ;;     _mFadeUp
  4303 ;;       ___wmul
  4304 ;;       _genExponents
  4305 ;;         ___lbtoft
  4306 ;;           ___ftpack
  4307 ;;         ___ftdiv
  4308 ;;           ___ftpack
  4309 ;;         _exp
  4310 ;;           ___ftge
  4311 ;;           ___ftneg
  4312 ;;           ___ftmul
  4313 ;;             ___ftpack
  4314 ;;             ___lbtoft (ARG)
  4315 ;;               ___ftpack
  4316 ;;           _floor
  4317 ;;             _frexp
  4318 ;;             ___ftge
  4319 ;;             ___fttol
  4320 ;;             ___altoft
  4321 ;;               ___ftpack
  4322 ;;               ___fttol (ARG)
  4323 ;;             ___ftadd
  4324 ;;               ___ftpack
  4325 ;;               ___ftmul (ARG)
  4326 ;;                 ___ftpack
  4327 ;;                 ___lbtoft (ARG)
  4328 ;;                   ___ftpack
  4329 ;;           ___fttol
  4330 ;;           ___awtoft
  4331 ;;             ___ftpack
  4332 ;;           ___ftsub
  4333 ;;             ___ftadd
  4334 ;;               ___ftpack
  4335 ;;               ___ftmul (ARG)
  4336 ;;                 ___ftpack
  4337 ;;                 ___lbtoft (ARG)
  4338 ;;                   ___ftpack
  4339 ;;             ___awtoft (ARG)
  4340 ;;               ___ftpack
  4341 ;;           _eval_poly
  4342 ;;             ___ftmul
  4343 ;;               ___ftpack
  4344 ;;               ___lbtoft (ARG)
  4345 ;;                 ___ftpack
  4346 ;;             ___ftadd
  4347 ;;               ___ftpack
  4348 ;;               ___ftmul (ARG)
  4349 ;;                 ___ftpack
  4350 ;;                 ___lbtoft (ARG)
  4351 ;;                   ___ftpack
  4352 ;;             _ldexp (ARG)
  4353 ;;               ___ftge
  4354 ;;               ___ftneg
  4355 ;;               ___ftmul (ARG)
  4356 ;;                 ___ftpack
  4357 ;;                 ___lbtoft (ARG)
  4358 ;;                   ___ftpack
  4359 ;;               ___ftadd (ARG)
  4360 ;;                 ___ftpack
  4361 ;;                 ___ftmul (ARG)
  4362 ;;                   ___ftpack
  4363 ;;                   ___lbtoft (ARG)
  4364 ;;                     ___ftpack
  4365 ;;           _ldexp
  4366 ;;             ___ftge
  4367 ;;             ___ftneg
  4368 ;;             ___ftmul (ARG)
  4369 ;;               ___ftpack
  4370 ;;               ___lbtoft (ARG)
  4371 ;;                 ___ftpack
  4372 ;;             ___ftadd (ARG)
  4373 ;;               ___ftpack
  4374 ;;               ___ftmul (ARG)
  4375 ;;                 ___ftpack
  4376 ;;                 ___lbtoft (ARG)
  4377 ;;                   ___ftpack
  4378 ;;           ___ftdiv
  4379 ;;             ___ftpack
  4380 ;;         ___ftsub
  4381 ;;           ___ftadd
  4382 ;;             ___ftpack
  4383 ;;             ___ftmul (ARG)
  4384 ;;               ___ftpack
  4385 ;;               ___lbtoft (ARG)
  4386 ;;                 ___ftpack
  4387 ;;           ___awtoft (ARG)
  4388 ;;             ___ftpack
  4389 ;;         ___ftmul
  4390 ;;           ___ftpack
  4391 ;;           ___lbtoft (ARG)
  4392 ;;             ___ftpack
  4393 ;;         ___ftadd
  4394 ;;           ___ftpack
  4395 ;;           ___ftmul (ARG)
  4396 ;;             ___ftpack
  4397 ;;             ___lbtoft (ARG)
  4398 ;;               ___ftpack
  4399 ;;         ___fttol
  4400 ;;     _mFadeDestr
  4401 ;;       _eeWrite
  4402 ;;     _mFadeInit
  4403 ;;       _eeRead
  4404 ;;       _genExponents
  4405 ;;         ___lbtoft
  4406 ;;           ___ftpack
  4407 ;;         ___ftdiv
  4408 ;;           ___ftpack
  4409 ;;         _exp
  4410 ;;           ___ftge
  4411 ;;           ___ftneg
  4412 ;;           ___ftmul
  4413 ;;             ___ftpack
  4414 ;;             ___lbtoft (ARG)
  4415 ;;               ___ftpack
  4416 ;;           _floor
  4417 ;;             _frexp
  4418 ;;             ___ftge
  4419 ;;             ___fttol
  4420 ;;             ___altoft
  4421 ;;               ___ftpack
  4422 ;;               ___fttol (ARG)
  4423 ;;             ___ftadd
  4424 ;;               ___ftpack
  4425 ;;               ___ftmul (ARG)
  4426 ;;                 ___ftpack
  4427 ;;                 ___lbtoft (ARG)
  4428 ;;                   ___ftpack
  4429 ;;           ___fttol
  4430 ;;           ___awtoft
  4431 ;;             ___ftpack
  4432 ;;           ___ftsub
  4433 ;;             ___ftadd
  4434 ;;               ___ftpack
  4435 ;;               ___ftmul (ARG)
  4436 ;;                 ___ftpack
  4437 ;;                 ___lbtoft (ARG)
  4438 ;;                   ___ftpack
  4439 ;;             ___awtoft (ARG)
  4440 ;;               ___ftpack
  4441 ;;           _eval_poly
  4442 ;;             ___ftmul
  4443 ;;               ___ftpack
  4444 ;;               ___lbtoft (ARG)
  4445 ;;                 ___ftpack
  4446 ;;             ___ftadd
  4447 ;;               ___ftpack
  4448 ;;               ___ftmul (ARG)
  4449 ;;                 ___ftpack
  4450 ;;                 ___lbtoft (ARG)
  4451 ;;                   ___ftpack
  4452 ;;             _ldexp (ARG)
  4453 ;;               ___ftge
  4454 ;;               ___ftneg
  4455 ;;               ___ftmul (ARG)
  4456 ;;                 ___ftpack
  4457 ;;                 ___lbtoft (ARG)
  4458 ;;                   ___ftpack
  4459 ;;               ___ftadd (ARG)
  4460 ;;                 ___ftpack
  4461 ;;                 ___ftmul (ARG)
  4462 ;;                   ___ftpack
  4463 ;;                   ___lbtoft (ARG)
  4464 ;;                     ___ftpack
  4465 ;;           _ldexp
  4466 ;;             ___ftge
  4467 ;;             ___ftneg
  4468 ;;             ___ftmul (ARG)
  4469 ;;               ___ftpack
  4470 ;;               ___lbtoft (ARG)
  4471 ;;                 ___ftpack
  4472 ;;             ___ftadd (ARG)
  4473 ;;               ___ftpack
  4474 ;;               ___ftmul (ARG)
  4475 ;;                 ___ftpack
  4476 ;;                 ___lbtoft (ARG)
  4477 ;;                   ___ftpack
  4478 ;;           ___ftdiv
  4479 ;;             ___ftpack
  4480 ;;         ___ftsub
  4481 ;;           ___ftadd
  4482 ;;             ___ftpack
  4483 ;;             ___ftmul (ARG)
  4484 ;;               ___ftpack
  4485 ;;               ___lbtoft (ARG)
  4486 ;;                 ___ftpack
  4487 ;;           ___awtoft (ARG)
  4488 ;;             ___ftpack
  4489 ;;         ___ftmul
  4490 ;;           ___ftpack
  4491 ;;           ___lbtoft (ARG)
  4492 ;;             ___ftpack
  4493 ;;         ___ftadd
  4494 ;;           ___ftpack
  4495 ;;           ___ftmul (ARG)
  4496 ;;             ___ftpack
  4497 ;;             ___lbtoft (ARG)
  4498 ;;               ___ftpack
  4499 ;;         ___fttol
  4500 ;;     _mSolidDataInit
  4501 ;;       _eeWrite
  4502 ;;     _mSolidO
  4503 ;;       _delay_ms
  4504 ;;         ___wmul
  4505 ;;     _mSolidDown
  4506 ;;       ___awdiv
  4507 ;;     _mSolidUp
  4508 ;;     _mSolidDestr
  4509 ;;       _eeWrite
  4510 ;;     _mSolidInit
  4511 ;;       _eeRead
  4512 ;;     _mOffO
  4513 ;;       _mOffCheckConfigMode
  4514 ;;         _cfgModeShowVal
  4515 ;;           _delay_ms
  4516 ;;             ___wmul
  4517 ;;           ___lldiv
  4518 ;;           ___lmul
  4519 ;;           ___llmod
  4520 ;;     _mOffDown
  4521 ;;       _mOffCheckConfigMode
  4522 ;;         _cfgModeShowVal
  4523 ;;           _delay_ms
  4524 ;;             ___wmul
  4525 ;;           ___lldiv
  4526 ;;           ___lmul
  4527 ;;           ___llmod
  4528 ;;     _mOffUp
  4529 ;;       _mOffCheckConfigMode
  4530 ;;         _cfgModeShowVal
  4531 ;;           _delay_ms
  4532 ;;             ___wmul
  4533 ;;           ___lldiv
  4534 ;;           ___lmul
  4535 ;;           ___llmod
  4536 ;;     _mOffDataInit
  4537 ;;       _eeWrite
  4538 ;;     _mOffDestr
  4539 ;;       _eeRead
  4540 ;;     _mOffInit
  4541 ;;       _eeWrite
  4542 ;;   _eeWrite
  4543 ;;   _rxStart
  4544 ;;   _rxDecode
  4545 ;;   _getU32
  4546 ;;   _getU8
  4547 ;;   _getU16
  4548 ;;
  4549 ;; _isr (ROOT)
  4550 ;;
  4551 ;; Address spaces:
  4552 ;;Name               Size   Autos  Total    Cost      Usage
  4553 ;;BIGRAM              F0      0       0       0        0.0%
  4554 ;;EEDATA             100      0       0       0        0.0%
  4555 ;;NULL                 0      0       0       0        0.0%
  4556 ;;CODE                 0      0       0       0        0.0%
  4557 ;;BITCOMMON            E      0       1       1        7.1%
  4558 ;;BITSFR0              0      0       0       1        0.0%
  4559 ;;SFR0                 0      0       0       1        0.0%
  4560 ;;COMMON               E      5       A       2       71.4%
  4561 ;;BITSFR1              0      0       0       2        0.0%
  4562 ;;SFR1                 0      0       0       2        0.0%
  4563 ;;BITSFR2              0      0       0       3        0.0%
  4564 ;;SFR2                 0      0       0       3        0.0%
  4565 ;;STACK                0      0       7       3        0.0%
  4566 ;;BITSFR3              0      0       0       4        0.0%
  4567 ;;SFR3                 0      0       0       4        0.0%
  4568 ;;ABS                  0      0      BD       4        0.0%
  4569 ;;BITBANK0            50      0       0       5        0.0%
  4570 ;;BITSFR4              0      0       0       5        0.0%
  4571 ;;SFR4                 0      0       0       5        0.0%
  4572 ;;BANK0               50     50      50       6      100.0%
  4573 ;;BITSFR5              0      0       0       6        0.0%
  4574 ;;SFR5                 0      0       0       6        0.0%
  4575 ;;BITBANK1            50      0       0       7        0.0%
  4576 ;;BITSFR6              0      0       0       7        0.0%
  4577 ;;SFR6                 0      0       0       7        0.0%
  4578 ;;BANK1               50      F      43       8       83.8%
  4579 ;;BITSFR7              0      0       0       8        0.0%
  4580 ;;SFR7                 0      0       0       8        0.0%
  4581 ;;BITBANK2            50      0       0       9        0.0%
  4582 ;;BITSFR8              0      0       0       9        0.0%
  4583 ;;SFR8                 0      0       0       9        0.0%
  4584 ;;BANK2               50      0      20      10       40.0%
  4585 ;;BITSFR9              0      0       0      10        0.0%
  4586 ;;SFR9                 0      0       0      10        0.0%
  4587 ;;BITSFR10             0      0       0      11        0.0%
  4588 ;;SFR10                0      0       0      11        0.0%
  4589 ;;DATA                 0      0      C4      11        0.0%
  4590 ;;BITSFR11             0      0       0      12        0.0%
  4591 ;;SFR11                0      0       0      12        0.0%
  4592 ;;BITSFR12             0      0       0      13        0.0%
  4593 ;;SFR12                0      0       0      13        0.0%
  4594 ;;BITSFR13             0      0       0      14        0.0%
  4595 ;;SFR13                0      0       0      14        0.0%
  4596 ;;BITSFR14             0      0       0      15        0.0%
  4597 ;;SFR14                0      0       0      15        0.0%
  4598 ;;BITSFR15             0      0       0      16        0.0%
  4599 ;;SFR15                0      0       0      16        0.0%
  4600 ;;BITSFR16             0      0       0      17        0.0%
  4601 ;;SFR16                0      0       0      17        0.0%
  4602 ;;BITSFR17             0      0       0      18        0.0%
  4603 ;;SFR17                0      0       0      18        0.0%
  4604 ;;BITSFR18             0      0       0      19        0.0%
  4605 ;;SFR18                0      0       0      19        0.0%
  4606 ;;BITSFR19             0      0       0      20        0.0%
  4607 ;;SFR19                0      0       0      20        0.0%
  4608 ;;BITSFR20             0      0       0      21        0.0%
  4609 ;;SFR20                0      0       0      21        0.0%
  4610 ;;BITSFR21             0      0       0      22        0.0%
  4611 ;;SFR21                0      0       0      22        0.0%
  4612 ;;BITSFR22             0      0       0      23        0.0%
  4613 ;;SFR22                0      0       0      23        0.0%
  4614 ;;BITSFR23             0      0       0      24        0.0%
  4615 ;;SFR23                0      0       0      24        0.0%
  4616 ;;BITSFR24             0      0       0      25        0.0%
  4617 ;;SFR24                0      0       0      25        0.0%
  4618 ;;BITSFR25             0      0       0      26        0.0%
  4619 ;;SFR25                0      0       0      26        0.0%
  4620 ;;BITSFR26             0      0       0      27        0.0%
  4621 ;;SFR26                0      0       0      27        0.0%
  4622 ;;BITSFR27             0      0       0      28        0.0%
  4623 ;;SFR27                0      0       0      28        0.0%
  4624 ;;BITSFR28             0      0       0      29        0.0%
  4625 ;;SFR28                0      0       0      29        0.0%
  4626 ;;BITSFR29             0      0       0      30        0.0%
  4627 ;;SFR29                0      0       0      30        0.0%
  4628 ;;BITSFR30             0      0       0      31        0.0%
  4629 ;;SFR30                0      0       0      31        0.0%
  4630 ;;BITSFR31             0      0       0      32        0.0%
  4631 ;;SFR31                0      0       0      32        0.0%
  4632                           
  4633                           
  4634 ;; *************** function _main *****************
  4635 ;; Defined at:
  4636 ;;		line 682 in file "Z:\pic\irRX\main.c"
  4637 ;; Parameters:    Size  Location     Type
  4638 ;;		None
  4639 ;; Auto vars:     Size  Location     Type
  4640 ;;  pressessSinc    4    0        unsigned long 
  4641 ;;  pressesTotal    4    0        unsigned long 
  4642 ;;  whichBtn        1   13[BANK1 ] unsigned char 
  4643 ;;  pt              2   11[BANK1 ] unsigned short 
  4644 ;;  t               1   10[BANK1 ] unsigned char 
  4645 ;;  mode            1   14[BANK1 ] unsigned char 
  4646 ;; Return value:  Size  Location     Type
  4647 ;;		None               void
  4648 ;; Registers used:
  4649 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  4650 ;; Tracked objects:
  4651 ;;		On entry : 17F/0
  4652 ;;		On exit  : 1A/0
  4653 ;;		Unchanged: 0/0
  4654 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  4655 ;;      Params:         0       0       0       0
  4656 ;;      Locals:         0       0       5       0
  4657 ;;      Temps:          0       0       2       0
  4658 ;;      Totals:         0       0       7       0
  4659 ;;Total ram usage:        7 bytes
  4660 ;; Hardware stack levels required when called:    8
  4661 ;; This function calls:
  4662 ;;		_init
  4663 ;;		_eeRead
  4664 ;;		_runFuncPtr
  4665 ;;		_eeWrite
  4666 ;;		_rxStart
  4667 ;;		_rxDecode
  4668 ;;		_getU32
  4669 ;;		_getU8
  4670 ;;		_getU16
  4671 ;; This function is called by:
  4672 ;;		Startup code after reset
  4673 ;; This function uses a non-reentrant model
  4674 ;;
  4675  0871                     _main:	
  4676                           
  4677                           ;main.c: 684: UInt8 mode;
  4678                           ;main.c: 686: init();
  4679                           
  4680                           ; Regs used in _main: [allreg]
  4681  0871  2301  3188         	fcall	_init
  4682                           
  4683                           ;main.c: 689: if(eeRead(0xFF) == 'M'){
  4684  0873  30FF               	movlw	255
  4685  0874  226B  3188         	fcall	_eeRead
  4686  0876  3A4D               	xorlw	77
  4687  0877  1D03               	skipz
  4688  0878  287F               	goto	l6751
  4689                           
  4690                           ;main.c: 691: mode = eeRead(0xFE);
  4691  0879  30FE               	movlw	254
  4692  087A  226B  3188         	fcall	_eeRead
  4693  087C  0021               	movlb	1	; select bank1
  4694  087D  00E0               	movwf	main@mode^(0+128)
  4695                           
  4696                           ;main.c: 692: }
  4697  087E  2899               	goto	l6765
  4698  087F                     l6751:	
  4699                           
  4700                           ;main.c: 693: else{
  4701                           ;main.c: 695: for(mode = 0; mode < 3; mode++) runFuncPtr(5, mode, 0);
  4702  087F  0021               	movlb	1	; select bank1
  4703  0880  01E0               	clrf	main@mode^(0+128)
  4704  0881                     l6757:	
  4705  0881  0860               	movf	main@mode^(0+128),w
  4706  0882  00D4               	movwf	?_runFuncPtr^(0+128)
  4707  0883  3005               	movlw	5
  4708  0884  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4709  0885  2148  3188         	fcall	_runFuncPtr
  4710  0887  3003               	movlw	3
  4711  0888  0AE0               	incf	main@mode^(0+128),f
  4712  0889  0260               	subwf	main@mode^(0+128),w
  4713  088A  1C03               	skipc
  4714  088B  2881               	goto	l6757
  4715                           
  4716                           ;main.c: 696: eeWrite(0xFF, 'M');
  4717  088C  304D               	movlw	77
  4718  088D  0020               	movlb	0	; select bank0
  4719  088E  00A0               	movwf	?_eeWrite
  4720  088F  30FF               	movlw	255
  4721  0890  2197  3188         	fcall	_eeWrite
  4722                           
  4723                           ;main.c: 697: eeWrite(0xFE, mode = 0);
  4724  0892  0021               	movlb	1	; select bank1
  4725  0893  01E0               	clrf	main@mode^(0+128)
  4726  0894  0020               	movlb	0	; select bank0
  4727  0895  30FE               	movlw	254
  4728  0896  01A0               	clrf	?_eeWrite
  4729  0897  2197  3188         	fcall	_eeWrite
  4730  0899                     l6765:	
  4731                           
  4732                           ;main.c: 698: }
  4733                           ;main.c: 701: rxStart();
  4734  0899  21BE  3188         	fcall	_rxStart
  4735                           
  4736                           ;main.c: 702: runFuncPtr(0, mode, 0);
  4737  089B  0021               	movlb	1	; select bank1
  4738  089C  0860               	movf	main@mode^(0+128),w
  4739  089D  00D4               	movwf	?_runFuncPtr^(0+128)
  4740  089E  3000               	movlw	0
  4741  089F  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4742  08A0  2148  3188         	fcall	_runFuncPtr
  4743  08A2                     l6769:	
  4744                           
  4745                           ;main.c: 709: if(pt != TMR1 >> 6){
  4746  08A2  0020               	movlb	0	; select bank0
  4747  08A3  0817               	movf	23,w	;volatile
  4748  08A4  0021               	movlb	1	; select bank1
  4749  08A5  00DB               	movwf	(??_main^(0+128)+1)
  4750  08A6  0020               	movlb	0	; select bank0
  4751  08A7  0816               	movf	22,w	;volatile
  4752  08A8  0021               	movlb	1	; select bank1
  4753  08A9  00DA               	movwf	??_main^(0+128)
  4754  08AA  3006               	movlw	6
  4755  08AB                     u5035:	
  4756  08AB  36DB               	lsrf	(??_main^(0+128)+1),f
  4757  08AC  0CDA               	rrf	??_main^(0+128),f
  4758  08AD  0B89               	decfsz	9,f
  4759  08AE  28AB               	goto	u5035
  4760  08AF  085B               	movf	(??_main+1)^(0+128),w
  4761  08B0  045A               	iorwf	??_main^(0+128),w
  4762  08B1  1903               	skipnz
  4763  08B2  28C6               	goto	l6779
  4764                           
  4765                           ;main.c: 710: runFuncPtr(6, mode, 0);
  4766  08B3  0860               	movf	main@mode^(0+128),w
  4767  08B4  00D4               	movwf	?_runFuncPtr^(0+128)
  4768  08B5  3006               	movlw	6
  4769  08B6  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4770  08B7  2148  3188         	fcall	_runFuncPtr
  4771                           
  4772                           ;main.c: 711: pt = TMR1 >> 6;
  4773  08B9  0020               	movlb	0	; select bank0
  4774  08BA  0817               	movf	23,w	;volatile
  4775  08BB  0021               	movlb	1	; select bank1
  4776  08BC  00DE               	movwf	(main@pt+1)^(0+128)	;volatile
  4777  08BD  0020               	movlb	0	; select bank0
  4778  08BE  0816               	movf	22,w	;volatile
  4779  08BF  0021               	movlb	1	; select bank1
  4780  08C0  00DD               	movwf	main@pt^(0+128)	;volatile
  4781  08C1  3006               	movlw	6
  4782  08C2                     u5055:	
  4783  08C2  36DE               	lsrf	(main@pt+1)^(0+128),f	;volatile
  4784  08C3  0CDD               	rrf	main@pt^(0+128),f	;volatile
  4785  08C4  0B89               	decfsz	9,f
  4786  08C5  28C2               	goto	u5055
  4787  08C6                     l6779:	
  4788                           
  4789                           ;main.c: 712: }
  4790                           ;main.c: 713: if(gRxDone){
  4791  08C6  1CF9               	btfss	_gRxDone/(0+8),_gRxDone& (0+7)
  4792  08C7  28A2               	goto	l6769
  4793                           
  4794                           ;main.c: 715: t = rxDecode();
  4795  08C8  2276  3188         	fcall	_rxDecode
  4796  08CA  0021               	movlb	1	; select bank1
  4797  08CB  00DC               	movwf	main@t^(0+128)
  4798                           
  4799                           ;main.c: 716: if(t == 0){
  4800  08CC  08DC               	movf	main@t^(0+128),f
  4801  08CD  1D03               	skipz
  4802  08CE  2944               	goto	l6827
  4803                           
  4804                           ;main.c: 717: UInt32 pressesTotal = getU32(gRxData + 2);
  4805  08CF  30B4               	movlw	(_gRxData+2)& (0+255)
  4806  08D0  21DE  3188         	fcall	_getU32
  4807                           
  4808                           ;main.c: 718: UInt32 pressessSinceBattChange = getU32(gRxData + 6);
  4809  08D2  30B8               	movlw	(_gRxData+6)& (0+255)
  4810  08D3  21DE  3188         	fcall	_getU32
  4811                           
  4812                           ;main.c: 719: UInt8 whichBtn = getU8(gRxData + 12);
  4813  08D5  30BE               	movlw	(_gRxData+12)& (0+255)
  4814  08D6  22EF  3188         	fcall	_getU8
  4815  08D8  0021               	movlb	1	; select bank1
  4816  08D9  00DF               	movwf	main@whichBtn^(0+128)
  4817                           
  4818                           ;main.c: 721: gBattCentiVolts = getU16(gRxData + 10);
  4819  08DA  30BC               	movlw	(_gRxData+10)& (0+255)
  4820  08DB  22BE  3188         	fcall	_getU16
  4821  08DD  0821               	movf	?_getU16+1,w
  4822  08DE  0021               	movlb	1	; select bank1
  4823  08DF  00A9               	movwf	(_gBattCentiVolts+1)^(0+128)
  4824  08E0  0020               	movlb	0	; select bank0
  4825  08E1  0820               	movf	?_getU16,w
  4826  08E2  0021               	movlb	1	; select bank1
  4827  08E3  00A8               	movwf	_gBattCentiVolts^(0+128)
  4828                           
  4829                           ;main.c: 722: if(whichBtn == 1){
  4830  08E4  0B5F               	decfsz	main@whichBtn^(0+128),w
  4831  08E5  2903               	goto	l6805
  4832                           
  4833                           ;main.c: 724: if(mode != 0){
  4834  08E6  0860               	movf	main@mode^(0+128),w
  4835  08E7  1903               	btfsc	3,2
  4836  08E8  2944               	goto	l6827
  4837                           
  4838                           ;main.c: 726: runFuncPtr(1, mode, 0);
  4839  08E9  0860               	movf	main@mode^(0+128),w
  4840  08EA  00D4               	movwf	?_runFuncPtr^(0+128)
  4841  08EB  3001               	movlw	1
  4842  08EC  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4843  08ED  2148  3188         	fcall	_runFuncPtr
  4844                           
  4845                           ;main.c: 727: if(++mode == 3) mode = 1;
  4846  08EF  0AE0               	incf	main@mode^(0+128),f
  4847  08F0  0860               	movf	main@mode^(0+128),w
  4848  08F1  3A03               	xorlw	3
  4849  08F2  1D03               	skipz
  4850  08F3  28F6               	goto	l6801
  4851  08F4  01E0               	clrf	main@mode^(0+128)
  4852  08F5  0AE0               	incf	main@mode^(0+128),f
  4853  08F6                     l6801:	
  4854                           
  4855                           ;main.c: 728: runFuncPtr(0, mode, 0);
  4856  08F6  0860               	movf	main@mode^(0+128),w
  4857  08F7  00D4               	movwf	?_runFuncPtr^(0+128)
  4858  08F8  3000               	movlw	0
  4859  08F9  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4860  08FA  2148  3188         	fcall	_runFuncPtr
  4861                           
  4862                           ;main.c: 729: eeWrite(0xFE, mode);
  4863  08FC  0860               	movf	main@mode^(0+128),w
  4864  08FD  0020               	movlb	0	; select bank0
  4865  08FE  00A0               	movwf	?_eeWrite
  4866  08FF  30FE               	movlw	254
  4867  0900  2197  3188         	fcall	_eeWrite
  4868  0902  2944               	goto	l6827
  4869  0903                     l6805:	
  4870                           
  4871                           ;main.c: 732: else if(whichBtn == 4){
  4872  0903  085F               	movf	main@whichBtn^(0+128),w
  4873  0904  3A04               	xorlw	4
  4874  0905  1D03               	skipz
  4875  0906  290E               	goto	l6809
  4876                           
  4877                           ;main.c: 734: runFuncPtr(2, mode, 0);
  4878  0907  0860               	movf	main@mode^(0+128),w
  4879  0908  00D4               	movwf	?_runFuncPtr^(0+128)
  4880  0909  3002               	movlw	2
  4881  090A  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4882  090B  2148  3188         	fcall	_runFuncPtr
  4883                           
  4884                           ;main.c: 735: }
  4885  090D  2944               	goto	l6827
  4886  090E                     l6809:	
  4887                           
  4888                           ;main.c: 736: else if(whichBtn == 3){
  4889  090E  085F               	movf	main@whichBtn^(0+128),w
  4890  090F  3A03               	xorlw	3
  4891  0910  1D03               	skipz
  4892  0911  2919               	goto	l6813
  4893                           
  4894                           ;main.c: 738: runFuncPtr(3, mode, 0);
  4895  0912  0860               	movf	main@mode^(0+128),w
  4896  0913  00D4               	movwf	?_runFuncPtr^(0+128)
  4897  0914  3003               	movlw	3
  4898  0915  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4899  0916  2148  3188         	fcall	_runFuncPtr
  4900                           
  4901                           ;main.c: 739: }
  4902  0918  2944               	goto	l6827
  4903  0919                     l6813:	
  4904                           
  4905                           ;main.c: 740: else if(whichBtn == 2){
  4906  0919  085F               	movf	main@whichBtn^(0+128),w
  4907  091A  3A02               	xorlw	2
  4908  091B  1D03               	skipz
  4909  091C  2924               	goto	l6817
  4910                           
  4911                           ;main.c: 742: runFuncPtr(4, mode, 0);
  4912  091D  0860               	movf	main@mode^(0+128),w
  4913  091E  00D4               	movwf	?_runFuncPtr^(0+128)
  4914  091F  3004               	movlw	4
  4915  0920  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4916  0921  2148  3188         	fcall	_runFuncPtr
  4917                           
  4918                           ;main.c: 743: }
  4919  0923  2944               	goto	l6827
  4920  0924                     l6817:	
  4921                           
  4922                           ;main.c: 744: else if(whichBtn == 0){
  4923  0924  08DF               	movf	main@whichBtn^(0+128),f
  4924  0925  1D03               	skipz
  4925  0926  2944               	goto	l6827
  4926                           
  4927                           ;main.c: 746: if(mode == 0){
  4928  0927  08E0               	movf	main@mode^(0+128),f
  4929  0928  1D03               	skipz
  4930  0929  2937               	goto	l6823
  4931                           
  4932                           ;main.c: 748: mode = runFuncPtr(1, mode, 0);
  4933  092A  0860               	movf	main@mode^(0+128),w
  4934  092B  00D4               	movwf	?_runFuncPtr^(0+128)
  4935  092C  3001               	movlw	1
  4936  092D  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4937  092E  2148  3188         	fcall	_runFuncPtr
  4938  0930  00E0               	movwf	main@mode^(0+128)
  4939                           
  4940                           ;main.c: 749: runFuncPtr(0, mode, 0);
  4941  0931  00D4               	movwf	?_runFuncPtr^(0+128)
  4942  0932  3000               	movlw	0
  4943  0933  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4944  0934  2148  3188         	fcall	_runFuncPtr
  4945                           
  4946                           ;main.c: 750: }
  4947  0936  2944               	goto	l6827
  4948  0937                     l6823:	
  4949                           
  4950                           ;main.c: 751: else{
  4951                           ;main.c: 753: runFuncPtr(1, mode, 0);
  4952  0937  0860               	movf	main@mode^(0+128),w
  4953  0938  00D4               	movwf	?_runFuncPtr^(0+128)
  4954  0939  3001               	movlw	1
  4955  093A  01D5               	clrf	(?_runFuncPtr^(0+128)+1)
  4956  093B  2148  3188         	fcall	_runFuncPtr
  4957                           
  4958                           ;main.c: 754: runFuncPtr(0, 0, mode);
  4959  093D  01D4               	clrf	?_runFuncPtr^(0+128)
  4960  093E  0860               	movf	main@mode^(0+128),w
  4961  093F  00D5               	movwf	(?_runFuncPtr^(0+128)+1)
  4962  0940  3000               	movlw	0
  4963  0941  2148  3188         	fcall	_runFuncPtr
  4964                           
  4965                           ;main.c: 755: mode = 0;
  4966  0943  01E0               	clrf	main@mode^(0+128)
  4967  0944                     l6827:	
  4968                           
  4969                           ;main.c: 756: }
  4970                           ;main.c: 757: }
  4971                           ;main.c: 758: }
  4972                           ;main.c: 759: rxStart();
  4973  0944  21BE  3188         	fcall	_rxStart
  4974  0946  28A2               	goto	l6769
  4975  0947                     l1352:	
  4976  0947  2947               	goto	l1352
  4977  0948                     __end_of_main:	
  4978  0948                     __ptext1603:	
  4979 ;; =============== function _main ends ============
  4980                           
  4981                           
  4982 ;; *************** function _runFuncPtr *****************
  4983 ;; Defined at:
  4984 ;;		line 675 in file "Z:\pic\irRX\main.c"
  4985 ;; Parameters:    Size  Location     Type
  4986 ;;  funcIdx         1    wreg     unsigned char 
  4987 ;;  curMode         1    2[BANK1 ] unsigned char 
  4988 ;;  arg             1    3[BANK1 ] unsigned char 
  4989 ;; Auto vars:     Size  Location     Type
  4990 ;;  funcIdx         1    4[BANK1 ] unsigned char 
  4991 ;;  f               1    7[BANK1 ] PTR FTN(unsigned char ,)
  4992 ;;		 -> Absolute function(1), mFadeRun(1), mFadeDataInit(1), mFadeO(1), 
  4993 ;;		 -> mFadeDown(1), mFadeUp(1), mFadeDestr(1), mFadeInit(1), 
  4994 ;;		 -> mSolidDataInit(1), mSolidO(1), mSolidDown(1), mSolidUp(1), 
  4995 ;;		 -> mSolidDestr(1), mSolidInit(1), mOffO(1), mOffDown(1), 
  4996 ;;		 -> mOffUp(1), mOffDataInit(1), mOffDestr(1), mOffInit(1), 
  4997 ;; Return value:  Size  Location     Type
  4998 ;;                  1    wreg      unsigned char 
  4999 ;; Registers used:
  5000 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  5001 ;; Tracked objects:
  5002 ;;		On entry : 1F/1
  5003 ;;		On exit  : 1F/1
  5004 ;;		Unchanged: 0/0
  5005 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5006 ;;      Params:         0       0       2       0
  5007 ;;      Locals:         0       0       4       0
  5008 ;;      Temps:          0       0       0       0
  5009 ;;      Totals:         0       0       6       0
  5010 ;;Total ram usage:        6 bytes
  5011 ;; Hardware stack levels used:    1
  5012 ;; Hardware stack levels required when called:    7
  5013 ;; This function calls:
  5014 ;;		___bmul
  5015 ;;		Absolute function
  5016 ;;		_mFadeRun
  5017 ;;		_mFadeDataInit
  5018 ;;		_mFadeO
  5019 ;;		_mFadeDown
  5020 ;;		_mFadeUp
  5021 ;;		_mFadeDestr
  5022 ;;		_mFadeInit
  5023 ;;		_mSolidDataInit
  5024 ;;		_mSolidO
  5025 ;;		_mSolidDown
  5026 ;;		_mSolidUp
  5027 ;;		_mSolidDestr
  5028 ;;		_mSolidInit
  5029 ;;		_mOffO
  5030 ;;		_mOffDown
  5031 ;;		_mOffUp
  5032 ;;		_mOffDataInit
  5033 ;;		_mOffDestr
  5034 ;;		_mOffInit
  5035 ;; This function is called by:
  5036 ;;		_main
  5037 ;; This function uses a non-reentrant model
  5038 ;;
  5039  0948                     _runFuncPtr:	
  5040                           
  5041                           ; Regs used in _runFuncPtr: [allreg]
  5042                           ;runFuncPtr@funcIdx stored from wreg
  5043  0948  00D6               	movwf	runFuncPtr@funcIdx^(0+128)
  5044                           
  5045                           ;main.c: 677: modeFunc f = gModeFns[curMode][funcIdx];
  5046  0949  3007               	movlw	7
  5047  094A  0020               	movlb	0	; select bank0
  5048  094B  00A0               	movwf	?___bmul
  5049  094C  0021               	movlb	1	; select bank1
  5050  094D  0854               	movf	runFuncPtr@curMode^(0+128),w
  5051  094E  22F4               	fcall	___bmul
  5052  094F  3EC5               	addlw	low (_gModeFns| (0+32768))
  5053  0950  0021               	movlb	1	; select bank1
  5054  0951  0756               	addwf	runFuncPtr@funcIdx^(0+128),w
  5055  0952  3180               	movlp	high __stringtab
  5056  0953  000A               	callw
  5057  0954  3188               	pagesel	$
  5058  0955  00D9               	movwf	runFuncPtr@f^(0+128)
  5059                           
  5060                           ;main.c: 679: return f ? f(arg) : 0;
  5061  0956  08D9               	movf	runFuncPtr@f^(0+128),f
  5062  0957  1D03               	skipz
  5063  0958  295B               	goto	l6739
  5064  0959  01D7               	clrf	_runFuncPtr$2127^(0+128)
  5065  095A  2964               	goto	L1
  5066  095B                     l6739:	
  5067  095B  0855               	movf	runFuncPtr@arg^(0+128),w
  5068  095C  0020               	movlb	0	; select bank0
  5069  095D  00EA               	movwf	?_mFadeRun
  5070  095E  0021               	movlb	1	; select bank1
  5071  095F  0859               	movf	runFuncPtr@f^(0+128),w
  5072  0960  3181  2100         	fcall	fptable
  5073  0962  0021               	movlb	1	; select bank1
  5074  0963  00D7               	movwf	_runFuncPtr$2127^(0+128)
  5075  0964                     L1:	
  5076  0964  01D8               	clrf	(_runFuncPtr$2127+1)^(0+128)
  5077  0965  0857               	movf	_runFuncPtr$2127^(0+128),w
  5078  0966  0008               	return
  5079  0967                     __end_of_runFuncPtr:	
  5080  0967                     __ptext1610:	
  5081 ;; =============== function _mFadeInit ends ============
  5082                           
  5083                           
  5084 ;; *************** function _mSolidDataInit *****************
  5085 ;; Defined at:
  5086 ;;		line 453 in file "Z:\pic\irRX\main.c"
  5087 ;; Parameters:    Size  Location     Type
  5088 ;;  arg             1   74[BANK0 ] unsigned char 
  5089 ;; Auto vars:     Size  Location     Type
  5090 ;;		None
  5091 ;; Return value:  Size  Location     Type
  5092 ;;                  1    wreg      unsigned char 
  5093 ;; Registers used:
  5094 ;;		wreg, status,2, status,0, pclath, cstack
  5095 ;; Tracked objects:
  5096 ;;		On entry : 1F/1
  5097 ;;		On exit  : 1F/3
  5098 ;;		Unchanged: FFE00/0
  5099 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5100 ;;      Params:         0       1       0       0
  5101 ;;      Locals:         0       0       0       0
  5102 ;;      Temps:          0       0       0       0
  5103 ;;      Totals:         0       1       0       0
  5104 ;;Total ram usage:        1 bytes
  5105 ;; Hardware stack levels used:    1
  5106 ;; Hardware stack levels required when called:    2
  5107 ;; This function calls:
  5108 ;;		_eeWrite
  5109 ;; This function is called by:
  5110 ;;		_runFuncPtr
  5111 ;; This function uses a non-reentrant model
  5112 ;;
  5113  0967                     _mSolidDataInit:	
  5114                           
  5115                           ;main.c: 455: eeWrite(0xC5, 5);
  5116                           
  5117                           ; Regs used in _mSolidDataInit: [wreg+status,2+status,0+pclath+cstack]
  5118  0967  3005               	movlw	5
  5119  0968  0020               	movlb	0	; select bank0
  5120  0969  00A0               	movwf	?_eeWrite
  5121  096A  30C5               	movlw	197
  5122  096B  2197  3188         	fcall	_eeWrite
  5123                           
  5124                           ;main.c: 456: eeWrite(0xC6, 5);
  5125  096D  3005               	movlw	5
  5126  096E  0020               	movlb	0	; select bank0
  5127  096F  00A0               	movwf	?_eeWrite
  5128  0970  30C6               	movlw	198
  5129  0971  2197  3188         	fcall	_eeWrite
  5130                           
  5131                           ;main.c: 457: eeWrite(0xC7, 5);
  5132  0973  3005               	movlw	5
  5133  0974  0020               	movlb	0	; select bank0
  5134  0975  00A0               	movwf	?_eeWrite
  5135  0976  30C7               	movlw	199
  5136  0977  2197  3188         	fcall	_eeWrite
  5137                           
  5138                           ;main.c: 458: eeWrite(0xC8, 100);
  5139  0979  3064               	movlw	100
  5140  097A  0020               	movlb	0	; select bank0
  5141  097B  00A0               	movwf	?_eeWrite
  5142  097C  30C8               	movlw	200
  5143  097D  2197               	fcall	_eeWrite
  5144                           
  5145                           ;main.c: 460: return 0;
  5146  097E  3400               	retlw	0
  5147  097F                     __end_of_mSolidDataInit:	
  5148  097F                     __ptext1614:	
  5149 ;; =============== function _mSolidUp ends ============
  5150                           
  5151                           
  5152 ;; *************** function _mSolidDestr *****************
  5153 ;; Defined at:
  5154 ;;		line 395 in file "Z:\pic\irRX\main.c"
  5155 ;; Parameters:    Size  Location     Type
  5156 ;;  arg             1   74[BANK0 ] unsigned char 
  5157 ;; Auto vars:     Size  Location     Type
  5158 ;;		None
  5159 ;; Return value:  Size  Location     Type
  5160 ;;                  1    wreg      unsigned char 
  5161 ;; Registers used:
  5162 ;;		wreg, status,2, status,0, pclath, cstack
  5163 ;; Tracked objects:
  5164 ;;		On entry : 1F/1
  5165 ;;		On exit  : 1F/3
  5166 ;;		Unchanged: FFE00/0
  5167 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5168 ;;      Params:         0       1       0       0
  5169 ;;      Locals:         0       0       0       0
  5170 ;;      Temps:          0       0       0       0
  5171 ;;      Totals:         0       1       0       0
  5172 ;;Total ram usage:        1 bytes
  5173 ;; Hardware stack levels used:    1
  5174 ;; Hardware stack levels required when called:    2
  5175 ;; This function calls:
  5176 ;;		_eeWrite
  5177 ;; This function is called by:
  5178 ;;		_runFuncPtr
  5179 ;; This function uses a non-reentrant model
  5180 ;;
  5181  097F                     _mSolidDestr:	
  5182                           
  5183                           ;main.c: 397: eeWrite(0xC5, gLed[0]);
  5184                           
  5185                           ; Regs used in _mSolidDestr: [wreg+status,2+status,0+pclath+cstack]
  5186  097F  0875               	movf	_gLed,w
  5187  0980  0020               	movlb	0	; select bank0
  5188  0981  00A0               	movwf	?_eeWrite
  5189  0982  30C5               	movlw	197
  5190  0983  2197  3188         	fcall	_eeWrite
  5191                           
  5192                           ;main.c: 398: eeWrite(0xC6, gLed[1]);
  5193  0985  0876               	movf	_gLed+1,w
  5194  0986  0020               	movlb	0	; select bank0
  5195  0987  00A0               	movwf	?_eeWrite
  5196  0988  30C6               	movlw	198
  5197  0989  2197  3188         	fcall	_eeWrite
  5198                           
  5199                           ;main.c: 399: eeWrite(0xC7, gLed[2]);
  5200  098B  0877               	movf	_gLed+2,w
  5201  098C  0020               	movlb	0	; select bank0
  5202  098D  00A0               	movwf	?_eeWrite
  5203  098E  30C7               	movlw	199
  5204  098F  2197  3188         	fcall	_eeWrite
  5205                           
  5206                           ;main.c: 400: eeWrite(0xC8, gLed[3]);
  5207  0991  0878               	movf	_gLed+3,w
  5208  0992  0020               	movlb	0	; select bank0
  5209  0993  00A0               	movwf	?_eeWrite
  5210  0994  30C8               	movlw	200
  5211  0995  2197               	fcall	_eeWrite
  5212                           
  5213                           ;main.c: 402: return 0;
  5214  0996  3400               	retlw	0
  5215  0997                     __end_of_mSolidDestr:	
  5216  0997                     __ptext1658:	
  5217 ;; =============== function _rxStart ends ============
  5218                           
  5219                           
  5220 ;; *************** function _eeWrite *****************
  5221 ;; Defined at:
  5222 ;;		line 44 in file "Z:\pic\irRX\main.c"
  5223 ;; Parameters:    Size  Location     Type
  5224 ;;  addr            1    wreg     unsigned char 
  5225 ;;  data            1    0[BANK0 ] unsigned char 
  5226 ;; Auto vars:     Size  Location     Type
  5227 ;;  addr            1    2[BANK0 ] unsigned char 
  5228 ;; Return value:  Size  Location     Type
  5229 ;;		None               void
  5230 ;; Registers used:
  5231 ;;		wreg, status,2, status,0
  5232 ;; Tracked objects:
  5233 ;;		On entry : 1E/0
  5234 ;;		On exit  : 1F/3
  5235 ;;		Unchanged: FFE00/0
  5236 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5237 ;;      Params:         0       1       0       0
  5238 ;;      Locals:         0       1       0       0
  5239 ;;      Temps:          0       1       0       0
  5240 ;;      Totals:         0       3       0       0
  5241 ;;Total ram usage:        3 bytes
  5242 ;; Hardware stack levels used:    1
  5243 ;; Hardware stack levels required when called:    1
  5244 ;; This function calls:
  5245 ;;		Nothing
  5246 ;; This function is called by:
  5247 ;;		_log
  5248 ;;		_mOffInit
  5249 ;;		_mOffDataInit
  5250 ;;		_mSolidDestr
  5251 ;;		_mSolidDataInit
  5252 ;;		_mFadeDestr
  5253 ;;		_mFadeDataInit
  5254 ;;		_main
  5255 ;; This function uses a non-reentrant model
  5256 ;;
  5257  0997                     _eeWrite:	
  5258                           
  5259                           ; Regs used in _eeWrite: [wreg+status,2+status,0]
  5260                           ;eeWrite@addr stored from wreg
  5261  0997  0020               	movlb	0	; select bank0
  5262  0998  00A2               	movwf	eeWrite@addr
  5263                           
  5264                           ;main.c: 46: static bit gie;
  5265                           ;main.c: 48: EECON1= 0b00000100;
  5266  0999  3004               	movlw	4
  5267  099A  0023               	movlb	3	; select bank3
  5268  099B  0095               	movwf	21	;volatile
  5269                           
  5270                           ;main.c: 49: EEADRL = addr;
  5271  099C  0020               	movlb	0	; select bank0
  5272  099D  0822               	movf	eeWrite@addr,w
  5273  099E  0023               	movlb	3	; select bank3
  5274  099F  0091               	movwf	17	;volatile
  5275                           
  5276                           ;main.c: 50: EEDATL = data;
  5277  09A0  0020               	movlb	0	; select bank0
  5278  09A1  0820               	movf	eeWrite@data,w
  5279  09A2  0023               	movlb	3	; select bank3
  5280  09A3  0093               	movwf	19	;volatile
  5281                           
  5282                           ;main.c: 51: gie = GIE;
  5283  09A4  1179               	bcf	eeWrite@gie/(0+8),eeWrite@gie& (0+7)
  5284  09A5  1B8B               	btfsc	11,7
  5285  09A6  1579               	bsf	eeWrite@gie/(0+8),eeWrite@gie& (0+7)
  5286                           
  5287                           ;main.c: 52: INTCONbits.GIE = 0;
  5288  09A7  138B               	bcf	11,7	;volatile
  5289                           
  5290                           ;main.c: 53: EECON2 = 0x55;
  5291  09A8  3055               	movlw	85
  5292  09A9  0023               	movlb	3	; select bank3
  5293  09AA  0096               	movwf	22	;volatile
  5294                           
  5295                           ;main.c: 54: EECON2 = 0xAA;
  5296  09AB  30AA               	movlw	170
  5297  09AC  0096               	movwf	22	;volatile
  5298                           
  5299                           ;main.c: 55: EECON1bits.WR = 1;
  5300  09AD  1495               	bsf	21,1	;volatile
  5301                           
  5302                           ;main.c: 56: INTCONbits.GIE = gie;
  5303  09AE  3000               	movlw	0
  5304  09AF  1979               	btfsc	eeWrite@gie/(0+8),eeWrite@gie& (0+7)
  5305  09B0  3001               	movlw	1
  5306  09B1  0020               	movlb	0	; select bank0
  5307  09B2  00A1               	movwf	??_eeWrite
  5308  09B3  0CA1               	rrf	??_eeWrite,f
  5309  09B4  0CA1               	rrf	??_eeWrite,f
  5310  09B5  080B               	movf	11,w	;volatile
  5311  09B6  0621               	xorwf	??_eeWrite,w
  5312  09B7  397F               	andlw	-129
  5313  09B8  0621               	xorwf	??_eeWrite,w
  5314  09B9  008B               	movwf	11	;volatile
  5315  09BA                     l1124:	
  5316                           ;main.c: 57: while(EECON1bits.WR);
  5317                           
  5318  09BA  0023               	movlb	3	; select bank3
  5319  09BB  1C95               	btfss	21,1	;volatile
  5320  09BC  0008               	return
  5321  09BD  29BA               	goto	l1124
  5322  09BE                     __end_of_eeWrite:	
  5323  09BE                     __ptext1657:	
  5324 ;; =============== function _rxDecode ends ============
  5325                           
  5326                           
  5327 ;; *************** function _rxStart *****************
  5328 ;; Defined at:
  5329 ;;		line 67 in file "Z:\pic\irRX\main.c"
  5330 ;; Parameters:    Size  Location     Type
  5331 ;;		None
  5332 ;; Auto vars:     Size  Location     Type
  5333 ;;  i               1    0[BANK0 ] unsigned char 
  5334 ;; Return value:  Size  Location     Type
  5335 ;;		None               void
  5336 ;; Registers used:
  5337 ;;		wreg, fsr1l, fsr1h, status,2, status,0
  5338 ;; Tracked objects:
  5339 ;;		On entry : 1D/1
  5340 ;;		On exit  : 1F/5
  5341 ;;		Unchanged: FFFE0/0
  5342 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5343 ;;      Params:         0       0       0       0
  5344 ;;      Locals:         0       1       0       0
  5345 ;;      Temps:          0       0       0       0
  5346 ;;      Totals:         0       1       0       0
  5347 ;;Total ram usage:        1 bytes
  5348 ;; Hardware stack levels used:    1
  5349 ;; Hardware stack levels required when called:    1
  5350 ;; This function calls:
  5351 ;;		Nothing
  5352 ;; This function is called by:
  5353 ;;		_main
  5354 ;; This function uses a non-reentrant model
  5355 ;;
  5356  09BE                     _rxStart:	
  5357                           
  5358                           ;main.c: 69: UInt8 i;
  5359                           ;main.c: 71: for(i = 0; i < sizeof(gRxData); i++) gRxData[i] = 0;
  5360                           
  5361                           ; Regs used in _rxStart: [wreg+fsr1l-status,0]
  5362  09BE  0020               	movlb	0	; select bank0
  5363  09BF  01A0               	clrf	rxStart@i
  5364  09C0                     l5505:	
  5365  09C0  0820               	movf	rxStart@i,w
  5366  09C1  3EB2               	addlw	_gRxData& (0+255)
  5367  09C2  0086               	movwf	6
  5368  09C3  3020               	movlw	32
  5369  09C4  0187               	clrf	7
  5370  09C5  0181               	clrf	1
  5371  09C6  0AA0               	incf	rxStart@i,f
  5372  09C7  0220               	subwf	rxStart@i,w
  5373  09C8  1C03               	skipc
  5374  09C9  29C0               	goto	l5505
  5375                           
  5376                           ;main.c: 72: gRxPos = 0;
  5377  09CA  0021               	movlb	1	; select bank1
  5378  09CB  3080               	movlw	128
  5379  09CC  01B1               	clrf	_gRxPos^(0+128)
  5380                           
  5381                           ;main.c: 73: gRxMask = 0x80;
  5382  09CD  00B0               	movwf	_gRxMask^(0+128)
  5383                           
  5384                           ;main.c: 74: gRxDone = 0;
  5385  09CE  10F9               	bcf	_gRxDone/(0+8),_gRxDone& (0+7)
  5386                           
  5387                           ;main.c: 76: gIntFirstEdgeSeen = 0;
  5388  09CF  1079               	bcf	_gIntFirstEdgeSeen/(0+8),_gIntFirstEdgeSeen& (0+7)
  5389                           
  5390                           ;main.c: 78: CCP1IF = 0;
  5391  09D0  0020               	movlb	0	; select bank0
  5392  09D1  1111               	bcf	17,2
  5393                           
  5394                           ;main.c: 79: CCP1IE = 1;
  5395  09D2  0021               	movlb	1	; select bank1
  5396  09D3  1511               	bsf	17,2
  5397                           
  5398                           ;main.c: 80: TMR2ON = 0;
  5399  09D4  0020               	movlb	0	; select bank0
  5400  09D5  111C               	bcf	28,2
  5401                           
  5402                           ;main.c: 81: TMR2IE = 1;
  5403  09D6  0021               	movlb	1	; select bank1
  5404  09D7  1491               	bsf	17,1
  5405                           
  5406                           ;main.c: 82: TMR2IF = 0;
  5407  09D8  0020               	movlb	0	; select bank0
  5408  09D9  3004               	movlw	4
  5409  09DA  1091               	bcf	17,1
  5410                           
  5411                           ;main.c: 83: CCP1CON = 0b00000100;
  5412  09DB  0025               	movlb	5	; select bank5
  5413  09DC  0093               	movwf	19	;volatile
  5414  09DD  0008               	return
  5415  09DE                     __end_of_rxStart:	
  5416  09DE                     __ptext1655:	
  5417 ;; =============== function _getU16 ends ============
  5418                           
  5419                           
  5420 ;; *************** function _getU32 *****************
  5421 ;; Defined at:
  5422 ;;		line 110 in file "Z:\pic\irRX\main.c"
  5423 ;; Parameters:    Size  Location     Type
  5424 ;;  t               1    wreg     PTR unsigned char 
  5425 ;;		 -> gRxData(32), 
  5426 ;; Auto vars:     Size  Location     Type
  5427 ;;  t               1   12[BANK0 ] PTR unsigned char 
  5428 ;;		 -> gRxData(32), 
  5429 ;;  v               4   13[BANK0 ] unsigned long 
  5430 ;; Return value:  Size  Location     Type
  5431 ;;                  4    0[BANK0 ] unsigned long 
  5432 ;; Registers used:
  5433 ;;		wreg, fsr1l, fsr1h
  5434 ;; Tracked objects:
  5435 ;;		On entry : 1E/1
  5436 ;;		On exit  : 1F/0
  5437 ;;		Unchanged: FFFE0/0
  5438 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5439 ;;      Params:         0       4       0       0
  5440 ;;      Locals:         0       5       0       0
  5441 ;;      Temps:          0       8       0       0
  5442 ;;      Totals:         0      17       0       0
  5443 ;;Total ram usage:       17 bytes
  5444 ;; Hardware stack levels used:    1
  5445 ;; Hardware stack levels required when called:    1
  5446 ;; This function calls:
  5447 ;;		Nothing
  5448 ;; This function is called by:
  5449 ;;		_main
  5450 ;; This function uses a non-reentrant model
  5451 ;;
  5452  09DE                     _getU32:	
  5453                           
  5454                           ; Regs used in _getU32: [wregfsr1]
  5455                           ;getU32@t stored from wreg
  5456  09DE  0020               	movlb	0	; select bank0
  5457  09DF  00AC               	movwf	getU32@t
  5458                           
  5459                           ;main.c: 112: UInt32 v = t[3];
  5460  09E0  3E03               	addlw	3
  5461  09E1  0086               	movwf	6
  5462  09E2  0187               	clrf	7
  5463  09E3  0801               	movf	1,w
  5464  09E4  00AD               	movwf	getU32@v
  5465  09E5  01AE               	clrf	getU32@v+1
  5466  09E6  01AF               	clrf	getU32@v+2
  5467  09E7  01B0               	clrf	getU32@v+3
  5468                           
  5469                           ;main.c: 114: v = (v << 8) | t[2];
  5470  09E8  082C               	movf	getU32@t,w
  5471  09E9  3E02               	addlw	2
  5472  09EA  0086               	movwf	6
  5473  09EB  0801               	movf	1,w
  5474  09EC  00A4               	movwf	??_getU32
  5475  09ED  01A5               	clrf	??_getU32+1
  5476  09EE  01A6               	clrf	??_getU32+2
  5477  09EF  01A7               	clrf	??_getU32+3
  5478  09F0  082D               	movf	getU32@v,w
  5479  09F1  00A8               	movwf	??_getU32+4
  5480  09F2  082E               	movf	getU32@v+1,w
  5481  09F3  00A9               	movwf	??_getU32+5
  5482  09F4  082F               	movf	getU32@v+2,w
  5483  09F5  00AA               	movwf	??_getU32+6
  5484  09F6  0830               	movf	getU32@v+3,w
  5485  09F7  00AB               	movwf	??_getU32+7
  5486  09F8  082A               	movf	??_getU32+6,w
  5487  09F9  00AB               	movwf	??_getU32+7
  5488  09FA  0829               	movf	??_getU32+5,w
  5489  09FB  00AA               	movwf	??_getU32+6
  5490  09FC  0828               	movf	??_getU32+4,w
  5491  09FD  00A9               	movwf	??_getU32+5
  5492  09FE  01A8               	clrf	??_getU32+4
  5493  09FF  0824               	movf	??_getU32,w
  5494  0A00  0428               	iorwf	??_getU32+4,w
  5495  0A01  00AD               	movwf	getU32@v
  5496  0A02  0825               	movf	??_getU32+1,w
  5497  0A03  0429               	iorwf	??_getU32+5,w
  5498  0A04  00AE               	movwf	getU32@v+1
  5499  0A05  0826               	movf	??_getU32+2,w
  5500  0A06  042A               	iorwf	??_getU32+6,w
  5501  0A07  00AF               	movwf	getU32@v+2
  5502  0A08  0827               	movf	??_getU32+3,w
  5503  0A09  042B               	iorwf	??_getU32+7,w
  5504  0A0A  00B0               	movwf	getU32@v+3
  5505                           
  5506                           ;main.c: 115: v = (v << 8) | t[1];
  5507  0A0B  082C               	movf	getU32@t,w
  5508  0A0C  3E01               	addlw	1
  5509  0A0D  0086               	movwf	6
  5510  0A0E  0801               	movf	1,w
  5511  0A0F  00A4               	movwf	??_getU32
  5512  0A10  01A5               	clrf	??_getU32+1
  5513  0A11  01A6               	clrf	??_getU32+2
  5514  0A12  01A7               	clrf	??_getU32+3
  5515  0A13  082D               	movf	getU32@v,w
  5516  0A14  00A8               	movwf	??_getU32+4
  5517  0A15  082E               	movf	getU32@v+1,w
  5518  0A16  00A9               	movwf	??_getU32+5
  5519  0A17  082F               	movf	getU32@v+2,w
  5520  0A18  00AA               	movwf	??_getU32+6
  5521  0A19  0830               	movf	getU32@v+3,w
  5522  0A1A  00AB               	movwf	??_getU32+7
  5523  0A1B  082A               	movf	??_getU32+6,w
  5524  0A1C  00AB               	movwf	??_getU32+7
  5525  0A1D  0829               	movf	??_getU32+5,w
  5526  0A1E  00AA               	movwf	??_getU32+6
  5527  0A1F  0828               	movf	??_getU32+4,w
  5528  0A20  00A9               	movwf	??_getU32+5
  5529  0A21  01A8               	clrf	??_getU32+4
  5530  0A22  0824               	movf	??_getU32,w
  5531  0A23  0428               	iorwf	??_getU32+4,w
  5532  0A24  00AD               	movwf	getU32@v
  5533  0A25  0825               	movf	??_getU32+1,w
  5534  0A26  0429               	iorwf	??_getU32+5,w
  5535  0A27  00AE               	movwf	getU32@v+1
  5536  0A28  0826               	movf	??_getU32+2,w
  5537  0A29  042A               	iorwf	??_getU32+6,w
  5538  0A2A  00AF               	movwf	getU32@v+2
  5539  0A2B  0827               	movf	??_getU32+3,w
  5540  0A2C  042B               	iorwf	??_getU32+7,w
  5541  0A2D  00B0               	movwf	getU32@v+3
  5542                           
  5543                           ;main.c: 116: v = (v << 8) | t[0];
  5544  0A2E  082C               	movf	getU32@t,w
  5545  0A2F  0086               	movwf	6
  5546  0A30  0801               	movf	1,w
  5547  0A31  00A4               	movwf	??_getU32
  5548  0A32  01A5               	clrf	??_getU32+1
  5549  0A33  01A6               	clrf	??_getU32+2
  5550  0A34  01A7               	clrf	??_getU32+3
  5551  0A35  082D               	movf	getU32@v,w
  5552  0A36  00A8               	movwf	??_getU32+4
  5553  0A37  082E               	movf	getU32@v+1,w
  5554  0A38  00A9               	movwf	??_getU32+5
  5555  0A39  082F               	movf	getU32@v+2,w
  5556  0A3A  00AA               	movwf	??_getU32+6
  5557  0A3B  0830               	movf	getU32@v+3,w
  5558  0A3C  00AB               	movwf	??_getU32+7
  5559  0A3D  082A               	movf	??_getU32+6,w
  5560  0A3E  00AB               	movwf	??_getU32+7
  5561  0A3F  0829               	movf	??_getU32+5,w
  5562  0A40  00AA               	movwf	??_getU32+6
  5563  0A41  0828               	movf	??_getU32+4,w
  5564  0A42  00A9               	movwf	??_getU32+5
  5565  0A43  01A8               	clrf	??_getU32+4
  5566  0A44  0824               	movf	??_getU32,w
  5567  0A45  0428               	iorwf	??_getU32+4,w
  5568  0A46  00AD               	movwf	getU32@v
  5569  0A47  0825               	movf	??_getU32+1,w
  5570  0A48  0429               	iorwf	??_getU32+5,w
  5571  0A49  00AE               	movwf	getU32@v+1
  5572  0A4A  0826               	movf	??_getU32+2,w
  5573  0A4B  042A               	iorwf	??_getU32+6,w
  5574  0A4C  00AF               	movwf	getU32@v+2
  5575  0A4D  0827               	movf	??_getU32+3,w
  5576  0A4E  042B               	iorwf	??_getU32+7,w
  5577  0A4F  00B0               	movwf	getU32@v+3
  5578                           
  5579                           ;main.c: 118: return v;
  5580  0A50  00A3               	movwf	?_getU32+3
  5581  0A51  082F               	movf	getU32@v+2,w
  5582  0A52  00A2               	movwf	?_getU32+2
  5583  0A53  082E               	movf	getU32@v+1,w
  5584  0A54  00A1               	movwf	?_getU32+1
  5585  0A55  082D               	movf	getU32@v,w
  5586  0A56  00A0               	movwf	?_getU32
  5587  0A57  0008               	return
  5588  0A58                     __end_of_getU32:	
  5589  0A58                     __ptext1615:	
  5590 ;; =============== function _mSolidDestr ends ============
  5591                           
  5592                           
  5593 ;; *************** function _mSolidInit *****************
  5594 ;; Defined at:
  5595 ;;		line 383 in file "Z:\pic\irRX\main.c"
  5596 ;; Parameters:    Size  Location     Type
  5597 ;;  arg             1   74[BANK0 ] unsigned char 
  5598 ;; Auto vars:     Size  Location     Type
  5599 ;;		None
  5600 ;; Return value:  Size  Location     Type
  5601 ;;                  1    wreg      unsigned char 
  5602 ;; Registers used:
  5603 ;;		wreg, status,2, pclath, cstack
  5604 ;; Tracked objects:
  5605 ;;		On entry : 1F/1
  5606 ;;		On exit  : 1F/1
  5607 ;;		Unchanged: FFFE0/0
  5608 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5609 ;;      Params:         0       1       0       0
  5610 ;;      Locals:         0       0       0       0
  5611 ;;      Temps:          0       0       0       0
  5612 ;;      Totals:         0       1       0       0
  5613 ;;Total ram usage:        1 bytes
  5614 ;; Hardware stack levels used:    1
  5615 ;; Hardware stack levels required when called:    2
  5616 ;; This function calls:
  5617 ;;		_eeRead
  5618 ;; This function is called by:
  5619 ;;		_runFuncPtr
  5620 ;; This function uses a non-reentrant model
  5621 ;;
  5622  0A58                     _mSolidInit:	
  5623                           
  5624                           ;main.c: 385: gLed[0] = eeRead(0xC5);
  5625                           
  5626                           ; Regs used in _mSolidInit: [wreg+status,2+pclath+cstack]
  5627  0A58  30C5               	movlw	197
  5628  0A59  226B  3188         	fcall	_eeRead
  5629  0A5B  00F5               	movwf	_gLed
  5630                           
  5631                           ;main.c: 386: gLed[1] = eeRead(0xC6);
  5632  0A5C  30C6               	movlw	198
  5633  0A5D  226B  3188         	fcall	_eeRead
  5634  0A5F  00F6               	movwf	_gLed+1
  5635                           
  5636                           ;main.c: 387: gLed[2] = eeRead(0xC7);
  5637  0A60  30C7               	movlw	199
  5638  0A61  226B  3188         	fcall	_eeRead
  5639  0A63  00F7               	movwf	_gLed+2
  5640                           
  5641                           ;main.c: 388: gLed[3] = eeRead(0xC8);
  5642  0A64  30C8               	movlw	200
  5643  0A65  226B               	fcall	_eeRead
  5644  0A66  00F8               	movwf	_gLed+3
  5645                           
  5646                           ;main.c: 390: tempData.solid.selector = 0;
  5647  0A67  0021               	movlb	1	; select bank1
  5648  0A68  3000               	movlw	0
  5649  0A69  01A0               	clrf	_tempData^(0+128)
  5650                           
  5651                           ;main.c: 392: return 0;
  5652  0A6A  0008               	return
  5653  0A6B                     __end_of_mSolidInit:	
  5654  0A6B                     __ptext1659:	
  5655 ;; =============== function _eeWrite ends ============
  5656                           
  5657                           
  5658 ;; *************** function _eeRead *****************
  5659 ;; Defined at:
  5660 ;;		line 36 in file "Z:\pic\irRX\main.c"
  5661 ;; Parameters:    Size  Location     Type
  5662 ;;  addr            1    wreg     unsigned char 
  5663 ;; Auto vars:     Size  Location     Type
  5664 ;;  addr            1    0[BANK0 ] unsigned char 
  5665 ;; Return value:  Size  Location     Type
  5666 ;;                  1    wreg      unsigned char 
  5667 ;; Registers used:
  5668 ;;		wreg, status,2
  5669 ;; Tracked objects:
  5670 ;;		On entry : 1D/1
  5671 ;;		On exit  : 1F/3
  5672 ;;		Unchanged: FFFE0/0
  5673 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5674 ;;      Params:         0       0       0       0
  5675 ;;      Locals:         0       1       0       0
  5676 ;;      Temps:          0       0       0       0
  5677 ;;      Totals:         0       1       0       0
  5678 ;;Total ram usage:        1 bytes
  5679 ;; Hardware stack levels used:    1
  5680 ;; Hardware stack levels required when called:    1
  5681 ;; This function calls:
  5682 ;;		Nothing
  5683 ;; This function is called by:
  5684 ;;		_mOffDestr
  5685 ;;		_mSolidInit
  5686 ;;		_mFadeInit
  5687 ;;		_main
  5688 ;; This function uses a non-reentrant model
  5689 ;;
  5690  0A6B                     _eeRead:	
  5691                           
  5692                           ; Regs used in _eeRead: [wreg+status,2]
  5693                           ;eeRead@addr stored from wreg
  5694  0A6B  0020               	movlb	0	; select bank0
  5695  0A6C  00A0               	movwf	eeRead@addr
  5696                           
  5697                           ;main.c: 38: EECON1 = 0b00000000;
  5698  0A6D  0023               	movlb	3	; select bank3
  5699  0A6E  0195               	clrf	21	;volatile
  5700                           
  5701                           ;main.c: 39: EEADRL = addr;
  5702  0A6F  0020               	movlb	0	; select bank0
  5703  0A70  0820               	movf	eeRead@addr,w
  5704  0A71  0023               	movlb	3	; select bank3
  5705  0A72  0091               	movwf	17	;volatile
  5706                           
  5707                           ;main.c: 40: EECON1bits.RD = 1;
  5708  0A73  1415               	bsf	21,0	;volatile
  5709                           
  5710                           ;main.c: 41: return EEDATL;
  5711  0A74  0813               	movf	19,w	;volatile
  5712  0A75  0008               	return
  5713  0A76                     __end_of_eeRead:	
  5714  0A76                     __ptext1656:	
  5715 ;; =============== function _getU32 ends ============
  5716                           
  5717                           
  5718 ;; *************** function _rxDecode *****************
  5719 ;; Defined at:
  5720 ;;		line 86 in file "Z:\pic\irRX\main.c"
  5721 ;; Parameters:    Size  Location     Type
  5722 ;;		None
  5723 ;; Auto vars:     Size  Location     Type
  5724 ;;  k               1    7[BANK0 ] unsigned char 
  5725 ;;  j               1    6[BANK0 ] unsigned char 
  5726 ;;  i               1    5[BANK0 ] unsigned char 
  5727 ;;  t               1    4[BANK0 ] unsigned char 
  5728 ;; Return value:  Size  Location     Type
  5729 ;;                  1    wreg      unsigned char 
  5730 ;; Registers used:
  5731 ;;		wreg, fsr1l, fsr1h, status,2, status,0
  5732 ;; Tracked objects:
  5733 ;;		On entry : 1F/1
  5734 ;;		On exit  : 1E/0
  5735 ;;		Unchanged: FFE00/0
  5736 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5737 ;;      Params:         0       0       0       0
  5738 ;;      Locals:         0       6       0       0
  5739 ;;      Temps:          0       2       0       0
  5740 ;;      Totals:         0       8       0       0
  5741 ;;Total ram usage:        8 bytes
  5742 ;; Hardware stack levels used:    1
  5743 ;; Hardware stack levels required when called:    1
  5744 ;; This function calls:
  5745 ;;		Nothing
  5746 ;; This function is called by:
  5747 ;;		_main
  5748 ;; This function uses a non-reentrant model
  5749 ;;
  5750  0A76                     _rxDecode:	
  5751                           
  5752                           ;main.c: 88: UInt8 i, j, t, k;
  5753                           ;main.c: 91: if(gRxPos < 14) return 1;
  5754                           
  5755                           ; Regs used in _rxDecode: [wreg+fsr1l-status,0]
  5756  0A76  300E               	movlw	14
  5757  0A77  0231               	subwf	_gRxPos^(0+128),w
  5758  0A78  1C03               	btfss	3,0
  5759  0A79  3401               	retlw	1
  5760                           
  5761                           ;main.c: 92: if(gRxData[0] != 0xFF) return 2;
  5762  0A7A  0832               	movf	_gRxData^(0+128),w
  5763  0A7B  3AFF               	xorlw	255
  5764  0A7C  1D03               	btfss	3,2
  5765  0A7D  3402               	retlw	2
  5766                           
  5767                           ;main.c: 93: if(gRxData[1] != 0x05) return 3;
  5768  0A7E  0833               	movf	(_gRxData^(0+128)+1),w
  5769  0A7F  3A05               	xorlw	5
  5770  0A80  1D03               	btfss	3,2
  5771  0A81  3403               	retlw	3
  5772                           
  5773                           ;main.c: 96: for(k = 0, i = 0; i < gRxPos - 3; i++){
  5774  0A82  0020               	movlb	0	; select bank0
  5775  0A83  01A7               	clrf	rxDecode@k
  5776  0A84  01A5               	clrf	rxDecode@i
  5777  0A85                     l5573:	
  5778  0A85  0021               	movlb	1	; select bank1
  5779  0A86  0831               	movf	_gRxPos^(0+128),w
  5780  0A87  3EFD               	addlw	253
  5781  0A88  0020               	movlb	0	; select bank0
  5782  0A89  00A0               	movwf	??_rxDecode
  5783  0A8A  30FF               	movlw	255
  5784  0A8B  1803               	skipnc
  5785  0A8C  3000               	movlw	0
  5786  0A8D  00A1               	movwf	??_rxDecode+1
  5787  0A8E  3A80               	xorlw	128
  5788  0A8F  3C80               	sublw	128
  5789  0A90  1D03               	skipz
  5790  0A91  2A94               	goto	u3615
  5791  0A92  0820               	movf	??_rxDecode,w
  5792  0A93  0225               	subwf	rxDecode@i,w
  5793  0A94                     u3615:	
  5794  0A94  1803               	btfsc	3,0
  5795  0A95  2AB3               	goto	l5575
  5796                           
  5797                           ;main.c: 98: t = gRxData[i + 2];
  5798  0A96  0020               	movlb	0	; select bank0
  5799  0A97  0825               	movf	rxDecode@i,w
  5800  0A98  3EB4               	addlw	(_gRxData+2)& (0+255)
  5801  0A99  0086               	movwf	6
  5802  0A9A  0187               	clrf	7
  5803  0A9B  0801               	movf	1,w
  5804  0A9C  00A4               	movwf	rxDecode@t
  5805                           
  5806                           ;main.c: 99: for(j = 0; j < 8; j++, t <<= 1){
  5807  0A9D  01A6               	clrf	rxDecode@j
  5808  0A9E                     l5559:	
  5809                           
  5810                           ;main.c: 101: k = (k << 1) ^ (((t ^ k) & 0x80) ? 0x83 : 0);
  5811  0A9E  0827               	movf	rxDecode@k,w
  5812  0A9F  0624               	xorwf	rxDecode@t,w
  5813  0AA0  00A0               	movwf	??_rxDecode
  5814  0AA1  1BA0               	btfsc	??_rxDecode,7
  5815  0AA2  2AA5               	goto	l5563
  5816  0AA3  01A2               	clrf	_rxDecode$2016
  5817  0AA4  2AA7               	goto	L16
  5818  0AA5                     l5563:	
  5819  0AA5  3083               	movlw	131
  5820  0AA6  00A2               	movwf	_rxDecode$2016
  5821  0AA7                     L16:	
  5822  0AA7  01A3               	clrf	_rxDecode$2016+1
  5823  0AA8  3527               	lslf	rxDecode@k,w
  5824  0AA9  0622               	xorwf	_rxDecode$2016,w
  5825  0AAA  00A7               	movwf	rxDecode@k
  5826  0AAB  3008               	movlw	8
  5827  0AAC  0AA6               	incf	rxDecode@j,f
  5828  0AAD  35A4               	lslf	rxDecode@t,f
  5829  0AAE  0226               	subwf	rxDecode@j,w
  5830  0AAF  1C03               	skipc
  5831  0AB0  2A9E               	goto	l5559
  5832  0AB1  0AA5               	incf	rxDecode@i,f
  5833  0AB2  2A85               	goto	l5573
  5834  0AB3                     l5575:	
  5835                           
  5836                           ;main.c: 102: }
  5837                           ;main.c: 103: }
  5838                           ;main.c: 105: if(k != gRxData[gRxPos - 1]) return 4;
  5839  0AB3  0021               	movlb	1	; select bank1
  5840  0AB4  0831               	movf	_gRxPos^(0+128),w
  5841  0AB5  3EB1               	addlw	(_gRxData+-1)& (0+255)
  5842  0AB6  0086               	movwf	6
  5843  0AB7  0187               	clrf	7
  5844  0AB8  0801               	movf	1,w
  5845  0AB9  0020               	movlb	0	; select bank0
  5846  0ABA  0627               	xorwf	rxDecode@k,w
  5847  0ABB  1D03               	btfss	3,2
  5848  0ABC  3404               	retlw	4
  5849                           
  5850                           ;main.c: 107: return 0;
  5851  0ABD  3400               	retlw	0
  5852  0ABE                     __end_of_rxDecode:	
  5853  0ABE                     __ptext1654:	
  5854 ;; =============== function _getU8 ends ============
  5855                           
  5856                           
  5857 ;; *************** function _getU16 *****************
  5858 ;; Defined at:
  5859 ;;		line 121 in file "Z:\pic\irRX\main.c"
  5860 ;; Parameters:    Size  Location     Type
  5861 ;;  t               1    wreg     PTR unsigned char 
  5862 ;;		 -> gRxData(32), 
  5863 ;; Auto vars:     Size  Location     Type
  5864 ;;  t               1   10[BANK0 ] PTR unsigned char 
  5865 ;;		 -> gRxData(32), 
  5866 ;;  v               4   11[BANK0 ] unsigned long 
  5867 ;; Return value:  Size  Location     Type
  5868 ;;                  2    0[BANK0 ] unsigned short 
  5869 ;; Registers used:
  5870 ;;		wreg, fsr1l, fsr1h
  5871 ;; Tracked objects:
  5872 ;;		On entry : 1F/1
  5873 ;;		On exit  : 1F/0
  5874 ;;		Unchanged: FFFE0/0
  5875 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5876 ;;      Params:         0       2       0       0
  5877 ;;      Locals:         0       5       0       0
  5878 ;;      Temps:          0       8       0       0
  5879 ;;      Totals:         0      15       0       0
  5880 ;;Total ram usage:       15 bytes
  5881 ;; Hardware stack levels used:    1
  5882 ;; Hardware stack levels required when called:    1
  5883 ;; This function calls:
  5884 ;;		Nothing
  5885 ;; This function is called by:
  5886 ;;		_main
  5887 ;; This function uses a non-reentrant model
  5888 ;;
  5889  0ABE                     _getU16:	
  5890                           
  5891                           ; Regs used in _getU16: [wregfsr1]
  5892                           ;getU16@t stored from wreg
  5893  0ABE  0020               	movlb	0	; select bank0
  5894  0ABF  00AA               	movwf	getU16@t
  5895                           
  5896                           ;main.c: 123: UInt32 v = t[1];
  5897  0AC0  3E01               	addlw	1
  5898  0AC1  0086               	movwf	6
  5899  0AC2  0187               	clrf	7
  5900  0AC3  0801               	movf	1,w
  5901  0AC4  00AB               	movwf	getU16@v
  5902  0AC5  01AC               	clrf	getU16@v+1
  5903  0AC6  01AD               	clrf	getU16@v+2
  5904  0AC7  01AE               	clrf	getU16@v+3
  5905                           
  5906                           ;main.c: 125: v = (v << 8) | t[0];
  5907  0AC8  082A               	movf	getU16@t,w
  5908  0AC9  0086               	movwf	6
  5909  0ACA  0801               	movf	1,w
  5910  0ACB  00A2               	movwf	??_getU16
  5911  0ACC  01A3               	clrf	??_getU16+1
  5912  0ACD  01A4               	clrf	??_getU16+2
  5913  0ACE  01A5               	clrf	??_getU16+3
  5914  0ACF  082B               	movf	getU16@v,w
  5915  0AD0  00A6               	movwf	??_getU16+4
  5916  0AD1  082C               	movf	getU16@v+1,w
  5917  0AD2  00A7               	movwf	??_getU16+5
  5918  0AD3  082D               	movf	getU16@v+2,w
  5919  0AD4  00A8               	movwf	??_getU16+6
  5920  0AD5  082E               	movf	getU16@v+3,w
  5921  0AD6  00A9               	movwf	??_getU16+7
  5922  0AD7  0828               	movf	??_getU16+6,w
  5923  0AD8  00A9               	movwf	??_getU16+7
  5924  0AD9  0827               	movf	??_getU16+5,w
  5925  0ADA  00A8               	movwf	??_getU16+6
  5926  0ADB  0826               	movf	??_getU16+4,w
  5927  0ADC  00A7               	movwf	??_getU16+5
  5928  0ADD  01A6               	clrf	??_getU16+4
  5929  0ADE  0822               	movf	??_getU16,w
  5930  0ADF  0426               	iorwf	??_getU16+4,w
  5931  0AE0  00AB               	movwf	getU16@v
  5932  0AE1  0823               	movf	??_getU16+1,w
  5933  0AE2  0427               	iorwf	??_getU16+5,w
  5934  0AE3  00AC               	movwf	getU16@v+1
  5935  0AE4  0824               	movf	??_getU16+2,w
  5936  0AE5  0428               	iorwf	??_getU16+6,w
  5937  0AE6  00AD               	movwf	getU16@v+2
  5938  0AE7  0825               	movf	??_getU16+3,w
  5939  0AE8  0429               	iorwf	??_getU16+7,w
  5940  0AE9  00AE               	movwf	getU16@v+3
  5941                           
  5942                           ;main.c: 127: return v;
  5943  0AEA  082C               	movf	getU16@v+1,w
  5944  0AEB  00A1               	movwf	?_getU16+1
  5945  0AEC  082B               	movf	getU16@v,w
  5946  0AED  00A0               	movwf	?_getU16
  5947  0AEE  0008               	return
  5948  0AEF                     __end_of_getU16:	
  5949  0AEF                     __ptext1653:	
  5950 ;; =============== function _frexp ends ============
  5951                           
  5952                           
  5953 ;; *************** function _getU8 *****************
  5954 ;; Defined at:
  5955 ;;		line 130 in file "Z:\pic\irRX\main.c"
  5956 ;; Parameters:    Size  Location     Type
  5957 ;;  t               1    wreg     PTR unsigned char 
  5958 ;;		 -> gRxData(32), 
  5959 ;; Auto vars:     Size  Location     Type
  5960 ;;  t               1    0[BANK0 ] PTR unsigned char 
  5961 ;;		 -> gRxData(32), 
  5962 ;; Return value:  Size  Location     Type
  5963 ;;                  1    wreg      unsigned char 
  5964 ;; Registers used:
  5965 ;;		wreg, fsr1l, fsr1h
  5966 ;; Tracked objects:
  5967 ;;		On entry : 1F/0
  5968 ;;		On exit  : 1F/0
  5969 ;;		Unchanged: FFFE0/0
  5970 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  5971 ;;      Params:         0       0       0       0
  5972 ;;      Locals:         0       1       0       0
  5973 ;;      Temps:          0       0       0       0
  5974 ;;      Totals:         0       1       0       0
  5975 ;;Total ram usage:        1 bytes
  5976 ;; Hardware stack levels used:    1
  5977 ;; Hardware stack levels required when called:    1
  5978 ;; This function calls:
  5979 ;;		Nothing
  5980 ;; This function is called by:
  5981 ;;		_main
  5982 ;; This function uses a non-reentrant model
  5983 ;;
  5984  0AEF                     _getU8:	
  5985                           
  5986                           ; Regs used in _getU8: [wregfsr1]
  5987                           ;getU8@t stored from wreg
  5988  0AEF  00A0               	movwf	getU8@t
  5989                           
  5990                           ;main.c: 132: return t[0];
  5991  0AF0  0086               	movwf	6
  5992  0AF1  0187               	clrf	7
  5993  0AF2  0801               	movf	1,w
  5994  0AF3  0008               	return
  5995  0AF4                     __end_of_getU8:	
  5996  0AF4                     __ptext1651:	
  5997 ;; =============== function ___wmul ends ============
  5998                           
  5999                           
  6000 ;; *************** function ___bmul *****************
  6001 ;; Defined at:
  6002 ;;		line 3 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\bmul.c"
  6003 ;; Parameters:    Size  Location     Type
  6004 ;;  multiplier      1    wreg     unsigned char 
  6005 ;;  multiplicand    1    0[BANK0 ] unsigned char 
  6006 ;; Auto vars:     Size  Location     Type
  6007 ;;  multiplier      1    2[BANK0 ] unsigned char 
  6008 ;;  product         1    1[BANK0 ] unsigned char 
  6009 ;; Return value:  Size  Location     Type
  6010 ;;                  1    wreg      unsigned char 
  6011 ;; Registers used:
  6012 ;;		wreg, status,2, status,0
  6013 ;; Tracked objects:
  6014 ;;		On entry : 1F/1
  6015 ;;		On exit  : 1F/0
  6016 ;;		Unchanged: FFFE0/0
  6017 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6018 ;;      Params:         0       1       0       0
  6019 ;;      Locals:         0       2       0       0
  6020 ;;      Temps:          0       0       0       0
  6021 ;;      Totals:         0       3       0       0
  6022 ;;Total ram usage:        3 bytes
  6023 ;; Hardware stack levels used:    1
  6024 ;; Hardware stack levels required when called:    1
  6025 ;; This function calls:
  6026 ;;		Nothing
  6027 ;; This function is called by:
  6028 ;;		_runFuncPtr
  6029 ;; This function uses a non-reentrant model
  6030 ;;
  6031  0AF4                     ___bmul:	
  6032                           
  6033                           ; Regs used in ___bmul: [wreg+status,2+status,0]
  6034                           ;___bmul@multiplier stored from wreg
  6035  0AF4  0020               	movlb	0	; select bank0
  6036  0AF5  00A2               	movwf	___bmul@multiplier
  6037  0AF6  01A1               	clrf	___bmul@product
  6038  0AF7                     l5633:	
  6039  0AF7  0820               	movf	___bmul@multiplicand,w
  6040  0AF8  1822               	btfsc	___bmul@multiplier,0
  6041  0AF9  07A1               	addwf	___bmul@product,f
  6042  0AFA  35A0               	lslf	___bmul@multiplicand,f
  6043  0AFB  36A2               	lsrf	___bmul@multiplier,f
  6044  0AFC  08A2               	movf	___bmul@multiplier,f
  6045  0AFD  1D03               	skipz
  6046  0AFE  2AF7               	goto	l5633
  6047  0AFF  0821               	movf	___bmul@product,w
  6048  0B00  0008               	return
  6049  0B01                     __end_of___bmul:	
  6050  0B01                     __ptext1638:	
  6051 ;; =============== function _ldexp ends ============
  6052                           
  6053                           
  6054 ;; *************** function _init *****************
  6055 ;; Defined at:
  6056 ;;		line 659 in file "Z:\pic\irRX\main.c"
  6057 ;; Parameters:    Size  Location     Type
  6058 ;;		None
  6059 ;; Auto vars:     Size  Location     Type
  6060 ;;		None
  6061 ;; Return value:  Size  Location     Type
  6062 ;;		None               void
  6063 ;; Registers used:
  6064 ;;		wreg, status,2
  6065 ;; Tracked objects:
  6066 ;;		On entry : 17F/0
  6067 ;;		On exit  : 1F/1
  6068 ;;		Unchanged: 0/0
  6069 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6070 ;;      Params:         0       0       0       0
  6071 ;;      Locals:         0       0       0       0
  6072 ;;      Temps:          0       3       0       0
  6073 ;;      Totals:         0       3       0       0
  6074 ;;Total ram usage:        3 bytes
  6075 ;; Hardware stack levels used:    1
  6076 ;; Hardware stack levels required when called:    1
  6077 ;; This function calls:
  6078 ;;		Nothing
  6079 ;; This function is called by:
  6080 ;;		_main
  6081 ;; This function uses a non-reentrant model
  6082 ;;
  6083  0B01                     _init:	
  6084                           
  6085                           ;main.c: 660: PORTA = 0b00000000;
  6086                           
  6087                           ; Regs used in _init: [wreg+status,2]
  6088  0B01  018C               	clrf	12	;volatile
  6089                           
  6090                           ;main.c: 661: ANSELA = 0b00000000;
  6091  0B02  0023               	movlb	3	; select bank3
  6092  0B03  018C               	clrf	12	;volatile
  6093                           
  6094                           ;main.c: 662: TRISA = 0b11101000;
  6095  0B04  30E8               	movlw	232
  6096  0B05  0021               	movlb	1	; select bank1
  6097  0B06  008C               	movwf	12	;volatile
  6098                           
  6099                           ;main.c: 663: OSCCON = 0b11110000;
  6100  0B07  30F0               	movlw	240
  6101  0B08  0099               	movwf	25	;volatile
  6102                           
  6103                           ;main.c: 664: OPTION_REG = 0b10001000;
  6104  0B09  3088               	movlw	136
  6105  0B0A  0095               	movwf	21	;volatile
  6106                           
  6107                           ;main.c: 665: INTCON = 0b10100000;
  6108  0B0B  30A0               	movlw	160
  6109  0B0C  008B               	movwf	11	;volatile
  6110                           
  6111                           ;main.c: 666: APFCON = 0b00000001;
  6112  0B0D  3001               	movlw	1
  6113  0B0E  0022               	movlb	2	; select bank2
  6114  0B0F  009D               	movwf	29	;volatile
  6115                           
  6116                           ;main.c: 667: T1CON = 0b00110001;
  6117  0B10  3031               	movlw	49
  6118  0B11  0020               	movlb	0	; select bank0
  6119  0B12  0098               	movwf	24	;volatile
  6120                           
  6121                           ;main.c: 668: T2CON = 0b00001011;
  6122  0B13  300B               	movlw	11
  6123  0B14  009C               	movwf	28	;volatile
  6124                           
  6125                           ;main.c: 671: _delay((unsigned long)((300)*(32000000/4000.0)));
  6126  0B15  300D               	movlw	13
  6127  0B16  00A2               	movwf	??_init+2
  6128  0B17  3021               	movlw	33
  6129  0B18  00A1               	movwf	??_init+1
  6130  0B19  30DE               	movlw	222
  6131  0B1A  00A0               	movwf	??_init
  6132  0B1B                     u5167:	
  6133  0B1B  0BA0               	decfsz	??_init,f
  6134  0B1C  2B1B               	goto	u5167
  6135  0B1D  0BA1               	decfsz	??_init+1,f
  6136  0B1E  2B1B               	goto	u5167
  6137  0B1F  0BA2               	decfsz	??_init+2,f
  6138  0B20  2B1B               	goto	u5167
  6139  0B21  2B22               	nop2
  6140  0B22                     l1315:	
  6141                           ;main.c: 672: while(!HFIOFL || !PLLR);
  6142                           
  6143  0B22  0021               	movlb	1	; select bank1
  6144  0B23  1D9A               	btfss	26,3
  6145  0B24  2B22               	goto	l1315
  6146  0B25  1B1A               	btfsc	26,6
  6147  0B26  0008               	return
  6148  0B27  2B22               	goto	l1315
  6149  0B28                     __end_of_init:	
  6150  0B28                     __ptext1623:	
  6151 ;; =============== function _mFadeDown ends ============
  6152                           
  6153                           
  6154 ;; *************** function _genExponents *****************
  6155 ;; Defined at:
  6156 ;;		line 242 in file "Z:\pic\irRX\main.c"
  6157 ;; Parameters:    Size  Location     Type
  6158 ;;  bri             1    wreg     unsigned char 
  6159 ;; Auto vars:     Size  Location     Type
  6160 ;;  bri             1   69[BANK0 ] unsigned char 
  6161 ;;  t               3   71[BANK0 ] unsigned char 
  6162 ;;  i               1   70[BANK0 ] unsigned char 
  6163 ;; Return value:  Size  Location     Type
  6164 ;;		None               void
  6165 ;; Registers used:
  6166 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  6167 ;; Tracked objects:
  6168 ;;		On entry : 1F/1
  6169 ;;		On exit  : 1F/0
  6170 ;;		Unchanged: FFE00/0
  6171 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6172 ;;      Params:         0       0       0       0
  6173 ;;      Locals:         0       5       0       0
  6174 ;;      Temps:          0       0       0       0
  6175 ;;      Totals:         0       5       0       0
  6176 ;;Total ram usage:        5 bytes
  6177 ;; Hardware stack levels used:    1
  6178 ;; Hardware stack levels required when called:    5
  6179 ;; This function calls:
  6180 ;;		___lbtoft
  6181 ;;		___ftdiv
  6182 ;;		_exp
  6183 ;;		___ftsub
  6184 ;;		___ftmul
  6185 ;;		___ftadd
  6186 ;;		___fttol
  6187 ;; This function is called by:
  6188 ;;		_mFadeInit
  6189 ;;		_mFadeUp
  6190 ;;		_mFadeDown
  6191 ;; This function uses a non-reentrant model
  6192 ;;
  6193  0B28                     _genExponents:	
  6194                           
  6195                           ; Regs used in _genExponents: [allreg]
  6196                           ;genExponents@bri stored from wreg
  6197  0B28  0020               	movlb	0	; select bank0
  6198  0B29  00E5               	movwf	genExponents@bri
  6199                           
  6200                           ;main.c: 244: UInt8 i;
  6201                           ;main.c: 245: double t;
  6202                           ;main.c: 247: for(i = 0; i < 32; i++){
  6203  0B2A  01E6               	clrf	genExponents@i
  6204  0B2B                     l6627:	
  6205                           
  6206                           ;main.c: 249: t = i;
  6207  0B2B  0866               	movf	genExponents@i,w
  6208  0B2C  2493  3188         	fcall	___lbtoft
  6209  0B2E  0828               	movf	?___lbtoft,w
  6210  0B2F  00E7               	movwf	genExponents@t
  6211  0B30  0829               	movf	?___lbtoft+1,w
  6212  0B31  00E8               	movwf	genExponents@t+1
  6213  0B32  082A               	movf	?___lbtoft+2,w
  6214  0B33  00E9               	movwf	genExponents@t+2
  6215                           
  6216                           ;main.c: 250: t = exp(t / 9);
  6217  0B34  3010               	movlw	16
  6218  0B35  01A8               	clrf	?___ftdiv
  6219  0B36  00A9               	movwf	?___ftdiv+1
  6220  0B37  3041               	movlw	65
  6221  0B38  00AA               	movwf	?___ftdiv+2
  6222  0B39  0867               	movf	genExponents@t,w
  6223  0B3A  00AB               	movwf	?___ftdiv+3
  6224  0B3B  0868               	movf	genExponents@t+1,w
  6225  0B3C  00AC               	movwf	?___ftdiv+4
  6226  0B3D  0869               	movf	genExponents@t+2,w
  6227  0B3E  00AD               	movwf	?___ftdiv+5
  6228  0B3F  23C7  3188         	fcall	___ftdiv
  6229  0B41  0828               	movf	?___ftdiv,w
  6230  0B42  00DC               	movwf	?_exp
  6231  0B43  0829               	movf	?___ftdiv+1,w
  6232  0B44  00DD               	movwf	?_exp+1
  6233  0B45  082A               	movf	?___ftdiv+2,w
  6234  0B46  00DE               	movwf	?_exp+2
  6235  0B47  250E  3188         	fcall	_exp
  6236  0B49  085C               	movf	?_exp,w
  6237  0B4A  00E7               	movwf	genExponents@t
  6238  0B4B  085D               	movf	?_exp+1,w
  6239  0B4C  00E8               	movwf	genExponents@t+1
  6240  0B4D  085E               	movf	?_exp+2,w
  6241  0B4E  00E9               	movwf	genExponents@t+2
  6242                           
  6243                           ;main.c: 251: t -= 1;
  6244  0B4F  3080               	movlw	128
  6245  0B50  01C7               	clrf	?___ftsub
  6246  0B51  00C8               	movwf	?___ftsub+1
  6247  0B52  303F               	movlw	63
  6248  0B53  00C9               	movwf	?___ftsub+2
  6249  0B54  0867               	movf	genExponents@t,w
  6250  0B55  00CA               	movwf	?___ftsub+3
  6251  0B56  0868               	movf	genExponents@t+1,w
  6252  0B57  00CB               	movwf	?___ftsub+4
  6253  0B58  0869               	movf	genExponents@t+2,w
  6254  0B59  00CC               	movwf	?___ftsub+5
  6255  0B5A  2678  3188         	fcall	___ftsub
  6256  0B5C  0847               	movf	?___ftsub,w
  6257  0B5D  00E7               	movwf	genExponents@t
  6258  0B5E  0848               	movf	?___ftsub+1,w
  6259  0B5F  00E8               	movwf	genExponents@t+1
  6260  0B60  0849               	movf	?___ftsub+2,w
  6261  0B61  00E9               	movwf	genExponents@t+2
  6262                           
  6263                           ;main.c: 252: t *= 8.4;
  6264  0B62  3066               	movlw	102
  6265  0B63  00AC               	movwf	?___ftmul
  6266  0B64  3006               	movlw	6
  6267  0B65  00AD               	movwf	?___ftmul+1
  6268  0B66  3041               	movlw	65
  6269  0B67  00AE               	movwf	?___ftmul+2
  6270  0B68  0867               	movf	genExponents@t,w
  6271  0B69  00AF               	movwf	?___ftmul+3
  6272  0B6A  0868               	movf	genExponents@t+1,w
  6273  0B6B  00B0               	movwf	?___ftmul+4
  6274  0B6C  0869               	movf	genExponents@t+2,w
  6275  0B6D  00B1               	movwf	?___ftmul+5
  6276  0B6E  2429  3188         	fcall	___ftmul
  6277  0B70  082C               	movf	?___ftmul,w
  6278  0B71  00E7               	movwf	genExponents@t
  6279  0B72  082D               	movf	?___ftmul+1,w
  6280  0B73  00E8               	movwf	genExponents@t+1
  6281  0B74  082E               	movf	?___ftmul+2,w
  6282  0B75  00E9               	movwf	genExponents@t+2
  6283                           
  6284                           ;main.c: 253: t *= bri;
  6285  0B76  0865               	movf	genExponents@bri,w
  6286  0B77  2493  3188         	fcall	___lbtoft
  6287  0B79  0828               	movf	?___lbtoft,w
  6288  0B7A  00AC               	movwf	?___ftmul
  6289  0B7B  0829               	movf	?___lbtoft+1,w
  6290  0B7C  00AD               	movwf	?___ftmul+1
  6291  0B7D  082A               	movf	?___lbtoft+2,w
  6292  0B7E  00AE               	movwf	?___ftmul+2
  6293  0B7F  0867               	movf	genExponents@t,w
  6294  0B80  00AF               	movwf	?___ftmul+3
  6295  0B81  0868               	movf	genExponents@t+1,w
  6296  0B82  00B0               	movwf	?___ftmul+4
  6297  0B83  0869               	movf	genExponents@t+2,w
  6298  0B84  00B1               	movwf	?___ftmul+5
  6299  0B85  2429  3188         	fcall	___ftmul
  6300  0B87  082C               	movf	?___ftmul,w
  6301  0B88  00E7               	movwf	genExponents@t
  6302  0B89  082D               	movf	?___ftmul+1,w
  6303  0B8A  00E8               	movwf	genExponents@t+1
  6304  0B8B  082E               	movf	?___ftmul+2,w
  6305  0B8C  00E9               	movwf	genExponents@t+2
  6306                           
  6307                           ;main.c: 254: t /= 255;
  6308  0B8D  307F               	movlw	127
  6309  0B8E  01A8               	clrf	?___ftdiv
  6310  0B8F  00A9               	movwf	?___ftdiv+1
  6311  0B90  3043               	movlw	67
  6312  0B91  00AA               	movwf	?___ftdiv+2
  6313  0B92  0867               	movf	genExponents@t,w
  6314  0B93  00AB               	movwf	?___ftdiv+3
  6315  0B94  0868               	movf	genExponents@t+1,w
  6316  0B95  00AC               	movwf	?___ftdiv+4
  6317  0B96  0869               	movf	genExponents@t+2,w
  6318  0B97  00AD               	movwf	?___ftdiv+5
  6319  0B98  23C7  3188         	fcall	___ftdiv
  6320  0B9A  0828               	movf	?___ftdiv,w
  6321  0B9B  00E7               	movwf	genExponents@t
  6322  0B9C  0829               	movf	?___ftdiv+1,w
  6323  0B9D  00E8               	movwf	genExponents@t+1
  6324  0B9E  082A               	movf	?___ftdiv+2,w
  6325  0B9F  00E9               	movwf	genExponents@t+2
  6326                           
  6327                           ;main.c: 255: t += 0.5;
  6328  0BA0  303F               	movlw	63
  6329  0BA1  01BB               	clrf	?___ftadd
  6330  0BA2  01BC               	clrf	?___ftadd+1
  6331  0BA3  00BD               	movwf	?___ftadd+2
  6332  0BA4  0867               	movf	genExponents@t,w
  6333  0BA5  00BE               	movwf	?___ftadd+3
  6334  0BA6  0868               	movf	genExponents@t+1,w
  6335  0BA7  00BF               	movwf	?___ftadd+4
  6336  0BA8  0869               	movf	genExponents@t+2,w
  6337  0BA9  00C0               	movwf	?___ftadd+5
  6338  0BAA  271E  3188         	fcall	___ftadd
  6339  0BAC  083B               	movf	?___ftadd,w
  6340  0BAD  00E7               	movwf	genExponents@t
  6341  0BAE  083C               	movf	?___ftadd+1,w
  6342  0BAF  00E8               	movwf	genExponents@t+1
  6343  0BB0  083D               	movf	?___ftadd+2,w
  6344  0BB1  00E9               	movwf	genExponents@t+2
  6345                           
  6346                           ;main.c: 257: exponents[i] = (UInt8)t;
  6347  0BB2  0866               	movf	genExponents@i,w
  6348  0BB3  3E20               	addlw	_exponents& (0+255)
  6349  0BB4  0086               	movwf	6
  6350  0BB5  3001               	movlw	1	; select bank2/3
  6351  0BB6  0087               	movwf	7
  6352  0BB7  0867               	movf	genExponents@t,w
  6353  0BB8  00A0               	movwf	?___fttol
  6354  0BB9  0868               	movf	genExponents@t+1,w
  6355  0BBA  00A1               	movwf	?___fttol+1
  6356  0BBB  0869               	movf	genExponents@t+2,w
  6357  0BBC  00A2               	movwf	?___fttol+2
  6358  0BBD  261B  3188         	fcall	___fttol
  6359  0BBF  0820               	movf	?___fttol,w
  6360  0BC0  0081               	movwf	1
  6361  0BC1  3020               	movlw	32
  6362  0BC2  0AE6               	incf	genExponents@i,f
  6363  0BC3  0266               	subwf	genExponents@i,w
  6364  0BC4  1803               	btfsc	3,0
  6365  0BC5  0008               	return
  6366  0BC6  2B2B               	goto	l6627
  6367  0BC7                     __end_of_genExponents:	
  6368  0BC7                     __ptext1635:	
  6369 ;; =============== function ___ftmul ends ============
  6370                           
  6371                           
  6372 ;; *************** function ___ftdiv *****************
  6373 ;; Defined at:
  6374 ;;		line 50 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\ftdiv.c"
  6375 ;; Parameters:    Size  Location     Type
  6376 ;;  f2              3    8[BANK0 ] float 
  6377 ;;  f1              3   11[BANK0 ] float 
  6378 ;; Auto vars:     Size  Location     Type
  6379 ;;  f3              3   18[BANK0 ] float 
  6380 ;;  sign            1   22[BANK0 ] unsigned char 
  6381 ;;  exp             1   21[BANK0 ] unsigned char 
  6382 ;;  cntr            1   17[BANK0 ] unsigned char 
  6383 ;; Return value:  Size  Location     Type
  6384 ;;                  3    8[BANK0 ] float 
  6385 ;; Registers used:
  6386 ;;		wreg, status,2, status,0, pclath, cstack
  6387 ;; Tracked objects:
  6388 ;;		On entry : 1F/0
  6389 ;;		On exit  : 1F/0
  6390 ;;		Unchanged: FFFE0/0
  6391 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6392 ;;      Params:         0       6       0       0
  6393 ;;      Locals:         0       6       0       0
  6394 ;;      Temps:          0       3       0       0
  6395 ;;      Totals:         0      15       0       0
  6396 ;;Total ram usage:       15 bytes
  6397 ;; Hardware stack levels used:    1
  6398 ;; Hardware stack levels required when called:    2
  6399 ;; This function calls:
  6400 ;;		___ftpack
  6401 ;; This function is called by:
  6402 ;;		_genExponents
  6403 ;;		_exp
  6404 ;; This function uses a non-reentrant model
  6405 ;;
  6406  0BC7                     ___ftdiv:	
  6407                           
  6408                           ; Regs used in ___ftdiv: [wreg+status,2+status,0+pclath+cstack]
  6409  0BC7  082B               	movf	___ftdiv@f1,w
  6410  0BC8  00AE               	movwf	??___ftdiv
  6411  0BC9  082C               	movf	___ftdiv@f1+1,w
  6412  0BCA  00AF               	movwf	??___ftdiv+1
  6413  0BCB  082D               	movf	___ftdiv@f1+2,w
  6414  0BCC  00B0               	movwf	??___ftdiv+2
  6415  0BCD  1003               	clrc
  6416  0BCE  0D2F               	rlf	??___ftdiv+1,w
  6417  0BCF  0D30               	rlf	??___ftdiv+2,w
  6418  0BD0  00B5               	movwf	___ftdiv@exp
  6419  0BD1  08B5               	movf	___ftdiv@exp,f
  6420  0BD2  1D03               	skipz
  6421  0BD3  2BD8               	goto	l6129
  6422  0BD4  01A8               	clrf	?___ftdiv
  6423  0BD5  01A9               	clrf	?___ftdiv+1
  6424  0BD6  01AA               	clrf	?___ftdiv+2
  6425  0BD7  0008               	return
  6426  0BD8                     l6129:	
  6427  0BD8  0828               	movf	___ftdiv@f2,w
  6428  0BD9  00AE               	movwf	??___ftdiv
  6429  0BDA  0829               	movf	___ftdiv@f2+1,w
  6430  0BDB  00AF               	movwf	??___ftdiv+1
  6431  0BDC  082A               	movf	___ftdiv@f2+2,w
  6432  0BDD  00B0               	movwf	??___ftdiv+2
  6433  0BDE  1003               	clrc
  6434  0BDF  0D2F               	rlf	??___ftdiv+1,w
  6435  0BE0  0D30               	rlf	??___ftdiv+2,w
  6436  0BE1  00B6               	movwf	___ftdiv@sign
  6437  0BE2  08B6               	movf	___ftdiv@sign,f
  6438  0BE3  1D03               	skipz
  6439  0BE4  2BE9               	goto	l1535
  6440  0BE5  01A8               	clrf	?___ftdiv
  6441  0BE6  01A9               	clrf	?___ftdiv+1
  6442  0BE7  01AA               	clrf	?___ftdiv+2
  6443  0BE8  0008               	return
  6444  0BE9                     l1535:	
  6445  0BE9  3089               	movlw	137
  6446  0BEA  01B2               	clrf	___ftdiv@f3
  6447  0BEB  01B3               	clrf	___ftdiv@f3+1
  6448  0BEC  01B4               	clrf	___ftdiv@f3+2
  6449  0BED  0736               	addwf	___ftdiv@sign,w
  6450  0BEE  00AE               	movwf	??___ftdiv
  6451  0BEF  02B5               	subwf	___ftdiv@exp,f
  6452  0BF0  082D               	movf	___ftdiv@f1+2,w
  6453  0BF1  00B6               	movwf	___ftdiv@sign
  6454  0BF2  082A               	movf	___ftdiv@f2+2,w
  6455  0BF3  06B6               	xorwf	___ftdiv@sign,f
  6456  0BF4  3080               	movlw	128
  6457  0BF5  05B6               	andwf	___ftdiv@sign,f
  6458  0BF6  3018               	movlw	24
  6459  0BF7  17AC               	bsf	___ftdiv@f1+1,7
  6460  0BF8  01AD               	clrf	___ftdiv@f1+2
  6461  0BF9  17A9               	bsf	___ftdiv@f2+1,7
  6462  0BFA  01AA               	clrf	___ftdiv@f2+2
  6463  0BFB  00B1               	movwf	___ftdiv@cntr
  6464  0BFC                     l6153:	
  6465  0BFC  35B2               	lslf	___ftdiv@f3,f
  6466  0BFD  0DB3               	rlf	___ftdiv@f3+1,f
  6467  0BFE  0DB4               	rlf	___ftdiv@f3+2,f
  6468  0BFF  082A               	movf	___ftdiv@f2+2,w
  6469  0C00  022D               	subwf	___ftdiv@f1+2,w
  6470  0C01  1D03               	skipz
  6471  0C02  2C09               	goto	u4425
  6472  0C03  0829               	movf	___ftdiv@f2+1,w
  6473  0C04  022C               	subwf	___ftdiv@f1+1,w
  6474  0C05  1D03               	skipz
  6475  0C06  2C09               	goto	u4425
  6476  0C07  0828               	movf	___ftdiv@f2,w
  6477  0C08  022B               	subwf	___ftdiv@f1,w
  6478  0C09                     u4425:	
  6479  0C09  1C03               	skipc
  6480  0C0A  2C12               	goto	l6159
  6481  0C0B  0828               	movf	___ftdiv@f2,w
  6482  0C0C  02AB               	subwf	___ftdiv@f1,f
  6483  0C0D  0829               	movf	___ftdiv@f2+1,w
  6484  0C0E  3BAC               	subwfb	___ftdiv@f1+1,f
  6485  0C0F  082A               	movf	___ftdiv@f2+2,w
  6486  0C10  3BAD               	subwfb	___ftdiv@f1+2,f
  6487  0C11  1432               	bsf	___ftdiv@f3,0
  6488  0C12                     l6159:	
  6489  0C12  35AB               	lslf	___ftdiv@f1,f
  6490  0C13  0DAC               	rlf	___ftdiv@f1+1,f
  6491  0C14  0DAD               	rlf	___ftdiv@f1+2,f
  6492  0C15  0BB1               	decfsz	___ftdiv@cntr,f
  6493  0C16  2BFC               	goto	l6153
  6494  0C17  0832               	movf	___ftdiv@f3,w
  6495  0C18  00A0               	movwf	?___ftpack
  6496  0C19  0833               	movf	___ftdiv@f3+1,w
  6497  0C1A  00A1               	movwf	?___ftpack+1
  6498  0C1B  0834               	movf	___ftdiv@f3+2,w
  6499  0C1C  00A2               	movwf	?___ftpack+2
  6500  0C1D  0835               	movf	___ftdiv@exp,w
  6501  0C1E  00A3               	movwf	?___ftpack+3
  6502  0C1F  0836               	movf	___ftdiv@sign,w
  6503  0C20  00A4               	movwf	?___ftpack+4
  6504  0C21  268E               	fcall	___ftpack
  6505  0C22  0820               	movf	?___ftpack,w
  6506  0C23  00A8               	movwf	?___ftdiv
  6507  0C24  0821               	movf	?___ftpack+1,w
  6508  0C25  00A9               	movwf	?___ftdiv+1
  6509  0C26  0822               	movf	?___ftpack+2,w
  6510  0C27  00AA               	movwf	?___ftdiv+2
  6511  0C28  0008               	return
  6512  0C29                     __end_of___ftdiv:	
  6513  0C29                     __ptext1634:	
  6514 ;; =============== function ___lbtoft ends ============
  6515                           
  6516                           
  6517 ;; *************** function ___ftmul *****************
  6518 ;; Defined at:
  6519 ;;		line 52 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\ftmul.c"
  6520 ;; Parameters:    Size  Location     Type
  6521 ;;  f1              3   12[BANK0 ] float 
  6522 ;;  f2              3   15[BANK0 ] float 
  6523 ;; Auto vars:     Size  Location     Type
  6524 ;;  f3_as_produc    3   22[BANK0 ] unsigned um
  6525 ;;  sign            1   26[BANK0 ] unsigned char 
  6526 ;;  cntr            1   25[BANK0 ] unsigned char 
  6527 ;;  exp             1   21[BANK0 ] unsigned char 
  6528 ;; Return value:  Size  Location     Type
  6529 ;;                  3   12[BANK0 ] float 
  6530 ;; Registers used:
  6531 ;;		wreg, status,2, status,0, pclath, cstack
  6532 ;; Tracked objects:
  6533 ;;		On entry : 1F/0
  6534 ;;		On exit  : 1F/0
  6535 ;;		Unchanged: FFFE0/0
  6536 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6537 ;;      Params:         0       6       0       0
  6538 ;;      Locals:         0       6       0       0
  6539 ;;      Temps:          0       3       0       0
  6540 ;;      Totals:         0      15       0       0
  6541 ;;Total ram usage:       15 bytes
  6542 ;; Hardware stack levels used:    1
  6543 ;; Hardware stack levels required when called:    2
  6544 ;; This function calls:
  6545 ;;		___ftpack
  6546 ;; This function is called by:
  6547 ;;		_genExponents
  6548 ;;		_exp
  6549 ;;		_eval_poly
  6550 ;; This function uses a non-reentrant model
  6551 ;;
  6552  0C29                     ___ftmul:	
  6553                           
  6554                           ; Regs used in ___ftmul: [wreg+status,2+status,0+pclath+cstack]
  6555  0C29  082C               	movf	___ftmul@f1,w
  6556  0C2A  00B2               	movwf	??___ftmul
  6557  0C2B  082D               	movf	___ftmul@f1+1,w
  6558  0C2C  00B3               	movwf	??___ftmul+1
  6559  0C2D  082E               	movf	___ftmul@f1+2,w
  6560  0C2E  00B4               	movwf	??___ftmul+2
  6561  0C2F  1003               	clrc
  6562  0C30  0D33               	rlf	??___ftmul+1,w
  6563  0C31  0D34               	rlf	??___ftmul+2,w
  6564  0C32  00B5               	movwf	___ftmul@exp
  6565  0C33  08B5               	movf	___ftmul@exp,f
  6566  0C34  1D03               	skipz
  6567  0C35  2C3A               	goto	l6173
  6568  0C36  01AC               	clrf	?___ftmul
  6569  0C37  01AD               	clrf	?___ftmul+1
  6570  0C38  01AE               	clrf	?___ftmul+2
  6571  0C39  0008               	return
  6572  0C3A                     l6173:	
  6573  0C3A  082F               	movf	___ftmul@f2,w
  6574  0C3B  00B2               	movwf	??___ftmul
  6575  0C3C  0830               	movf	___ftmul@f2+1,w
  6576  0C3D  00B3               	movwf	??___ftmul+1
  6577  0C3E  0831               	movf	___ftmul@f2+2,w
  6578  0C3F  00B4               	movwf	??___ftmul+2
  6579  0C40  1003               	clrc
  6580  0C41  0D33               	rlf	??___ftmul+1,w
  6581  0C42  0D34               	rlf	??___ftmul+2,w
  6582  0C43  00BA               	movwf	___ftmul@sign
  6583  0C44  08BA               	movf	___ftmul@sign,f
  6584  0C45  1D03               	skipz
  6585  0C46  2C4B               	goto	l6179
  6586  0C47  01AC               	clrf	?___ftmul
  6587  0C48  01AD               	clrf	?___ftmul+1
  6588  0C49  01AE               	clrf	?___ftmul+2
  6589  0C4A  0008               	return
  6590  0C4B                     l6179:	
  6591  0C4B  083A               	movf	___ftmul@sign,w
  6592  0C4C  3E7B               	addlw	123
  6593  0C4D  07B5               	addwf	___ftmul@exp,f
  6594  0C4E  082E               	movf	___ftmul@f1+2,w
  6595  0C4F  00BA               	movwf	___ftmul@sign
  6596  0C50  0831               	movf	___ftmul@f2+2,w
  6597  0C51  06BA               	xorwf	___ftmul@sign,f
  6598  0C52  3080               	movlw	128
  6599  0C53  05BA               	andwf	___ftmul@sign,f
  6600  0C54  30FF               	movlw	255
  6601  0C55  17AD               	bsf	___ftmul@f1+1,7
  6602  0C56  17B0               	bsf	___ftmul@f2+1,7
  6603  0C57  05AF               	andwf	___ftmul@f2,f
  6604  0C58  05B0               	andwf	___ftmul@f2+1,f
  6605  0C59  3007               	movlw	7
  6606  0C5A  01B1               	clrf	___ftmul@f2+2
  6607  0C5B  01B6               	clrf	___ftmul@f3_as_product
  6608  0C5C  01B7               	clrf	___ftmul@f3_as_product+1
  6609  0C5D  01B8               	clrf	___ftmul@f3_as_product+2
  6610  0C5E  00B9               	movwf	___ftmul@cntr
  6611  0C5F                     l6197:	
  6612  0C5F  1C2C               	btfss	___ftmul@f1,0
  6613  0C60  2C67               	goto	l6201
  6614  0C61  082F               	movf	___ftmul@f2,w
  6615  0C62  07B6               	addwf	___ftmul@f3_as_product,f
  6616  0C63  0830               	movf	___ftmul@f2+1,w
  6617  0C64  3DB7               	addwfc	___ftmul@f3_as_product+1,f
  6618  0C65  0831               	movf	___ftmul@f2+2,w
  6619  0C66  3DB8               	addwfc	___ftmul@f3_as_product+2,f
  6620  0C67                     l6201:	
  6621  0C67  36AE               	lsrf	___ftmul@f1+2,f
  6622  0C68  0CAD               	rrf	___ftmul@f1+1,f
  6623  0C69  0CAC               	rrf	___ftmul@f1,f
  6624  0C6A  35AF               	lslf	___ftmul@f2,f
  6625  0C6B  0DB0               	rlf	___ftmul@f2+1,f
  6626  0C6C  0DB1               	rlf	___ftmul@f2+2,f
  6627  0C6D  0BB9               	decfsz	___ftmul@cntr,f
  6628  0C6E  2C5F               	goto	l6197
  6629  0C6F  3009               	movlw	9
  6630  0C70  00B9               	movwf	___ftmul@cntr
  6631  0C71                     l6209:	
  6632  0C71  1C2C               	btfss	___ftmul@f1,0
  6633  0C72  2C79               	goto	l6213
  6634  0C73  082F               	movf	___ftmul@f2,w
  6635  0C74  07B6               	addwf	___ftmul@f3_as_product,f
  6636  0C75  0830               	movf	___ftmul@f2+1,w
  6637  0C76  3DB7               	addwfc	___ftmul@f3_as_product+1,f
  6638  0C77  0831               	movf	___ftmul@f2+2,w
  6639  0C78  3DB8               	addwfc	___ftmul@f3_as_product+2,f
  6640  0C79                     l6213:	
  6641  0C79  36AE               	lsrf	___ftmul@f1+2,f
  6642  0C7A  0CAD               	rrf	___ftmul@f1+1,f
  6643  0C7B  0CAC               	rrf	___ftmul@f1,f
  6644  0C7C  36B8               	lsrf	___ftmul@f3_as_product+2,f
  6645  0C7D  0CB7               	rrf	___ftmul@f3_as_product+1,f
  6646  0C7E  0CB6               	rrf	___ftmul@f3_as_product,f
  6647  0C7F  0BB9               	decfsz	___ftmul@cntr,f
  6648  0C80  2C71               	goto	l6209
  6649  0C81  0836               	movf	___ftmul@f3_as_product,w
  6650  0C82  00A0               	movwf	?___ftpack
  6651  0C83  0837               	movf	___ftmul@f3_as_product+1,w
  6652  0C84  00A1               	movwf	?___ftpack+1
  6653  0C85  0838               	movf	___ftmul@f3_as_product+2,w
  6654  0C86  00A2               	movwf	?___ftpack+2
  6655  0C87  0835               	movf	___ftmul@exp,w
  6656  0C88  00A3               	movwf	?___ftpack+3
  6657  0C89  083A               	movf	___ftmul@sign,w
  6658  0C8A  00A4               	movwf	?___ftpack+4
  6659  0C8B  268E               	fcall	___ftpack
  6660  0C8C  0820               	movf	?___ftpack,w
  6661  0C8D  00AC               	movwf	?___ftmul
  6662  0C8E  0821               	movf	?___ftpack+1,w
  6663  0C8F  00AD               	movwf	?___ftmul+1
  6664  0C90  0822               	movf	?___ftpack+2,w
  6665  0C91  00AE               	movwf	?___ftmul+2
  6666  0C92  0008               	return
  6667  0C93                     __end_of___ftmul:	
  6668  0C93                     __ptext1633:	
  6669 ;; =============== function ___awtoft ends ============
  6670                           
  6671                           
  6672 ;; *************** function ___lbtoft *****************
  6673 ;; Defined at:
  6674 ;;		line 28 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\lbtoft.c"
  6675 ;; Parameters:    Size  Location     Type
  6676 ;;  c               1    wreg     unsigned char 
  6677 ;; Auto vars:     Size  Location     Type
  6678 ;;  c               1   11[BANK0 ] unsigned char 
  6679 ;; Return value:  Size  Location     Type
  6680 ;;                  3    8[BANK0 ] float 
  6681 ;; Registers used:
  6682 ;;		wreg, status,2, status,0, pclath, cstack
  6683 ;; Tracked objects:
  6684 ;;		On entry : 1F/0
  6685 ;;		On exit  : 1F/0
  6686 ;;		Unchanged: FFFE0/0
  6687 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6688 ;;      Params:         0       3       0       0
  6689 ;;      Locals:         0       1       0       0
  6690 ;;      Temps:          0       0       0       0
  6691 ;;      Totals:         0       4       0       0
  6692 ;;Total ram usage:        4 bytes
  6693 ;; Hardware stack levels used:    1
  6694 ;; Hardware stack levels required when called:    2
  6695 ;; This function calls:
  6696 ;;		___ftpack
  6697 ;; This function is called by:
  6698 ;;		_genExponents
  6699 ;; This function uses a non-reentrant model
  6700 ;;
  6701  0C93                     ___lbtoft:	
  6702                           
  6703                           ; Regs used in ___lbtoft: [wreg+status,2+status,0+pclath+cstack]
  6704                           ;___lbtoft@c stored from wreg
  6705  0C93  00AB               	movwf	___lbtoft@c
  6706  0C94  00A0               	movwf	?___ftpack
  6707  0C95  308E               	movlw	142
  6708  0C96  01A1               	clrf	?___ftpack+1
  6709  0C97  01A2               	clrf	?___ftpack+2
  6710  0C98  00A3               	movwf	?___ftpack+3
  6711  0C99  01A4               	clrf	?___ftpack+4
  6712  0C9A  268E               	fcall	___ftpack
  6713  0C9B  0820               	movf	?___ftpack,w
  6714  0C9C  00A8               	movwf	?___lbtoft
  6715  0C9D  0821               	movf	?___ftpack+1,w
  6716  0C9E  00A9               	movwf	?___lbtoft+1
  6717  0C9F  0822               	movf	?___ftpack+2,w
  6718  0CA0  00AA               	movwf	?___lbtoft+2
  6719  0CA1  0008               	return
  6720  0CA2                     __end_of___lbtoft:	
  6721  0CA2                     __ptext1628:	
  6722 ;; =============== function _eval_poly ends ============
  6723                           
  6724                           
  6725 ;; *************** function _floor *****************
  6726 ;; Defined at:
  6727 ;;		line 14 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\floor.c"
  6728 ;; Parameters:    Size  Location     Type
  6729 ;;  x               3   39[BANK0 ] int 
  6730 ;; Auto vars:     Size  Location     Type
  6731 ;;  i               3   42[BANK0 ] int 
  6732 ;;  expon           2   45[BANK0 ] int 
  6733 ;; Return value:  Size  Location     Type
  6734 ;;                  3   39[BANK0 ] int 
  6735 ;; Registers used:
  6736 ;;		wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
  6737 ;; Tracked objects:
  6738 ;;		On entry : 1F/0
  6739 ;;		On exit  : 1F/0
  6740 ;;		Unchanged: FFFE0/0
  6741 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6742 ;;      Params:         0       3       0       0
  6743 ;;      Locals:         0       5       0       0
  6744 ;;      Temps:          0       0       0       0
  6745 ;;      Totals:         0       8       0       0
  6746 ;;Total ram usage:        8 bytes
  6747 ;; Hardware stack levels used:    1
  6748 ;; Hardware stack levels required when called:    3
  6749 ;; This function calls:
  6750 ;;		_frexp
  6751 ;;		___ftge
  6752 ;;		___fttol
  6753 ;;		___altoft
  6754 ;;		___ftadd
  6755 ;; This function is called by:
  6756 ;;		_exp
  6757 ;; This function uses a non-reentrant model
  6758 ;;
  6759  0CA2                     _floor:	
  6760                           
  6761                           ; Regs used in _floor: [wreg+fsr1l-status,0+pclath+cstack]
  6762  0CA2  0847               	movf	floor@x,w
  6763  0CA3  00A0               	movwf	?_frexp
  6764  0CA4  0848               	movf	floor@x+1,w
  6765  0CA5  00A1               	movwf	?_frexp+1
  6766  0CA6  0849               	movf	floor@x+2,w
  6767  0CA7  00A2               	movwf	?_frexp+2
  6768  0CA8  304D               	movlw	floor@expon& (0+255)
  6769  0CA9  00A3               	movwf	?_frexp+3
  6770  0CAA  26C8  3188         	fcall	_frexp
  6771  0CAC  1FCE               	btfss	floor@expon+1,7
  6772  0CAD  2CC5               	goto	l6451
  6773  0CAE  0847               	movf	floor@x,w
  6774  0CAF  00A0               	movwf	?___ftge
  6775  0CB0  0848               	movf	floor@x+1,w
  6776  0CB1  00A1               	movwf	?___ftge+1
  6777  0CB2  0849               	movf	floor@x+2,w
  6778  0CB3  00A2               	movwf	?___ftge+2
  6779  0CB4  01A3               	clrf	?___ftge+3
  6780  0CB5  01A4               	clrf	?___ftge+4
  6781  0CB6  01A5               	clrf	?___ftge+5
  6782  0CB7  25EF  3188         	fcall	___ftge
  6783  0CB9  1803               	btfsc	3,0
  6784  0CBA  2CC1               	goto	l6447
  6785  0CBB  3080               	movlw	128
  6786  0CBC  01C7               	clrf	?_floor
  6787  0CBD  00C8               	movwf	?_floor+1
  6788  0CBE  30BF               	movlw	191
  6789  0CBF  00C9               	movwf	?_floor+2
  6790  0CC0  0008               	return
  6791  0CC1                     l6447:	
  6792  0CC1  01C7               	clrf	?_floor
  6793  0CC2  01C8               	clrf	?_floor+1
  6794  0CC3  01C9               	clrf	?_floor+2
  6795  0CC4  0008               	return
  6796  0CC5                     l6451:	
  6797  0CC5  3000               	movlw	0
  6798  0CC6  024E               	subwf	floor@expon+1,w
  6799  0CC7  3015               	movlw	21
  6800  0CC8  1903               	skipnz
  6801  0CC9  024D               	subwf	floor@expon,w
  6802  0CCA  1803               	btfsc	3,0
  6803  0CCB  0008               	return
  6804  0CCC  0847               	movf	floor@x,w
  6805  0CCD  00A0               	movwf	?___fttol
  6806  0CCE  0848               	movf	floor@x+1,w
  6807  0CCF  00A1               	movwf	?___fttol+1
  6808  0CD0  0849               	movf	floor@x+2,w
  6809  0CD1  00A2               	movwf	?___fttol+2
  6810  0CD2  261B  3188         	fcall	___fttol
  6811  0CD4  0823               	movf	?___fttol+3,w
  6812  0CD5  00B0               	movwf	?___altoft+3
  6813  0CD6  0822               	movf	?___fttol+2,w
  6814  0CD7  00AF               	movwf	?___altoft+2
  6815  0CD8  0821               	movf	?___fttol+1,w
  6816  0CD9  00AE               	movwf	?___altoft+1
  6817  0CDA  0820               	movf	?___fttol,w
  6818  0CDB  00AD               	movwf	?___altoft
  6819  0CDC  27D2  3188         	fcall	___altoft
  6820  0CDE  082D               	movf	?___altoft,w
  6821  0CDF  00CA               	movwf	floor@i
  6822  0CE0  082E               	movf	?___altoft+1,w
  6823  0CE1  00CB               	movwf	floor@i+1
  6824  0CE2  082F               	movf	?___altoft+2,w
  6825  0CE3  00CC               	movwf	floor@i+2
  6826  0CE4  0847               	movf	floor@x,w
  6827  0CE5  00A0               	movwf	?___ftge
  6828  0CE6  0848               	movf	floor@x+1,w
  6829  0CE7  00A1               	movwf	?___ftge+1
  6830  0CE8  0849               	movf	floor@x+2,w
  6831  0CE9  00A2               	movwf	?___ftge+2
  6832  0CEA  084A               	movf	floor@i,w
  6833  0CEB  00A3               	movwf	?___ftge+3
  6834  0CEC  084B               	movf	floor@i+1,w
  6835  0CED  00A4               	movwf	?___ftge+4
  6836  0CEE  084C               	movf	floor@i+2,w
  6837  0CEF  00A5               	movwf	?___ftge+5
  6838  0CF0  25EF  3188         	fcall	___ftge
  6839  0CF2  1803               	btfsc	3,0
  6840  0CF3  2D07               	goto	l6461
  6841  0CF4  3080               	movlw	128
  6842  0CF5  01BB               	clrf	?___ftadd
  6843  0CF6  00BC               	movwf	?___ftadd+1
  6844  0CF7  30BF               	movlw	191
  6845  0CF8  00BD               	movwf	?___ftadd+2
  6846  0CF9  084A               	movf	floor@i,w
  6847  0CFA  00BE               	movwf	?___ftadd+3
  6848  0CFB  084B               	movf	floor@i+1,w
  6849  0CFC  00BF               	movwf	?___ftadd+4
  6850  0CFD  084C               	movf	floor@i+2,w
  6851  0CFE  00C0               	movwf	?___ftadd+5
  6852  0CFF  271E               	fcall	___ftadd
  6853  0D00  083B               	movf	?___ftadd,w
  6854  0D01  00C7               	movwf	?_floor
  6855  0D02  083C               	movf	?___ftadd+1,w
  6856  0D03  00C8               	movwf	?_floor+1
  6857  0D04  083D               	movf	?___ftadd+2,w
  6858  0D05  00C9               	movwf	?_floor+2
  6859  0D06  0008               	return
  6860  0D07                     l6461:	
  6861  0D07  084A               	movf	floor@i,w
  6862  0D08  00C7               	movwf	?_floor
  6863  0D09  084B               	movf	floor@i+1,w
  6864  0D0A  00C8               	movwf	?_floor+1
  6865  0D0B  084C               	movf	floor@i+2,w
  6866  0D0C  00C9               	movwf	?_floor+2
  6867  0D0D  0008               	return
  6868  0D0E                     __end_of_floor:	
  6869  0D0E                     __ptext1625:	
  6870 ;; =============== function _mOffCheckConfigMode ends ============
  6871                           
  6872                           
  6873 ;; *************** function _exp *****************
  6874 ;; Defined at:
  6875 ;;		line 13 in file "../../common/exp.c"
  6876 ;; Parameters:    Size  Location     Type
  6877 ;;  x               3   60[BANK0 ] unsigned char 
  6878 ;; Auto vars:     Size  Location     Type
  6879 ;;  exp             2   66[BANK0 ] int 
  6880 ;;  sign            1   68[BANK0 ] unsigned char 
  6881 ;; Return value:  Size  Location     Type
  6882 ;;                  3   60[BANK0 ] unsigned char 
  6883 ;; Registers used:
  6884 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  6885 ;; Tracked objects:
  6886 ;;		On entry : 1F/0
  6887 ;;		On exit  : 1F/0
  6888 ;;		Unchanged: FFE00/0
  6889 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  6890 ;;      Params:         0       3       0       0
  6891 ;;      Locals:         0       6       0       0
  6892 ;;      Temps:          0       0       0       0
  6893 ;;      Totals:         0       9       0       0
  6894 ;;Total ram usage:        9 bytes
  6895 ;; Hardware stack levels used:    1
  6896 ;; Hardware stack levels required when called:    4
  6897 ;; This function calls:
  6898 ;;		___ftge
  6899 ;;		___ftneg
  6900 ;;		___ftmul
  6901 ;;		_floor
  6902 ;;		___fttol
  6903 ;;		___awtoft
  6904 ;;		___ftsub
  6905 ;;		_eval_poly
  6906 ;;		_ldexp
  6907 ;;		___ftdiv
  6908 ;; This function is called by:
  6909 ;;		_genExponents
  6910 ;; This function uses a non-reentrant model
  6911 ;;
  6912  0D0E                     _exp:	
  6913                           
  6914                           ; Regs used in _exp: [allreg]
  6915  0D0E  085E               	movf	exp@x+2,w
  6916  0D0F  045D               	iorwf	exp@x+1,w
  6917  0D10  045C               	iorwf	exp@x,w
  6918  0D11  1D03               	skipz
  6919  0D12  2D19               	goto	l6487
  6920  0D13  3080               	movlw	128
  6921  0D14  01DC               	clrf	?_exp
  6922  0D15  00DD               	movwf	?_exp+1
  6923  0D16  303F               	movlw	63
  6924  0D17  00DE               	movwf	?_exp+2
  6925  0D18  0008               	return
  6926  0D19                     l6487:	
  6927  0D19  3072               	movlw	114
  6928  0D1A  00A0               	movwf	?___ftge
  6929  0D1B  3031               	movlw	49
  6930  0D1C  00A1               	movwf	?___ftge+1
  6931  0D1D  3044               	movlw	68
  6932  0D1E  00A2               	movwf	?___ftge+2
  6933  0D1F  085C               	movf	exp@x,w
  6934  0D20  00A3               	movwf	?___ftge+3
  6935  0D21  085D               	movf	exp@x+1,w
  6936  0D22  00A4               	movwf	?___ftge+4
  6937  0D23  085E               	movf	exp@x+2,w
  6938  0D24  00A5               	movwf	?___ftge+5
  6939  0D25  25EF  3188         	fcall	___ftge
  6940  0D27  1803               	btfsc	3,0
  6941  0D28  2D2F               	goto	l6497
  6942  0D29  30FF               	movlw	255
  6943  0D2A  00DC               	movwf	?_exp
  6944  0D2B  307F               	movlw	127
  6945  0D2C  00DD               	movwf	?_exp+1
  6946  0D2D  00DE               	movwf	?_exp+2
  6947  0D2E  0008               	return
  6948  0D2F                     l6497:	
  6949  0D2F  085C               	movf	exp@x,w
  6950  0D30  00A0               	movwf	?___ftge
  6951  0D31  085D               	movf	exp@x+1,w
  6952  0D32  00A1               	movwf	?___ftge+1
  6953  0D33  085E               	movf	exp@x+2,w
  6954  0D34  00A2               	movwf	?___ftge+2
  6955  0D35  3049               	movlw	73
  6956  0D36  00A3               	movwf	?___ftge+3
  6957  0D37  303A               	movlw	58
  6958  0D38  00A4               	movwf	?___ftge+4
  6959  0D39  30C4               	movlw	196
  6960  0D3A  00A5               	movwf	?___ftge+5
  6961  0D3B  25EF  3188         	fcall	___ftge
  6962  0D3D  1803               	btfsc	3,0
  6963  0D3E  2D43               	goto	l6503
  6964  0D3F  01DC               	clrf	?_exp
  6965  0D40  01DD               	clrf	?_exp+1
  6966  0D41  01DE               	clrf	?_exp+2
  6967  0D42  0008               	return
  6968  0D43                     l6503:	
  6969  0D43  085C               	movf	exp@x,w
  6970  0D44  00A0               	movwf	?___ftge
  6971  0D45  085D               	movf	exp@x+1,w
  6972  0D46  00A1               	movwf	?___ftge+1
  6973  0D47  085E               	movf	exp@x+2,w
  6974  0D48  00A2               	movwf	?___ftge+2
  6975  0D49  01A3               	clrf	?___ftge+3
  6976  0D4A  01A4               	clrf	?___ftge+4
  6977  0D4B  01A5               	clrf	?___ftge+5
  6978  0D4C  25EF  3188         	fcall	___ftge
  6979  0D4E  3000               	movlw	0
  6980  0D4F  1C03               	btfss	3,0
  6981  0D50  3001               	movlw	1
  6982  0D51  00E4               	movwf	exp@sign
  6983  0D52  0864               	movf	exp@sign,w
  6984  0D53  1903               	btfsc	3,2
  6985  0D54  2D63               	goto	l6509
  6986  0D55  085C               	movf	exp@x,w
  6987  0D56  00A0               	movwf	?___ftneg
  6988  0D57  085D               	movf	exp@x+1,w
  6989  0D58  00A1               	movwf	?___ftneg+1
  6990  0D59  085E               	movf	exp@x+2,w
  6991  0D5A  00A2               	movwf	?___ftneg+2
  6992  0D5B  26FB  3188         	fcall	___ftneg
  6993  0D5D  0820               	movf	?___ftneg,w
  6994  0D5E  00DC               	movwf	exp@x
  6995  0D5F  0821               	movf	?___ftneg+1,w
  6996  0D60  00DD               	movwf	exp@x+1
  6997  0D61  0822               	movf	?___ftneg+2,w
  6998  0D62  00DE               	movwf	exp@x+2
  6999  0D63                     l6509:	
  7000  0D63  30AA               	movlw	170
  7001  0D64  00AC               	movwf	?___ftmul
  7002  0D65  30B8               	movlw	184
  7003  0D66  00AD               	movwf	?___ftmul+1
  7004  0D67  303F               	movlw	63
  7005  0D68  00AE               	movwf	?___ftmul+2
  7006  0D69  085C               	movf	exp@x,w
  7007  0D6A  00AF               	movwf	?___ftmul+3
  7008  0D6B  085D               	movf	exp@x+1,w
  7009  0D6C  00B0               	movwf	?___ftmul+4
  7010  0D6D  085E               	movf	exp@x+2,w
  7011  0D6E  00B1               	movwf	?___ftmul+5
  7012  0D6F  2429  3188         	fcall	___ftmul
  7013  0D71  082C               	movf	?___ftmul,w
  7014  0D72  00DC               	movwf	exp@x
  7015  0D73  082D               	movf	?___ftmul+1,w
  7016  0D74  00DD               	movwf	exp@x+1
  7017  0D75  082E               	movf	?___ftmul+2,w
  7018  0D76  00DE               	movwf	exp@x+2
  7019  0D77  085C               	movf	exp@x,w
  7020  0D78  00C7               	movwf	?_floor
  7021  0D79  085D               	movf	exp@x+1,w
  7022  0D7A  00C8               	movwf	?_floor+1
  7023  0D7B  085E               	movf	exp@x+2,w
  7024  0D7C  00C9               	movwf	?_floor+2
  7025  0D7D  24A2  3188         	fcall	_floor
  7026  0D7F  0847               	movf	?_floor,w
  7027  0D80  00A0               	movwf	?___fttol
  7028  0D81  0848               	movf	?_floor+1,w
  7029  0D82  00A1               	movwf	?___fttol+1
  7030  0D83  0849               	movf	?_floor+2,w
  7031  0D84  00A2               	movwf	?___fttol+2
  7032  0D85  261B  3188         	fcall	___fttol
  7033  0D87  0821               	movf	?___fttol+1,w
  7034  0D88  00E3               	movwf	exp@exp+1
  7035  0D89  0820               	movf	?___fttol,w
  7036  0D8A  00E2               	movwf	exp@exp
  7037  0D8B  0863               	movf	exp@exp+1,w
  7038  0D8C  00A9               	movwf	?___awtoft+1
  7039  0D8D  0862               	movf	exp@exp,w
  7040  0D8E  00A8               	movwf	?___awtoft
  7041  0D8F  2703  3188         	fcall	___awtoft
  7042  0D91  0828               	movf	?___awtoft,w
  7043  0D92  00C7               	movwf	?___ftsub
  7044  0D93  0829               	movf	?___awtoft+1,w
  7045  0D94  00C8               	movwf	?___ftsub+1
  7046  0D95  082A               	movf	?___awtoft+2,w
  7047  0D96  00C9               	movwf	?___ftsub+2
  7048  0D97  085C               	movf	exp@x,w
  7049  0D98  00CA               	movwf	?___ftsub+3
  7050  0D99  085D               	movf	exp@x+1,w
  7051  0D9A  00CB               	movwf	?___ftsub+4
  7052  0D9B  085E               	movf	exp@x+2,w
  7053  0D9C  00CC               	movwf	?___ftsub+5
  7054  0D9D  2678               	fcall	___ftsub
  7055  0D9E  0847               	movf	?___ftsub,w
  7056  0D9F  00DC               	movwf	exp@x
  7057  0DA0  0848               	movf	?___ftsub+1,w
  7058  0DA1  00DD               	movwf	exp@x+1
  7059  0DA2  0849               	movf	?___ftsub+2,w
  7060  0DA3  00DE               	movwf	exp@x+2
  7061  0DA4  085C               	movf	exp@x,w
  7062  0DA5  00D1               	movwf	?_eval_poly
  7063  0DA6  085D               	movf	exp@x+1,w
  7064  0DA7  00D2               	movwf	?_eval_poly+1
  7065  0DA8  085E               	movf	exp@x+2,w
  7066  0DA9  00D3               	movwf	?_eval_poly+2
  7067  0DAA  30A7               	movlw	(exp@coeff| (0+32768))& (0+255)
  7068  0DAB  00D4               	movwf	?_eval_poly+3
  7069  0DAC  3009               	movlw	9
  7070  0DAD  00D5               	movwf	?_eval_poly+4
  7071  0DAE  01D6               	clrf	?_eval_poly+5
  7072  0DAF  3186  2693  3188   	fcall	_eval_poly
  7073  0DB2  0851               	movf	?_eval_poly,w
  7074  0DB3  00C7               	movwf	?_ldexp
  7075  0DB4  0852               	movf	?_eval_poly+1,w
  7076  0DB5  00C8               	movwf	?_ldexp+1
  7077  0DB6  0853               	movf	?_eval_poly+2,w
  7078  0DB7  00C9               	movwf	?_ldexp+2
  7079  0DB8  0863               	movf	exp@exp+1,w
  7080  0DB9  00CB               	movwf	?_ldexp+4
  7081  0DBA  0862               	movf	exp@exp,w
  7082  0DBB  00CA               	movwf	?_ldexp+3
  7083  0DBC  3185  25C8  3188   	fcall	_ldexp
  7084  0DBF  0847               	movf	?_ldexp,w
  7085  0DC0  00DC               	movwf	exp@x
  7086  0DC1  0848               	movf	?_ldexp+1,w
  7087  0DC2  00DD               	movwf	exp@x+1
  7088  0DC3  0849               	movf	?_ldexp+2,w
  7089  0DC4  00DE               	movwf	exp@x+2
  7090  0DC5  0864               	movf	exp@sign,w
  7091  0DC6  1903               	btfsc	3,2
  7092  0DC7  0008               	return
  7093  0DC8  30FF               	movlw	255
  7094  0DC9  00DF               	movwf	_exp$2163
  7095  0DCA  307F               	movlw	127
  7096  0DCB  00E0               	movwf	_exp$2163+1
  7097  0DCC  00E1               	movwf	_exp$2163+2
  7098  0DCD  065E               	xorwf	exp@x+2,w
  7099  0DCE  1D03               	skipz
  7100  0DCF  2DD6               	goto	u4745
  7101  0DD0  085D               	movf	exp@x+1,w
  7102  0DD1  0660               	xorwf	_exp$2163+1,w
  7103  0DD2  1D03               	skipz
  7104  0DD3  2DD6               	goto	u4745
  7105  0DD4  085C               	movf	exp@x,w
  7106  0DD5  065F               	xorwf	_exp$2163,w
  7107  0DD6                     u4745:	
  7108  0DD6  1D03               	skipz
  7109  0DD7  2DDC               	goto	l6529
  7110  0DD8  01DC               	clrf	?_exp
  7111  0DD9  01DD               	clrf	?_exp+1
  7112  0DDA  01DE               	clrf	?_exp+2
  7113  0DDB  0008               	return
  7114  0DDC                     l6529:	
  7115  0DDC  085C               	movf	exp@x,w
  7116  0DDD  00A8               	movwf	?___ftdiv
  7117  0DDE  085D               	movf	exp@x+1,w
  7118  0DDF  00A9               	movwf	?___ftdiv+1
  7119  0DE0  085E               	movf	exp@x+2,w
  7120  0DE1  00AA               	movwf	?___ftdiv+2
  7121  0DE2  3080               	movlw	128
  7122  0DE3  01AB               	clrf	?___ftdiv+3
  7123  0DE4  00AC               	movwf	?___ftdiv+4
  7124  0DE5  303F               	movlw	63
  7125  0DE6  00AD               	movwf	?___ftdiv+5
  7126  0DE7  23C7               	fcall	___ftdiv
  7127  0DE8  0828               	movf	?___ftdiv,w
  7128  0DE9  00DC               	movwf	?_exp
  7129  0DEA  0829               	movf	?___ftdiv+1,w
  7130  0DEB  00DD               	movwf	?_exp+1
  7131  0DEC  082A               	movf	?___ftdiv+2,w
  7132  0DED  00DE               	movwf	?_exp+2
  7133  0DEE  0008               	return
  7134  0DEF                     __end_of_exp:	
  7135  0DEF                     __ptext1642:	
  7136 ;; =============== function ___lldiv ends ============
  7137                           
  7138                           
  7139 ;; *************** function ___ftge *****************
  7140 ;; Defined at:
  7141 ;;		line 5 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\ftge.c"
  7142 ;; Parameters:    Size  Location     Type
  7143 ;;  ff1             3    0[BANK0 ] float 
  7144 ;;  ff2             3    3[BANK0 ] float 
  7145 ;; Auto vars:     Size  Location     Type
  7146 ;;		None
  7147 ;; Return value:  Size  Location     Type
  7148 ;;		None               void
  7149 ;; Registers used:
  7150 ;;		wreg, status,2, status,0
  7151 ;; Tracked objects:
  7152 ;;		On entry : 1F/0
  7153 ;;		On exit  : 1F/0
  7154 ;;		Unchanged: FFFE0/0
  7155 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7156 ;;      Params:         0       6       0       0
  7157 ;;      Locals:         0       0       0       0
  7158 ;;      Temps:          0       0       0       0
  7159 ;;      Totals:         0       6       0       0
  7160 ;;Total ram usage:        6 bytes
  7161 ;; Hardware stack levels used:    1
  7162 ;; Hardware stack levels required when called:    1
  7163 ;; This function calls:
  7164 ;;		Nothing
  7165 ;; This function is called by:
  7166 ;;		_exp
  7167 ;;		_floor
  7168 ;;		_ldexp
  7169 ;; This function uses a non-reentrant model
  7170 ;;
  7171  0DEF                     ___ftge:	
  7172                           
  7173                           ; Regs used in ___ftge: [wreg+status,2+status,0]
  7174  0DEF  1FA2               	btfss	___ftge@ff1+2,7
  7175  0DF0  2DFE               	goto	l5843
  7176  0DF1  0820               	movf	___ftge@ff1,w
  7177  0DF2  3C00               	sublw	0
  7178  0DF3  00A0               	movwf	___ftge@ff1
  7179  0DF4  0821               	movf	___ftge@ff1+1,w
  7180  0DF5  1C03               	skipc
  7181  0DF6  0F21               	incfsz	___ftge@ff1+1,w
  7182  0DF7  3C00               	sublw	0
  7183  0DF8  00A1               	movwf	___ftge@ff1+1
  7184  0DF9  0822               	movf	___ftge@ff1+2,w
  7185  0DFA  1C03               	skipc
  7186  0DFB  0F22               	incfsz	___ftge@ff1+2,w
  7187  0DFC  3C80               	sublw	128
  7188  0DFD  00A2               	movwf	___ftge@ff1+2
  7189  0DFE                     l5843:	
  7190  0DFE  1FA5               	btfss	___ftge@ff2+2,7
  7191  0DFF  2E0D               	goto	l5847
  7192  0E00  0823               	movf	___ftge@ff2,w
  7193  0E01  3C00               	sublw	0
  7194  0E02  00A3               	movwf	___ftge@ff2
  7195  0E03  0824               	movf	___ftge@ff2+1,w
  7196  0E04  1C03               	skipc
  7197  0E05  0F24               	incfsz	___ftge@ff2+1,w
  7198  0E06  3C00               	sublw	0
  7199  0E07  00A4               	movwf	___ftge@ff2+1
  7200  0E08  0825               	movf	___ftge@ff2+2,w
  7201  0E09  1C03               	skipc
  7202  0E0A  0F25               	incfsz	___ftge@ff2+2,w
  7203  0E0B  3C80               	sublw	128
  7204  0E0C  00A5               	movwf	___ftge@ff2+2
  7205  0E0D                     l5847:	
  7206  0E0D  3080               	movlw	128
  7207  0E0E  06A2               	xorwf	___ftge@ff1+2,f
  7208  0E0F  06A5               	xorwf	___ftge@ff2+2,f
  7209  0E10  0825               	movf	___ftge@ff2+2,w
  7210  0E11  0222               	subwf	___ftge@ff1+2,w
  7211  0E12  1D03               	skipz
  7212  0E13  0008               	return
  7213  0E14  0824               	movf	___ftge@ff2+1,w
  7214  0E15  0221               	subwf	___ftge@ff1+1,w
  7215  0E16  1D03               	skipz
  7216  0E17  0008               	return
  7217  0E18  0823               	movf	___ftge@ff2,w
  7218  0E19  0220               	subwf	___ftge@ff1,w
  7219  0E1A  0008               	return
  7220  0E1B                     __end_of___ftge:	
  7221  0E1B                     __ptext1646:	
  7222 ;; =============== function ___awdiv ends ============
  7223                           
  7224                           
  7225 ;; *************** function ___fttol *****************
  7226 ;; Defined at:
  7227 ;;		line 45 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\fttol.c"
  7228 ;; Parameters:    Size  Location     Type
  7229 ;;  f1              3    0[BANK0 ] float 
  7230 ;; Auto vars:     Size  Location     Type
  7231 ;;  lval            4    8[BANK0 ] unsigned long 
  7232 ;;  exp1            1   12[BANK0 ] unsigned char 
  7233 ;;  sign1           1    7[BANK0 ] unsigned char 
  7234 ;; Return value:  Size  Location     Type
  7235 ;;                  4    0[BANK0 ] long 
  7236 ;; Registers used:
  7237 ;;		wreg, status,2, status,0
  7238 ;; Tracked objects:
  7239 ;;		On entry : 1F/0
  7240 ;;		On exit  : 1F/0
  7241 ;;		Unchanged: FFFE0/0
  7242 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7243 ;;      Params:         0       4       0       0
  7244 ;;      Locals:         0       6       0       0
  7245 ;;      Temps:          0       3       0       0
  7246 ;;      Totals:         0      13       0       0
  7247 ;;Total ram usage:       13 bytes
  7248 ;; Hardware stack levels used:    1
  7249 ;; Hardware stack levels required when called:    1
  7250 ;; This function calls:
  7251 ;;		Nothing
  7252 ;; This function is called by:
  7253 ;;		_genExponents
  7254 ;;		_exp
  7255 ;;		_floor
  7256 ;; This function uses a non-reentrant model
  7257 ;;
  7258  0E1B                     ___fttol:	
  7259                           
  7260                           ; Regs used in ___fttol: [wreg+status,2+status,0]
  7261  0E1B  0820               	movf	___fttol@f1,w
  7262  0E1C  00A4               	movwf	??___fttol
  7263  0E1D  0821               	movf	___fttol@f1+1,w
  7264  0E1E  00A5               	movwf	??___fttol+1
  7265  0E1F  0822               	movf	___fttol@f1+2,w
  7266  0E20  00A6               	movwf	??___fttol+2
  7267  0E21  1003               	clrc
  7268  0E22  0D25               	rlf	??___fttol+1,w
  7269  0E23  0D26               	rlf	??___fttol+2,w
  7270  0E24  00AC               	movwf	___fttol@exp1
  7271  0E25  08AC               	movf	___fttol@exp1,f
  7272  0E26  1D03               	skipz
  7273  0E27  2E2D               	goto	l5733
  7274  0E28                     l5731:	
  7275  0E28  01A0               	clrf	?___fttol
  7276  0E29  01A1               	clrf	?___fttol+1
  7277  0E2A  01A2               	clrf	?___fttol+2
  7278  0E2B  01A3               	clrf	?___fttol+3
  7279  0E2C  0008               	return
  7280  0E2D                     l5733:	
  7281  0E2D  0820               	movf	___fttol@f1,w
  7282  0E2E  00A4               	movwf	??___fttol
  7283  0E2F  0821               	movf	___fttol@f1+1,w
  7284  0E30  00A5               	movwf	??___fttol+1
  7285  0E31  0822               	movf	___fttol@f1+2,w
  7286  0E32  00A6               	movwf	??___fttol+2
  7287  0E33  3017               	movlw	23
  7288  0E34                     u3835:	
  7289  0E34  36A6               	lsrf	??___fttol+2,f
  7290  0E35  0CA5               	rrf	??___fttol+1,f
  7291  0E36  0CA4               	rrf	??___fttol,f
  7292  0E37  0B89               	decfsz	9,f
  7293  0E38  2E34               	goto	u3835
  7294  0E39  0824               	movf	??___fttol,w
  7295  0E3A  00A7               	movwf	___fttol@sign1
  7296  0E3B  17A1               	bsf	___fttol@f1+1,7
  7297  0E3C  01A2               	clrf	___fttol@f1+2
  7298  0E3D  0820               	movf	___fttol@f1,w
  7299  0E3E  00A8               	movwf	___fttol@lval
  7300  0E3F  0821               	movf	___fttol@f1+1,w
  7301  0E40  00A9               	movwf	___fttol@lval+1
  7302  0E41  0822               	movf	___fttol@f1+2,w
  7303  0E42  00AA               	movwf	___fttol@lval+2
  7304  0E43  308E               	movlw	142
  7305  0E44  01AB               	clrf	___fttol@lval+3
  7306  0E45  02AC               	subwf	___fttol@exp1,f
  7307  0E46  1FAC               	btfss	___fttol@exp1,7
  7308  0E47  2E54               	goto	l5753
  7309  0E48  082C               	movf	___fttol@exp1,w
  7310  0E49  3A80               	xorlw	128
  7311  0E4A  3E8F               	addlw	143
  7312  0E4B  1C03               	btfss	3,0
  7313  0E4C  2E28               	goto	l5731
  7314  0E4D                     l5749:	
  7315  0E4D  36AB               	lsrf	___fttol@lval+3,f
  7316  0E4E  0CAA               	rrf	___fttol@lval+2,f
  7317  0E4F  0CA9               	rrf	___fttol@lval+1,f
  7318  0E50  0CA8               	rrf	___fttol@lval,f
  7319  0E51  0FAC               	incfsz	___fttol@exp1,f
  7320  0E52  2E4D               	goto	l5749
  7321  0E53  2E61               	goto	l5759
  7322  0E54                     l5753:	
  7323  0E54  3018               	movlw	24
  7324  0E55  022C               	subwf	___fttol@exp1,w
  7325  0E56  1803               	btfsc	3,0
  7326  0E57  2E28               	goto	l5731
  7327  0E58                     l1562:	
  7328  0E58  08AC               	movf	___fttol@exp1,f
  7329  0E59  1903               	btfsc	3,2
  7330  0E5A  2E61               	goto	l5759
  7331  0E5B  35A8               	lslf	___fttol@lval,f
  7332  0E5C  0DA9               	rlf	___fttol@lval+1,f
  7333  0E5D  0DAA               	rlf	___fttol@lval+2,f
  7334  0E5E  0DAB               	rlf	___fttol@lval+3,f
  7335  0E5F  03AC               	decf	___fttol@exp1,f
  7336  0E60  2E58               	goto	l1562
  7337  0E61                     l5759:	
  7338  0E61  0827               	movf	___fttol@sign1,w
  7339  0E62  1903               	btfsc	3,2
  7340  0E63  2E6F               	goto	l5763
  7341  0E64  09A8               	comf	___fttol@lval,f
  7342  0E65  09A9               	comf	___fttol@lval+1,f
  7343  0E66  09AA               	comf	___fttol@lval+2,f
  7344  0E67  09AB               	comf	___fttol@lval+3,f
  7345  0E68  0AA8               	incf	___fttol@lval,f
  7346  0E69  1903               	skipnz
  7347  0E6A  0AA9               	incf	___fttol@lval+1,f
  7348  0E6B  1903               	skipnz
  7349  0E6C  0AAA               	incf	___fttol@lval+2,f
  7350  0E6D  1903               	skipnz
  7351  0E6E  0AAB               	incf	___fttol@lval+3,f
  7352  0E6F                     l5763:	
  7353  0E6F  082B               	movf	___fttol@lval+3,w
  7354  0E70  00A3               	movwf	?___fttol+3
  7355  0E71  082A               	movf	___fttol@lval+2,w
  7356  0E72  00A2               	movwf	?___fttol+2
  7357  0E73  0829               	movf	___fttol@lval+1,w
  7358  0E74  00A1               	movwf	?___fttol+1
  7359  0E75  0828               	movf	___fttol@lval,w
  7360  0E76  00A0               	movwf	?___fttol
  7361  0E77  0008               	return
  7362  0E78                     __end_of___fttol:	
  7363  0E78                     __ptext1626:	
  7364 ;; =============== function _exp ends ============
  7365                           
  7366                           
  7367 ;; *************** function ___ftsub *****************
  7368 ;; Defined at:
  7369 ;;		line 17 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\ftsub.c"
  7370 ;; Parameters:    Size  Location     Type
  7371 ;;  f2              3   39[BANK0 ] float 
  7372 ;;  f1              3   42[BANK0 ] float 
  7373 ;; Auto vars:     Size  Location     Type
  7374 ;;		None
  7375 ;; Return value:  Size  Location     Type
  7376 ;;                  3   39[BANK0 ] float 
  7377 ;; Registers used:
  7378 ;;		wreg, status,2, status,0, pclath, cstack
  7379 ;; Tracked objects:
  7380 ;;		On entry : 1F/0
  7381 ;;		On exit  : 1F/0
  7382 ;;		Unchanged: FFFE0/0
  7383 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7384 ;;      Params:         0       6       0       0
  7385 ;;      Locals:         0       0       0       0
  7386 ;;      Temps:          0       0       0       0
  7387 ;;      Totals:         0       6       0       0
  7388 ;;Total ram usage:        6 bytes
  7389 ;; Hardware stack levels used:    1
  7390 ;; Hardware stack levels required when called:    3
  7391 ;; This function calls:
  7392 ;;		___ftadd
  7393 ;; This function is called by:
  7394 ;;		_genExponents
  7395 ;;		_exp
  7396 ;; This function uses a non-reentrant model
  7397 ;;
  7398  0E78                     ___ftsub:	
  7399                           
  7400                           ; Regs used in ___ftsub: [wreg+status,2+status,0+pclath+cstack]
  7401  0E78  3080               	movlw	128
  7402  0E79  06C9               	xorwf	___ftsub@f2+2,f
  7403  0E7A  084A               	movf	___ftsub@f1,w
  7404  0E7B  00BB               	movwf	?___ftadd
  7405  0E7C  084B               	movf	___ftsub@f1+1,w
  7406  0E7D  00BC               	movwf	?___ftadd+1
  7407  0E7E  084C               	movf	___ftsub@f1+2,w
  7408  0E7F  00BD               	movwf	?___ftadd+2
  7409  0E80  0847               	movf	___ftsub@f2,w
  7410  0E81  00BE               	movwf	?___ftadd+3
  7411  0E82  0848               	movf	___ftsub@f2+1,w
  7412  0E83  00BF               	movwf	?___ftadd+4
  7413  0E84  0849               	movf	___ftsub@f2+2,w
  7414  0E85  00C0               	movwf	?___ftadd+5
  7415  0E86  271E               	fcall	___ftadd
  7416  0E87  083B               	movf	?___ftadd,w
  7417  0E88  00C7               	movwf	?___ftsub
  7418  0E89  083C               	movf	?___ftadd+1,w
  7419  0E8A  00C8               	movwf	?___ftsub+1
  7420  0E8B  083D               	movf	?___ftadd+2,w
  7421  0E8C  00C9               	movwf	?___ftsub+2
  7422  0E8D  0008               	return
  7423  0E8E                     __end_of___ftsub:	
  7424  0E8E                     __ptext1648:	
  7425 ;; =============== function ___lmul ends ============
  7426                           
  7427                           
  7428 ;; *************** function ___ftpack *****************
  7429 ;; Defined at:
  7430 ;;		line 63 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\float.c"
  7431 ;; Parameters:    Size  Location     Type
  7432 ;;  arg             3    0[BANK0 ] unsigned um
  7433 ;;  exp             1    3[BANK0 ] unsigned char 
  7434 ;;  sign            1    4[BANK0 ] unsigned char 
  7435 ;; Auto vars:     Size  Location     Type
  7436 ;;		None
  7437 ;; Return value:  Size  Location     Type
  7438 ;;                  3    0[BANK0 ] float 
  7439 ;; Registers used:
  7440 ;;		wreg, status,2, status,0
  7441 ;; Tracked objects:
  7442 ;;		On entry : 1F/0
  7443 ;;		On exit  : 1F/0
  7444 ;;		Unchanged: FFFE0/0
  7445 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7446 ;;      Params:         0       5       0       0
  7447 ;;      Locals:         0       0       0       0
  7448 ;;      Temps:          0       3       0       0
  7449 ;;      Totals:         0       8       0       0
  7450 ;;Total ram usage:        8 bytes
  7451 ;; Hardware stack levels used:    1
  7452 ;; Hardware stack levels required when called:    1
  7453 ;; This function calls:
  7454 ;;		Nothing
  7455 ;; This function is called by:
  7456 ;;		___ftadd
  7457 ;;		___ftdiv
  7458 ;;		___ftmul
  7459 ;;		___lbtoft
  7460 ;;		___awtoft
  7461 ;;		___altoft
  7462 ;; This function uses a non-reentrant model
  7463 ;;
  7464  0E8E                     ___ftpack:	
  7465                           
  7466                           ; Regs used in ___ftpack: [wreg+status,2+status,0]
  7467  0E8E  0823               	movf	___ftpack@exp,w
  7468  0E8F  1903               	btfsc	3,2
  7469  0E90  2E96               	goto	l5693
  7470  0E91  0822               	movf	___ftpack@arg+2,w
  7471  0E92  0421               	iorwf	___ftpack@arg+1,w
  7472  0E93  0420               	iorwf	___ftpack@arg,w
  7473  0E94  1D03               	skipz
  7474  0E95  2E9E               	goto	l5699
  7475  0E96                     l5693:	
  7476  0E96  01A0               	clrf	?___ftpack
  7477  0E97  01A1               	clrf	?___ftpack+1
  7478  0E98  01A2               	clrf	?___ftpack+2
  7479  0E99  0008               	return
  7480  0E9A                     l5697:	
  7481  0E9A  0AA3               	incf	___ftpack@exp,f
  7482  0E9B  36A2               	lsrf	___ftpack@arg+2,f
  7483  0E9C  0CA1               	rrf	___ftpack@arg+1,f
  7484  0E9D  0CA0               	rrf	___ftpack@arg,f
  7485  0E9E                     l5699:	
  7486  0E9E  30FE               	movlw	254
  7487  0E9F  0522               	andwf	___ftpack@arg+2,w
  7488  0EA0  1903               	btfsc	3,2
  7489  0EA1  2EAC               	goto	l5703
  7490  0EA2  2E9A               	goto	l5697
  7491  0EA3                     l5701:	
  7492  0EA3  0AA3               	incf	___ftpack@exp,f
  7493  0EA4  0AA0               	incf	___ftpack@arg,f
  7494  0EA5  1903               	skipnz
  7495  0EA6  0AA1               	incf	___ftpack@arg+1,f
  7496  0EA7  1903               	skipnz
  7497  0EA8  0AA2               	incf	___ftpack@arg+2,f
  7498  0EA9  36A2               	lsrf	___ftpack@arg+2,f
  7499  0EAA  0CA1               	rrf	___ftpack@arg+1,f
  7500  0EAB  0CA0               	rrf	___ftpack@arg,f
  7501  0EAC                     l5703:	
  7502  0EAC  30FF               	movlw	255
  7503  0EAD  0522               	andwf	___ftpack@arg+2,w
  7504  0EAE  1903               	btfsc	3,2
  7505  0EAF  2EB5               	goto	l5707
  7506  0EB0  2EA3               	goto	l5701
  7507  0EB1                     l5705:	
  7508  0EB1  03A3               	decf	___ftpack@exp,f
  7509  0EB2  35A0               	lslf	___ftpack@arg,f
  7510  0EB3  0DA1               	rlf	___ftpack@arg+1,f
  7511  0EB4  0DA2               	rlf	___ftpack@arg+2,f
  7512  0EB5                     l5707:	
  7513  0EB5  1FA1               	btfss	___ftpack@arg+1,7
  7514  0EB6  2EB1               	goto	l5705
  7515  0EB7  1C23               	btfss	___ftpack@exp,0
  7516  0EB8  13A1               	bcf	___ftpack@arg+1,7
  7517  0EB9  36A3               	lsrf	___ftpack@exp,f
  7518  0EBA  0823               	movf	___ftpack@exp,w
  7519  0EBB  00A7               	movwf	??___ftpack+2
  7520  0EBC  01A6               	clrf	??___ftpack+1
  7521  0EBD  01A5               	clrf	??___ftpack
  7522  0EBE  0825               	movf	??___ftpack,w
  7523  0EBF  04A0               	iorwf	___ftpack@arg,f
  7524  0EC0  0826               	movf	??___ftpack+1,w
  7525  0EC1  04A1               	iorwf	___ftpack@arg+1,f
  7526  0EC2  0827               	movf	??___ftpack+2,w
  7527  0EC3  04A2               	iorwf	___ftpack@arg+2,f
  7528  0EC4  0824               	movf	___ftpack@sign,w
  7529  0EC5  1D03               	skipz
  7530  0EC6  17A2               	bsf	___ftpack@arg+2,7
  7531  0EC7  0008               	return
  7532  0EC8                     __end_of___ftpack:	
  7533  0EC8                     __ptext1652:	
  7534 ;; =============== function ___bmul ends ============
  7535                           
  7536                           
  7537 ;; *************** function _frexp *****************
  7538 ;; Defined at:
  7539 ;;		line 255 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\frexp.c"
  7540 ;; Parameters:    Size  Location     Type
  7541 ;;  value           3    0[BANK0 ] unsigned char 
  7542 ;;  eptr            1    3[BANK0 ] PTR int 
  7543 ;;		 -> floor@expon(2), 
  7544 ;; Auto vars:     Size  Location     Type
  7545 ;;		None
  7546 ;; Return value:  Size  Location     Type
  7547 ;;                  3    0[BANK0 ] PTR int 
  7548 ;; Registers used:
  7549 ;;		wreg, fsr1l, fsr1h, status,2, status,0
  7550 ;; Tracked objects:
  7551 ;;		On entry : 1F/0
  7552 ;;		On exit  : 1F/0
  7553 ;;		Unchanged: FFFE0/0
  7554 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7555 ;;      Params:         0       4       0       0
  7556 ;;      Locals:         0       0       0       0
  7557 ;;      Temps:          0       2       0       0
  7558 ;;      Totals:         0       6       0       0
  7559 ;;Total ram usage:        6 bytes
  7560 ;; Hardware stack levels used:    1
  7561 ;; Hardware stack levels required when called:    1
  7562 ;; This function calls:
  7563 ;;		Nothing
  7564 ;; This function is called by:
  7565 ;;		_floor
  7566 ;; This function uses a non-reentrant model
  7567 ;;
  7568  0EC8                     _frexp:	
  7569                           
  7570                           ; Regs used in _frexp: [wreg+fsr1l-status,0]
  7571  0EC8  0822               	movf	frexp@value+2,w
  7572  0EC9  0421               	iorwf	frexp@value+1,w
  7573  0ECA  0420               	iorwf	frexp@value,w
  7574  0ECB  1D03               	skipz
  7575  0ECC  2ED4               	goto	l5621
  7576  0ECD  0823               	movf	frexp@eptr,w
  7577  0ECE  0086               	movwf	6
  7578  0ECF  0187               	clrf	7
  7579  0ED0  0181               	clrf	1
  7580  0ED1  3141               	addfsr 1,1
  7581  0ED2  0181               	clrf	1
  7582  0ED3  0008               	return
  7583  0ED4                     l5621:	
  7584  0ED4  0822               	movf	frexp@value+2,w
  7585  0ED5  397F               	andlw	127
  7586  0ED6  00A4               	movwf	??_frexp
  7587  0ED7  01A5               	clrf	??_frexp+1
  7588  0ED8  35A4               	lslf	??_frexp,f
  7589  0ED9  0DA5               	rlf	??_frexp+1,f
  7590  0EDA  0823               	movf	frexp@eptr,w
  7591  0EDB  0086               	movwf	6
  7592  0EDC  0187               	clrf	7
  7593  0EDD  0824               	movf	??_frexp,w
  7594  0EDE  3FC0               	movwi [0]fsr1
  7595  0EDF  0825               	movf	??_frexp+1,w
  7596  0EE0  3FC1               	movwi [1]fsr1
  7597  0EE1  0D21               	rlf	frexp@value+1,w
  7598  0EE2  0D21               	rlf	frexp@value+1,w
  7599  0EE3  3901               	andlw	1
  7600  0EE4  00A4               	movwf	??_frexp
  7601  0EE5  01A5               	clrf	??_frexp+1
  7602  0EE6  0823               	movf	frexp@eptr,w
  7603  0EE7  0086               	movwf	6
  7604  0EE8  0824               	movf	??_frexp,w
  7605  0EE9  0481               	iorwf	1,f
  7606  0EEA  3141               	addfsr 1,1
  7607  0EEB  0825               	movf	??_frexp+1,w
  7608  0EEC  0481               	iorwf	1,f
  7609  0EED  0823               	movf	frexp@eptr,w
  7610  0EEE  0086               	movwf	6
  7611  0EEF  3082               	movlw	130
  7612  0EF0  0781               	addwf	1,f
  7613  0EF1  3141               	addfsr 1,1
  7614  0EF2  30FF               	movlw	255
  7615  0EF3  3D81               	addwfc	1,f
  7616  0EF4  317F               	addfsr 1,-1
  7617  0EF5  0822               	movf	frexp@value+2,w
  7618  0EF6  3980               	andlw	-128
  7619  0EF7  383F               	iorlw	63
  7620  0EF8  00A2               	movwf	frexp@value+2
  7621  0EF9  13A1               	bcf	frexp@value+1,7
  7622  0EFA  0008               	return
  7623  0EFB                     __end_of_frexp:	
  7624  0EFB                     __ptext1643:	
  7625 ;; =============== function ___ftge ends ============
  7626                           
  7627                           
  7628 ;; *************** function ___ftneg *****************
  7629 ;; Defined at:
  7630 ;;		line 16 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\ftneg.c"
  7631 ;; Parameters:    Size  Location     Type
  7632 ;;  f1              3    0[BANK0 ] float 
  7633 ;; Auto vars:     Size  Location     Type
  7634 ;;		None
  7635 ;; Return value:  Size  Location     Type
  7636 ;;                  3    0[BANK0 ] float 
  7637 ;; Registers used:
  7638 ;;		wreg
  7639 ;; Tracked objects:
  7640 ;;		On entry : 1F/0
  7641 ;;		On exit  : 1F/0
  7642 ;;		Unchanged: FFFE0/0
  7643 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7644 ;;      Params:         0       3       0       0
  7645 ;;      Locals:         0       0       0       0
  7646 ;;      Temps:          0       0       0       0
  7647 ;;      Totals:         0       3       0       0
  7648 ;;Total ram usage:        3 bytes
  7649 ;; Hardware stack levels used:    1
  7650 ;; Hardware stack levels required when called:    1
  7651 ;; This function calls:
  7652 ;;		Nothing
  7653 ;; This function is called by:
  7654 ;;		_exp
  7655 ;;		_ldexp
  7656 ;; This function uses a non-reentrant model
  7657 ;;
  7658  0EFB                     ___ftneg:	
  7659                           
  7660                           ; Regs used in ___ftneg: [wreg]
  7661  0EFB  0822               	movf	___ftneg@f1+2,w
  7662  0EFC  0421               	iorwf	___ftneg@f1+1,w
  7663  0EFD  0420               	iorwf	___ftneg@f1,w
  7664  0EFE  1903               	skipnz
  7665  0EFF  0008               	return
  7666  0F00  3080               	movlw	128
  7667  0F01  06A2               	xorwf	___ftneg@f1+2,f
  7668  0F02  0008               	return
  7669  0F03                     __end_of___ftneg:	
  7670  0F03                     __ptext1632:	
  7671 ;; =============== function ___altoft ends ============
  7672                           
  7673                           
  7674 ;; *************** function ___awtoft *****************
  7675 ;; Defined at:
  7676 ;;		line 33 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\awtoft.c"
  7677 ;; Parameters:    Size  Location     Type
  7678 ;;  c               2    8[BANK0 ] int 
  7679 ;; Auto vars:     Size  Location     Type
  7680 ;;  sign            1   11[BANK0 ] unsigned char 
  7681 ;; Return value:  Size  Location     Type
  7682 ;;                  3    8[BANK0 ] float 
  7683 ;; Registers used:
  7684 ;;		wreg, status,2, status,0, pclath, cstack
  7685 ;; Tracked objects:
  7686 ;;		On entry : 1F/0
  7687 ;;		On exit  : 1F/0
  7688 ;;		Unchanged: FFFE0/0
  7689 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7690 ;;      Params:         0       3       0       0
  7691 ;;      Locals:         0       1       0       0
  7692 ;;      Temps:          0       0       0       0
  7693 ;;      Totals:         0       4       0       0
  7694 ;;Total ram usage:        4 bytes
  7695 ;; Hardware stack levels used:    1
  7696 ;; Hardware stack levels required when called:    2
  7697 ;; This function calls:
  7698 ;;		___ftpack
  7699 ;; This function is called by:
  7700 ;;		_exp
  7701 ;; This function uses a non-reentrant model
  7702 ;;
  7703  0F03                     ___awtoft:	
  7704                           
  7705                           ; Regs used in ___awtoft: [wreg+status,2+status,0+pclath+cstack]
  7706  0F03  01AB               	clrf	___awtoft@sign
  7707  0F04  1FA9               	btfss	___awtoft@c+1,7
  7708  0F05  2F0D               	goto	l6235
  7709  0F06  09A8               	comf	___awtoft@c,f
  7710  0F07  09A9               	comf	___awtoft@c+1,f
  7711  0F08  0AA8               	incf	___awtoft@c,f
  7712  0F09  1903               	skipnz
  7713  0F0A  0AA9               	incf	___awtoft@c+1,f
  7714  0F0B  01AB               	clrf	___awtoft@sign
  7715  0F0C  0AAB               	incf	___awtoft@sign,f
  7716  0F0D                     l6235:	
  7717  0F0D  0828               	movf	___awtoft@c,w
  7718  0F0E  00A0               	movwf	?___ftpack
  7719  0F0F  0829               	movf	___awtoft@c+1,w
  7720  0F10  00A1               	movwf	?___ftpack+1
  7721  0F11  308E               	movlw	142
  7722  0F12  01A2               	clrf	?___ftpack+2
  7723  0F13  00A3               	movwf	?___ftpack+3
  7724  0F14  082B               	movf	___awtoft@sign,w
  7725  0F15  00A4               	movwf	?___ftpack+4
  7726  0F16  268E               	fcall	___ftpack
  7727  0F17  0820               	movf	?___ftpack,w
  7728  0F18  00A8               	movwf	?___awtoft
  7729  0F19  0821               	movf	?___ftpack+1,w
  7730  0F1A  00A9               	movwf	?___awtoft+1
  7731  0F1B  0822               	movf	?___ftpack+2,w
  7732  0F1C  00AA               	movwf	?___awtoft+2
  7733  0F1D  0008               	return
  7734  0F1E                     __end_of___awtoft:	
  7735  0F1E                     __ptext1636:	
  7736 ;; =============== function ___ftdiv ends ============
  7737                           
  7738                           
  7739 ;; *************** function ___ftadd *****************
  7740 ;; Defined at:
  7741 ;;		line 87 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\ftadd.c"
  7742 ;; Parameters:    Size  Location     Type
  7743 ;;  f1              3   27[BANK0 ] float 
  7744 ;;  f2              3   30[BANK0 ] float 
  7745 ;; Auto vars:     Size  Location     Type
  7746 ;;  exp1            1   38[BANK0 ] unsigned char 
  7747 ;;  exp2            1   37[BANK0 ] unsigned char 
  7748 ;;  sign            1   36[BANK0 ] unsigned char 
  7749 ;; Return value:  Size  Location     Type
  7750 ;;                  3   27[BANK0 ] float 
  7751 ;; Registers used:
  7752 ;;		wreg, status,2, status,0, pclath, cstack
  7753 ;; Tracked objects:
  7754 ;;		On entry : 1F/0
  7755 ;;		On exit  : 1F/0
  7756 ;;		Unchanged: FFFE0/0
  7757 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7758 ;;      Params:         0       6       0       0
  7759 ;;      Locals:         0       3       0       0
  7760 ;;      Temps:          0       3       0       0
  7761 ;;      Totals:         0      12       0       0
  7762 ;;Total ram usage:       12 bytes
  7763 ;; Hardware stack levels used:    1
  7764 ;; Hardware stack levels required when called:    2
  7765 ;; This function calls:
  7766 ;;		___ftpack
  7767 ;; This function is called by:
  7768 ;;		_genExponents
  7769 ;;		_floor
  7770 ;;		___ftsub
  7771 ;;		_eval_poly
  7772 ;; This function uses a non-reentrant model
  7773 ;;
  7774  0F1E                     ___ftadd:	
  7775                           
  7776                           ; Regs used in ___ftadd: [wreg+status,2+status,0+pclath+cstack]
  7777  0F1E  083B               	movf	___ftadd@f1,w
  7778  0F1F  00C1               	movwf	??___ftadd
  7779  0F20  083C               	movf	___ftadd@f1+1,w
  7780  0F21  00C2               	movwf	??___ftadd+1
  7781  0F22  083D               	movf	___ftadd@f1+2,w
  7782  0F23  00C3               	movwf	??___ftadd+2
  7783  0F24  1003               	clrc
  7784  0F25  0D42               	rlf	??___ftadd+1,w
  7785  0F26  0D43               	rlf	??___ftadd+2,w
  7786  0F27  00C6               	movwf	___ftadd@exp1
  7787  0F28  083E               	movf	___ftadd@f2,w
  7788  0F29  00C1               	movwf	??___ftadd
  7789  0F2A  083F               	movf	___ftadd@f2+1,w
  7790  0F2B  00C2               	movwf	??___ftadd+1
  7791  0F2C  0840               	movf	___ftadd@f2+2,w
  7792  0F2D  00C3               	movwf	??___ftadd+2
  7793  0F2E  1003               	clrc
  7794  0F2F  0D42               	rlf	??___ftadd+1,w
  7795  0F30  0D43               	rlf	??___ftadd+2,w
  7796  0F31  00C5               	movwf	___ftadd@exp2
  7797  0F32  0846               	movf	___ftadd@exp1,w
  7798  0F33  1903               	btfsc	3,2
  7799  0F34  2F41               	goto	l6053
  7800  0F35  0845               	movf	___ftadd@exp2,w
  7801  0F36  0246               	subwf	___ftadd@exp1,w
  7802  0F37  0845               	movf	___ftadd@exp2,w
  7803  0F38  1803               	skipnc
  7804  0F39  2F49               	goto	L9
  7805  0F3A  00C1               	movwf	??___ftadd
  7806  0F3B  0846               	movf	___ftadd@exp1,w
  7807  0F3C  02C1               	subwf	??___ftadd,f
  7808  0F3D  3019               	movlw	25
  7809  0F3E  0241               	subwf	??___ftadd,w
  7810  0F3F  1C03               	skipc
  7811  0F40  2F48               	goto	l6057
  7812  0F41                     l6053:	
  7813  0F41  083E               	movf	___ftadd@f2,w
  7814  0F42  00BB               	movwf	?___ftadd
  7815  0F43  083F               	movf	___ftadd@f2+1,w
  7816  0F44  00BC               	movwf	?___ftadd+1
  7817  0F45  0840               	movf	___ftadd@f2+2,w
  7818  0F46  00BD               	movwf	?___ftadd+2
  7819  0F47  0008               	return
  7820  0F48                     l6057:	
  7821  0F48  0845               	movf	___ftadd@exp2,w
  7822  0F49                     L9:	
  7823  0F49  1903               	btfsc	3,2
  7824  0F4A  0008               	return
  7825  0F4B  0846               	movf	___ftadd@exp1,w
  7826  0F4C  0245               	subwf	___ftadd@exp2,w
  7827  0F4D  1803               	skipnc
  7828  0F4E  2F57               	goto	l6063
  7829  0F4F  0846               	movf	___ftadd@exp1,w
  7830  0F50  00C1               	movwf	??___ftadd
  7831  0F51  0845               	movf	___ftadd@exp2,w
  7832  0F52  02C1               	subwf	??___ftadd,f
  7833  0F53  3019               	movlw	25
  7834  0F54  0241               	subwf	??___ftadd,w
  7835  0F55  1803               	btfsc	3,0
  7836  0F56  0008               	return
  7837  0F57                     l6063:	
  7838  0F57  3006               	movlw	6
  7839  0F58  00C4               	movwf	___ftadd@sign
  7840  0F59  1BBD               	btfsc	___ftadd@f1+2,7
  7841  0F5A  17C4               	bsf	___ftadd@sign,7
  7842  0F5B  1BC0               	btfsc	___ftadd@f2+2,7
  7843  0F5C  1744               	bsf	___ftadd@sign,6
  7844  0F5D  17BC               	bsf	___ftadd@f1+1,7
  7845  0F5E  01BD               	clrf	___ftadd@f1+2
  7846  0F5F  17BF               	bsf	___ftadd@f2+1,7
  7847  0F60  01C0               	clrf	___ftadd@f2+2
  7848  0F61  0845               	movf	___ftadd@exp2,w
  7849  0F62  0246               	subwf	___ftadd@exp1,w
  7850  0F63  1803               	skipnc
  7851  0F64  2F7C               	goto	l6085
  7852  0F65                     l6075:	
  7853  0F65  35BE               	lslf	___ftadd@f2,f
  7854  0F66  0DBF               	rlf	___ftadd@f2+1,f
  7855  0F67  0DC0               	rlf	___ftadd@f2+2,f
  7856  0F68  03C5               	decf	___ftadd@exp2,f
  7857  0F69  0845               	movf	___ftadd@exp2,w
  7858  0F6A  0646               	xorwf	___ftadd@exp1,w
  7859  0F6B  1903               	skipnz
  7860  0F6C  2F77               	goto	l6083
  7861  0F6D  03C4               	decf	___ftadd@sign,f
  7862  0F6E  0844               	movf	___ftadd@sign,w
  7863  0F6F  3907               	andlw	7
  7864  0F70  1903               	btfsc	3,2
  7865  0F71  2F77               	goto	l6083
  7866  0F72  2F65               	goto	l6075
  7867  0F73                     l6081:	
  7868  0F73  36BD               	lsrf	___ftadd@f1+2,f
  7869  0F74  0CBC               	rrf	___ftadd@f1+1,f
  7870  0F75  0CBB               	rrf	___ftadd@f1,f
  7871  0F76  0AC6               	incf	___ftadd@exp1,f
  7872  0F77                     l6083:	
  7873  0F77  0846               	movf	___ftadd@exp1,w
  7874  0F78  0645               	xorwf	___ftadd@exp2,w
  7875  0F79  1903               	btfsc	3,2
  7876  0F7A  2F96               	goto	l1506
  7877  0F7B  2F73               	goto	l6081
  7878  0F7C                     l6085:	
  7879  0F7C  0846               	movf	___ftadd@exp1,w
  7880  0F7D  0245               	subwf	___ftadd@exp2,w
  7881  0F7E  1803               	skipnc
  7882  0F7F  2F96               	goto	l1506
  7883  0F80                     l6087:	
  7884  0F80  35BB               	lslf	___ftadd@f1,f
  7885  0F81  0DBC               	rlf	___ftadd@f1+1,f
  7886  0F82  0DBD               	rlf	___ftadd@f1+2,f
  7887  0F83  03C6               	decf	___ftadd@exp1,f
  7888  0F84  0845               	movf	___ftadd@exp2,w
  7889  0F85  0646               	xorwf	___ftadd@exp1,w
  7890  0F86  1903               	skipnz
  7891  0F87  2F92               	goto	l6095
  7892  0F88  03C4               	decf	___ftadd@sign,f
  7893  0F89  0844               	movf	___ftadd@sign,w
  7894  0F8A  3907               	andlw	7
  7895  0F8B  1903               	btfsc	3,2
  7896  0F8C  2F92               	goto	l6095
  7897  0F8D  2F80               	goto	l6087
  7898  0F8E                     l6093:	
  7899  0F8E  36C0               	lsrf	___ftadd@f2+2,f
  7900  0F8F  0CBF               	rrf	___ftadd@f2+1,f
  7901  0F90  0CBE               	rrf	___ftadd@f2,f
  7902  0F91  0AC5               	incf	___ftadd@exp2,f
  7903  0F92                     l6095:	
  7904  0F92  0846               	movf	___ftadd@exp1,w
  7905  0F93  0645               	xorwf	___ftadd@exp2,w
  7906  0F94  1D03               	skipz
  7907  0F95  2F8E               	goto	l6093
  7908  0F96                     l1506:	
  7909  0F96  1FC4               	btfss	___ftadd@sign,7
  7910  0F97  2FA1               	goto	l6101
  7911  0F98  30FF               	movlw	255
  7912  0F99  06BB               	xorwf	___ftadd@f1,f
  7913  0F9A  06BC               	xorwf	___ftadd@f1+1,f
  7914  0F9B  06BD               	xorwf	___ftadd@f1+2,f
  7915  0F9C  0ABB               	incf	___ftadd@f1,f
  7916  0F9D  1903               	skipnz
  7917  0F9E  0ABC               	incf	___ftadd@f1+1,f
  7918  0F9F  1903               	skipnz
  7919  0FA0  0ABD               	incf	___ftadd@f1+2,f
  7920  0FA1                     l6101:	
  7921  0FA1  1F44               	btfss	___ftadd@sign,6
  7922  0FA2  2FAC               	goto	l6107
  7923  0FA3  30FF               	movlw	255
  7924  0FA4  06BE               	xorwf	___ftadd@f2,f
  7925  0FA5  06BF               	xorwf	___ftadd@f2+1,f
  7926  0FA6  06C0               	xorwf	___ftadd@f2+2,f
  7927  0FA7  0ABE               	incf	___ftadd@f2,f
  7928  0FA8  1903               	skipnz
  7929  0FA9  0ABF               	incf	___ftadd@f2+1,f
  7930  0FAA  1903               	skipnz
  7931  0FAB  0AC0               	incf	___ftadd@f2+2,f
  7932  0FAC                     l6107:	
  7933  0FAC  01C4               	clrf	___ftadd@sign
  7934  0FAD  083B               	movf	___ftadd@f1,w
  7935  0FAE  07BE               	addwf	___ftadd@f2,f
  7936  0FAF  083C               	movf	___ftadd@f1+1,w
  7937  0FB0  3DBF               	addwfc	___ftadd@f2+1,f
  7938  0FB1  083D               	movf	___ftadd@f1+2,w
  7939  0FB2  3DC0               	addwfc	___ftadd@f2+2,f
  7940  0FB3  1FC0               	btfss	___ftadd@f2+2,7
  7941  0FB4  2FC0               	goto	l6119
  7942  0FB5  30FF               	movlw	255
  7943  0FB6  06BE               	xorwf	___ftadd@f2,f
  7944  0FB7  06BF               	xorwf	___ftadd@f2+1,f
  7945  0FB8  06C0               	xorwf	___ftadd@f2+2,f
  7946  0FB9  0ABE               	incf	___ftadd@f2,f
  7947  0FBA  1903               	skipnz
  7948  0FBB  0ABF               	incf	___ftadd@f2+1,f
  7949  0FBC  1903               	skipnz
  7950  0FBD  0AC0               	incf	___ftadd@f2+2,f
  7951  0FBE  01C4               	clrf	___ftadd@sign
  7952  0FBF  0AC4               	incf	___ftadd@sign,f
  7953  0FC0                     l6119:	
  7954  0FC0  083E               	movf	___ftadd@f2,w
  7955  0FC1  00A0               	movwf	?___ftpack
  7956  0FC2  083F               	movf	___ftadd@f2+1,w
  7957  0FC3  00A1               	movwf	?___ftpack+1
  7958  0FC4  0840               	movf	___ftadd@f2+2,w
  7959  0FC5  00A2               	movwf	?___ftpack+2
  7960  0FC6  0846               	movf	___ftadd@exp1,w
  7961  0FC7  00A3               	movwf	?___ftpack+3
  7962  0FC8  0844               	movf	___ftadd@sign,w
  7963  0FC9  00A4               	movwf	?___ftpack+4
  7964  0FCA  268E               	fcall	___ftpack
  7965  0FCB  0820               	movf	?___ftpack,w
  7966  0FCC  00BB               	movwf	?___ftadd
  7967  0FCD  0821               	movf	?___ftpack+1,w
  7968  0FCE  00BC               	movwf	?___ftadd+1
  7969  0FCF  0822               	movf	?___ftpack+2,w
  7970  0FD0  00BD               	movwf	?___ftadd+2
  7971  0FD1  0008               	return
  7972  0FD2                     __end_of___ftadd:	
  7973  0FD2                     __ptext1631:	
  7974 ;; =============== function _rand ends ============
  7975                           
  7976                           
  7977 ;; *************** function ___altoft *****************
  7978 ;; Defined at:
  7979 ;;		line 43 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\altoft.c"
  7980 ;; Parameters:    Size  Location     Type
  7981 ;;  c               4   13[BANK0 ] long 
  7982 ;; Auto vars:     Size  Location     Type
  7983 ;;  sign            1   18[BANK0 ] unsigned char 
  7984 ;;  exp             1   17[BANK0 ] unsigned char 
  7985 ;; Return value:  Size  Location     Type
  7986 ;;                  3   13[BANK0 ] float 
  7987 ;; Registers used:
  7988 ;;		wreg, status,2, status,0, pclath, cstack
  7989 ;; Tracked objects:
  7990 ;;		On entry : 1F/0
  7991 ;;		On exit  : 1F/0
  7992 ;;		Unchanged: FFFE0/0
  7993 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  7994 ;;      Params:         0       4       0       0
  7995 ;;      Locals:         0       2       0       0
  7996 ;;      Temps:          0       0       0       0
  7997 ;;      Totals:         0       6       0       0
  7998 ;;Total ram usage:        6 bytes
  7999 ;; Hardware stack levels used:    1
  8000 ;; Hardware stack levels required when called:    2
  8001 ;; This function calls:
  8002 ;;		___ftpack
  8003 ;; This function is called by:
  8004 ;;		_floor
  8005 ;; This function uses a non-reentrant model
  8006 ;;
  8007  0FD2                     ___altoft:	
  8008  0FD2  308E               	movlw	142
  8009                           
  8010                           ; Regs used in ___altoft: [wreg+status,2+status,0+pclath+cstack]
  8011  0FD3  01B2               	clrf	___altoft@sign
  8012  0FD4  00B1               	movwf	___altoft@exp
  8013  0FD5  1FB0               	btfss	___altoft@c+3,7
  8014  0FD6  2FE4               	goto	l6249
  8015  0FD7  09AD               	comf	___altoft@c,f
  8016  0FD8  09AE               	comf	___altoft@c+1,f
  8017  0FD9  09AF               	comf	___altoft@c+2,f
  8018  0FDA  09B0               	comf	___altoft@c+3,f
  8019  0FDB  0AAD               	incf	___altoft@c,f
  8020  0FDC  1903               	skipnz
  8021  0FDD  0AAE               	incf	___altoft@c+1,f
  8022  0FDE  1903               	skipnz
  8023  0FDF  0AAF               	incf	___altoft@c+2,f
  8024  0FE0  1903               	skipnz
  8025  0FE1  0AB0               	incf	___altoft@c+3,f
  8026  0FE2  01B2               	clrf	___altoft@sign
  8027  0FE3  0AB2               	incf	___altoft@sign,f
  8028  0FE4                     l6249:	
  8029  0FE4  30FF               	movlw	255
  8030  0FE5  0530               	andwf	___altoft@c+3,w
  8031  0FE6  1903               	btfsc	3,2
  8032  0FE7  2FEE               	goto	l6251
  8033  0FE8  36B0               	lsrf	___altoft@c+3,f
  8034  0FE9  0CAF               	rrf	___altoft@c+2,f
  8035  0FEA  0CAE               	rrf	___altoft@c+1,f
  8036  0FEB  0CAD               	rrf	___altoft@c,f
  8037  0FEC  0AB1               	incf	___altoft@exp,f
  8038  0FED  2FE4               	goto	l6249
  8039  0FEE                     l6251:	
  8040  0FEE  082D               	movf	___altoft@c,w
  8041  0FEF  00A0               	movwf	?___ftpack
  8042  0FF0  082E               	movf	___altoft@c+1,w
  8043  0FF1  00A1               	movwf	?___ftpack+1
  8044  0FF2  082F               	movf	___altoft@c+2,w
  8045  0FF3  00A2               	movwf	?___ftpack+2
  8046  0FF4  0831               	movf	___altoft@exp,w
  8047  0FF5  00A3               	movwf	?___ftpack+3
  8048  0FF6  0832               	movf	___altoft@sign,w
  8049  0FF7  00A4               	movwf	?___ftpack+4
  8050  0FF8  268E               	fcall	___ftpack
  8051  0FF9  0820               	movf	?___ftpack,w
  8052  0FFA  00AD               	movwf	?___altoft
  8053  0FFB  0821               	movf	?___ftpack+1,w
  8054  0FFC  00AE               	movwf	?___altoft+1
  8055  0FFD  0822               	movf	?___ftpack+2,w
  8056  0FFE  00AF               	movwf	?___altoft+2
  8057  0FFF  0008               	return
  8058  1000                     __end_of___altoft:	
  8059                           
  8060                           	psect	text1621
  8061  0714                     __ptext1621:	
  8062 ;; =============== function _mOffDestr ends ============
  8063                           
  8064                           
  8065 ;; *************** function _mOffInit *****************
  8066 ;; Defined at:
  8067 ;;		line 261 in file "Z:\pic\irRX\main.c"
  8068 ;; Parameters:    Size  Location     Type
  8069 ;;  arg             1   74[BANK0 ] unsigned char 
  8070 ;; Auto vars:     Size  Location     Type
  8071 ;;		None
  8072 ;; Return value:  Size  Location     Type
  8073 ;;                  1    wreg      unsigned char 
  8074 ;; Registers used:
  8075 ;;		wreg, status,2, status,0, pclath, cstack
  8076 ;; Tracked objects:
  8077 ;;		On entry : 1F/1
  8078 ;;		On exit  : 1F/1
  8079 ;;		Unchanged: FFE00/0
  8080 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  8081 ;;      Params:         0       1       0       0
  8082 ;;      Locals:         0       0       0       0
  8083 ;;      Temps:          0       0       0       0
  8084 ;;      Totals:         0       1       0       0
  8085 ;;Total ram usage:        1 bytes
  8086 ;; Hardware stack levels used:    1
  8087 ;; Hardware stack levels required when called:    2
  8088 ;; This function calls:
  8089 ;;		_eeWrite
  8090 ;; This function is called by:
  8091 ;;		_runFuncPtr
  8092 ;; This function uses a non-reentrant model
  8093 ;;
  8094  0714                     _mOffInit:	
  8095                           
  8096                           ;main.c: 263: if(arg != 0){
  8097                           
  8098                           ; Regs used in _mOffInit: [wreg+status,2+status,0+pclath+cstack]
  8099  0714  0020               	movlb	0	; select bank0
  8100  0715  086A               	movf	mOffInit@arg,w
  8101  0716  1903               	btfsc	3,2
  8102  0717  2F1D               	goto	l5911
  8103                           
  8104                           ;main.c: 265: eeWrite(0xCF, arg);
  8105  0718  086A               	movf	mOffInit@arg,w
  8106  0719  00A0               	movwf	?_eeWrite
  8107  071A  30CF               	movlw	207
  8108  071B  3189  2197         	fcall	_eeWrite
  8109  071D                     l5911:	
  8110  071D  3044               	movlw	68
  8111                           
  8112                           ;main.c: 266: }
  8113                           ;main.c: 267: gLed[0] = 0;
  8114  071E  01F5               	clrf	_gLed
  8115                           
  8116                           ;main.c: 268: gLed[1] = 0;
  8117  071F  01F6               	clrf	_gLed+1
  8118                           
  8119                           ;main.c: 269: gLed[2] = 0;
  8120  0720  01F7               	clrf	_gLed+2
  8121                           
  8122                           ;main.c: 270: gLed[3] = 0;
  8123  0721  01F8               	clrf	_gLed+3
  8124                           
  8125                           ;main.c: 271: tempData.off.configModeStatus = gConfigSteps;
  8126  0722  0021               	movlb	1	; select bank1
  8127  0723  00A0               	movwf	_tempData^(0+128)
  8128  0724  303A               	movlw	58
  8129  0725  00A1               	movwf	(_tempData^(0+128)+1)
  8130                           
  8131                           ;main.c: 272: return 0;
  8132  0726  3400               	retlw	0
  8133  0727                     __end_of_mOffInit:	
  8134                           
  8135                           	psect	text1622
  8136  0632                     __ptext1622:	
  8137 ;; =============== function _mOffInit ends ============
  8138                           
  8139                           
  8140 ;; *************** function _mFadeDown *****************
  8141 ;; Defined at:
  8142 ;;		line 510 in file "Z:\pic\irRX\main.c"
  8143 ;; Parameters:    Size  Location     Type
  8144 ;;  arg             1   74[BANK0 ] unsigned char 
  8145 ;; Auto vars:     Size  Location     Type
  8146 ;;  t               1   79[BANK0 ] unsigned char 
  8147 ;; Return value:  Size  Location     Type
  8148 ;;                  1    wreg      unsigned char 
  8149 ;; Registers used:
  8150 ;;		wreg, fsr0l, fsr0h, fsr1l, fsr1h, status,2, status,0, btemp+1, pclath, cstack
  8151 ;; Tracked objects:
  8152 ;;		On entry : 1F/1
  8153 ;;		On exit  : 1E/0
  8154 ;;		Unchanged: FFE00/0
  8155 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  8156 ;;      Params:         0       1       0       0
  8157 ;;      Locals:         0       3       0       0
  8158 ;;      Temps:          0       2       0       0
  8159 ;;      Totals:         0       6       0       0
  8160 ;;Total ram usage:        6 bytes
  8161 ;; Hardware stack levels used:    1
  8162 ;; Hardware stack levels required when called:    6
  8163 ;; This function calls:
  8164 ;;		___lwdiv
  8165 ;;		_genExponents
  8166 ;; This function is called by:
  8167 ;;		_runFuncPtr
  8168 ;; This function uses a non-reentrant model
  8169 ;;
  8170  0632                     _mFadeDown:	
  8171                           
  8172                           ;main.c: 512: UInt8 t;
  8173                           ;main.c: 514: if(tempData.fade.adjBri){
  8174                           
  8175                           ; Regs used in _mFadeDown: [allreg]
  8176  0632  1FA4               	btfss	(_tempData^(0+128)+4),7
  8177  0633  2E57               	goto	l6725
  8178                           
  8179                           ;main.c: 516: t = (((UInt16)tempData.fade.bri)*4)/5;
  8180  0634  3005               	movlw	5
  8181  0635  0020               	movlb	0	; select bank0
  8182  0636  00A0               	movwf	?___lwdiv
  8183  0637  01A1               	clrf	?___lwdiv+1
  8184  0638  0021               	movlb	1	; select bank1
  8185  0639  0825               	movf	(_tempData^(0+128)+5),w
  8186  063A  0020               	movlb	0	; select bank0
  8187  063B  00EB               	movwf	??_mFadeDown
  8188  063C  01EC               	clrf	??_mFadeDown+1
  8189  063D  35EB               	lslf	??_mFadeDown,f
  8190  063E  0DEC               	rlf	??_mFadeDown+1,f
  8191  063F  35EB               	lslf	??_mFadeDown,f
  8192  0640  0DEC               	rlf	??_mFadeDown+1,f
  8193  0641  086B               	movf	??_mFadeDown,w
  8194  0642  00A2               	movwf	?___lwdiv+2
  8195  0643  086C               	movf	??_mFadeDown+1,w
  8196  0644  00A3               	movwf	?___lwdiv+3
  8197  0645  266E  3186         	fcall	___lwdiv
  8198  0647  0820               	movf	?___lwdiv,w
  8199  0648  00EF               	movwf	mFadeDown@t
  8200                           
  8201                           ;main.c: 517: tempData.fade.bri = (t < 5) ? 5 : t;
  8202  0649  3005               	movlw	5
  8203  064A  026F               	subwf	mFadeDown@t,w
  8204  064B  1C03               	skipc
  8205  064C  2E4F               	goto	l6721
  8206  064D  086F               	movf	mFadeDown@t,w
  8207  064E  2E50               	goto	L3
  8208  064F                     l6721:	
  8209  064F  3005               	movlw	5
  8210  0650                     L3:	
  8211  0650  00ED               	movwf	_mFadeDown$2098
  8212  0651  01EE               	clrf	_mFadeDown$2098+1
  8213  0652  0021               	movlb	1	; select bank1
  8214  0653  00A5               	movwf	(_tempData^(0+128)+5)
  8215                           
  8216                           ;main.c: 518: genExponents(tempData.fade.bri);
  8217  0654  318B  2328         	fcall	_genExponents
  8218                           
  8219                           ;main.c: 519: }
  8220  0656  3400               	retlw	0
  8221  0657                     l6725:	
  8222                           
  8223                           ;main.c: 520: else{
  8224                           ;main.c: 522: if(tempData.fade.speed < 40) tempData.fade.speed++;
  8225  0657  0824               	movf	(_tempData^(0+128)+4),w
  8226  0658  397F               	andlw	127
  8227  0659  0020               	movlb	0	; select bank0
  8228  065A  00EB               	movwf	??_mFadeDown
  8229  065B  3028               	movlw	40
  8230  065C  026B               	subwf	??_mFadeDown,w
  8231  065D  1803               	skipnc
  8232  065E  3400               	retlw	0
  8233  065F  0021               	movlb	1	; select bank1
  8234  0660  0824               	movf	(_tempData^(0+128)+4),w
  8235  0661  397F               	andlw	127
  8236  0662  0020               	movlb	0	; select bank0
  8237  0663  00EB               	movwf	??_mFadeDown
  8238  0664  0AEB               	incf	??_mFadeDown,f
  8239  0665  0021               	movlb	1	; select bank1
  8240  0666  0824               	movf	(_tempData^(0+128)+4),w
  8241  0667  0020               	movlb	0	; select bank0
  8242  0668  066B               	xorwf	??_mFadeDown,w
  8243  0669  3980               	andlw	-128
  8244  066A  066B               	xorwf	??_mFadeDown,w
  8245  066B  0021               	movlb	1	; select bank1
  8246  066C  00A4               	movwf	(_tempData^(0+128)+4)
  8247                           
  8248                           ;main.c: 524: }
  8249                           ;main.c: 525: return 0;
  8250  066D  3400               	retlw	0
  8251  066E                     __end_of_mFadeDown:	
  8252  066E                     __ptext1649:	
  8253 ;; =============== function ___ftpack ends ============
  8254                           
  8255                           
  8256 ;; *************** function ___lwdiv *****************
  8257 ;; Defined at:
  8258 ;;		line 5 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\lwdiv.c"
  8259 ;; Parameters:    Size  Location     Type
  8260 ;;  divisor         2    0[BANK0 ] unsigned int 
  8261 ;;  dividend        2    2[BANK0 ] unsigned int 
  8262 ;; Auto vars:     Size  Location     Type
  8263 ;;  quotient        2    5[BANK0 ] unsigned int 
  8264 ;;  counter         1    4[BANK0 ] unsigned char 
  8265 ;; Return value:  Size  Location     Type
  8266 ;;                  2    0[BANK0 ] unsigned int 
  8267 ;; Registers used:
  8268 ;;		wreg, status,2, status,0
  8269 ;; Tracked objects:
  8270 ;;		On entry : 1F/0
  8271 ;;		On exit  : 1F/0
  8272 ;;		Unchanged: FFFE0/0
  8273 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  8274 ;;      Params:         0       4       0       0
  8275 ;;      Locals:         0       3       0       0
  8276 ;;      Temps:          0       0       0       0
  8277 ;;      Totals:         0       7       0       0
  8278 ;;Total ram usage:        7 bytes
  8279 ;; Hardware stack levels used:    1
  8280 ;; Hardware stack levels required when called:    1
  8281 ;; This function calls:
  8282 ;;		Nothing
  8283 ;; This function is called by:
  8284 ;;		_mFadeDown
  8285 ;; This function uses a non-reentrant model
  8286 ;;
  8287  066E                     ___lwdiv:	
  8288                           
  8289                           ; Regs used in ___lwdiv: [wreg+status,2+status,0]
  8290  066E  01A5               	clrf	___lwdiv@quotient
  8291  066F  01A6               	clrf	___lwdiv@quotient+1
  8292  0670  0821               	movf	___lwdiv@divisor+1,w
  8293  0671  0420               	iorwf	___lwdiv@divisor,w
  8294  0672  1903               	skipnz
  8295  0673  2E8E               	goto	l5685
  8296  0674  01A4               	clrf	___lwdiv@counter
  8297  0675                     L15:	
  8298  0675  0AA4               	incf	___lwdiv@counter,f
  8299  0676  1BA1               	btfsc	___lwdiv@divisor+1,7
  8300  0677  2E7B               	goto	l5673
  8301  0678  35A0               	lslf	___lwdiv@divisor,f
  8302  0679  0DA1               	rlf	___lwdiv@divisor+1,f
  8303  067A  2E75               	goto	L15
  8304  067B                     l5673:	
  8305  067B  35A5               	lslf	___lwdiv@quotient,f
  8306  067C  0DA6               	rlf	___lwdiv@quotient+1,f
  8307  067D  0821               	movf	___lwdiv@divisor+1,w
  8308  067E  0223               	subwf	___lwdiv@dividend+1,w
  8309  067F  1D03               	skipz
  8310  0680  2E83               	goto	u3715
  8311  0681  0820               	movf	___lwdiv@divisor,w
  8312  0682  0222               	subwf	___lwdiv@dividend,w
  8313  0683                     u3715:	
  8314  0683  1C03               	skipc
  8315  0684  2E8A               	goto	l5681
  8316  0685  0820               	movf	___lwdiv@divisor,w
  8317  0686  02A2               	subwf	___lwdiv@dividend,f
  8318  0687  0821               	movf	___lwdiv@divisor+1,w
  8319  0688  3BA3               	subwfb	___lwdiv@dividend+1,f
  8320  0689  1425               	bsf	___lwdiv@quotient,0
  8321  068A                     l5681:	
  8322  068A  36A1               	lsrf	___lwdiv@divisor+1,f
  8323  068B  0CA0               	rrf	___lwdiv@divisor,f
  8324  068C  0BA4               	decfsz	___lwdiv@counter,f
  8325  068D  2E7B               	goto	l5673
  8326  068E                     l5685:	
  8327  068E  0826               	movf	___lwdiv@quotient+1,w
  8328  068F  00A1               	movwf	?___lwdiv+1
  8329  0690  0825               	movf	___lwdiv@quotient,w
  8330  0691  00A0               	movwf	?___lwdiv
  8331  0692  0008               	return
  8332  0693                     __end_of___lwdiv:	
  8333                           
  8334                           	psect	text1627
  8335  0693                     __ptext1627:	
  8336 ;; =============== function ___ftsub ends ============
  8337                           
  8338                           
  8339 ;; *************** function _eval_poly *****************
  8340 ;; Defined at:
  8341 ;;		line 5 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\evalpoly.c"
  8342 ;; Parameters:    Size  Location     Type
  8343 ;;  x               3   49[BANK0 ] float 
  8344 ;;  d               1   52[BANK0 ] PTR const 
  8345 ;;		 -> exp@coeff(30), 
  8346 ;;  n               2   53[BANK0 ] int 
  8347 ;; Auto vars:     Size  Location     Type
  8348 ;;  res             3   57[BANK0 ] int 
  8349 ;; Return value:  Size  Location     Type
  8350 ;;                  3   49[BANK0 ] int 
  8351 ;; Registers used:
  8352 ;;		wreg, fsr0l, fsr0h, status,2, status,0, pclath, cstack
  8353 ;; Tracked objects:
  8354 ;;		On entry : 1F/0
  8355 ;;		On exit  : 1F/0
  8356 ;;		Unchanged: FFFE0/0
  8357 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  8358 ;;      Params:         0       6       0       0
  8359 ;;      Locals:         0       3       0       0
  8360 ;;      Temps:          0       2       0       0
  8361 ;;      Totals:         0      11       0       0
  8362 ;;Total ram usage:       11 bytes
  8363 ;; Hardware stack levels used:    1
  8364 ;; Hardware stack levels required when called:    3
  8365 ;; This function calls:
  8366 ;;		___ftmul
  8367 ;;		___ftadd
  8368 ;; This function is called by:
  8369 ;;		_exp
  8370 ;; This function uses a non-reentrant model
  8371 ;;
  8372  0693                     _eval_poly:	
  8373                           
  8374                           ; Regs used in _eval_poly: [wreg-fsr0h+status,2+status,0+pclath+cstack]
  8375  0693  0854               	movf	eval_poly@d,w
  8376  0694  0084               	movwf	4
  8377  0695  3080               	movlw	(high __stringtab)| (0+128)
  8378  0696  0085               	movwf	5
  8379  0697  0855               	movf	eval_poly@n,w
  8380  0698  0755               	addwf	eval_poly@n,w
  8381  0699  0755               	addwf	eval_poly@n,w
  8382  069A  0784               	addwf	4,f
  8383  069B  1803               	skipnc
  8384  069C  0A85               	incf	5,f
  8385  069D  3F00               	moviw [0]fsr0
  8386  069E  00D9               	movwf	eval_poly@res
  8387  069F  3F01               	moviw [1]fsr0
  8388  06A0  00DA               	movwf	eval_poly@res+1
  8389  06A1  3F02               	moviw [2]fsr0
  8390  06A2                     L4:	
  8391  06A2  00DB               	movwf	eval_poly@res+2
  8392  06A3  0856               	movf	eval_poly@n+1,w
  8393  06A4  0455               	iorwf	eval_poly@n,w
  8394  06A5  1903               	btfsc	3,2
  8395  06A6  2EDC               	goto	l6471
  8396  06A7  0854               	movf	eval_poly@d,w
  8397  06A8  0084               	movwf	4
  8398  06A9  3080               	movlw	(high __stringtab)| (0+128)
  8399  06AA  0085               	movwf	5
  8400  06AB  30FF               	movlw	-1
  8401  06AC  07D5               	addwf	eval_poly@n,f
  8402  06AD  1C03               	skipc
  8403  06AE  03D6               	decf	eval_poly@n+1,f
  8404  06AF  0856               	movf	eval_poly@n+1,w
  8405  06B0  00D8               	movwf	??_eval_poly+1
  8406  06B1  0855               	movf	eval_poly@n,w
  8407  06B2  00D7               	movwf	??_eval_poly
  8408  06B3  0757               	addwf	??_eval_poly,w
  8409  06B4  0757               	addwf	??_eval_poly,w
  8410  06B5  0784               	addwf	4,f
  8411  06B6  1803               	skipnc
  8412  06B7  0A85               	incf	5,f
  8413  06B8  3F00               	moviw [0]fsr0
  8414  06B9  00BB               	movwf	?___ftadd
  8415  06BA  3F01               	moviw [1]fsr0
  8416  06BB  00BC               	movwf	?___ftadd+1
  8417  06BC  3F02               	moviw [2]fsr0
  8418  06BD  00BD               	movwf	?___ftadd+2
  8419  06BE  0859               	movf	eval_poly@res,w
  8420  06BF  00AC               	movwf	?___ftmul
  8421  06C0  085A               	movf	eval_poly@res+1,w
  8422  06C1  00AD               	movwf	?___ftmul+1
  8423  06C2  085B               	movf	eval_poly@res+2,w
  8424  06C3  00AE               	movwf	?___ftmul+2
  8425  06C4  0851               	movf	eval_poly@x,w
  8426  06C5  00AF               	movwf	?___ftmul+3
  8427  06C6  0852               	movf	eval_poly@x+1,w
  8428  06C7  00B0               	movwf	?___ftmul+4
  8429  06C8  0853               	movf	eval_poly@x+2,w
  8430  06C9  00B1               	movwf	?___ftmul+5
  8431  06CA  318C  2429  3186   	fcall	___ftmul
  8432  06CD  082C               	movf	?___ftmul,w
  8433  06CE  00BE               	movwf	?___ftadd+3
  8434  06CF  082D               	movf	?___ftmul+1,w
  8435  06D0  00BF               	movwf	?___ftadd+4
  8436  06D1  082E               	movf	?___ftmul+2,w
  8437  06D2  00C0               	movwf	?___ftadd+5
  8438  06D3  318F  271E  3186   	fcall	___ftadd
  8439  06D6  083B               	movf	?___ftadd,w
  8440  06D7  00D9               	movwf	eval_poly@res
  8441  06D8  083C               	movf	?___ftadd+1,w
  8442  06D9  00DA               	movwf	eval_poly@res+1
  8443  06DA  083D               	movf	?___ftadd+2,w
  8444  06DB  2EA2               	goto	L4
  8445  06DC                     l6471:	
  8446  06DC  0859               	movf	eval_poly@res,w
  8447  06DD  00D1               	movwf	?_eval_poly
  8448  06DE  085A               	movf	eval_poly@res+1,w
  8449  06DF  00D2               	movwf	?_eval_poly+1
  8450  06E0  085B               	movf	eval_poly@res+2,w
  8451  06E1  00D3               	movwf	?_eval_poly+2
  8452  06E2  0008               	return
  8453  06E3                     __end_of_eval_poly:	
  8454                           
  8455                           	psect	text1637
  8456  05C8                     __ptext1637:	
  8457 ;; =============== function ___ftadd ends ============
  8458                           
  8459                           
  8460 ;; *************** function _ldexp *****************
  8461 ;; Defined at:
  8462 ;;		line 278 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\frexp.c"
  8463 ;; Parameters:    Size  Location     Type
  8464 ;;  value           3   39[BANK0 ] float 
  8465 ;;  newexp          2   42[BANK0 ] int 
  8466 ;; Auto vars:     Size  Location     Type
  8467 ;;		None
  8468 ;; Return value:  Size  Location     Type
  8469 ;;                  3   39[BANK0 ] int 
  8470 ;; Registers used:
  8471 ;;		wreg, status,2, status,0, btemp+1, pclath, cstack
  8472 ;; Tracked objects:
  8473 ;;		On entry : 1F/0
  8474 ;;		On exit  : 1F/0
  8475 ;;		Unchanged: FFE00/0
  8476 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  8477 ;;      Params:         0       5       0       0
  8478 ;;      Locals:         0       3       0       0
  8479 ;;      Temps:          0       2       0       0
  8480 ;;      Totals:         0      10       0       0
  8481 ;;Total ram usage:       10 bytes
  8482 ;; Hardware stack levels used:    1
  8483 ;; Hardware stack levels required when called:    2
  8484 ;; This function calls:
  8485 ;;		___ftge
  8486 ;;		___ftneg
  8487 ;; This function is called by:
  8488 ;;		_exp
  8489 ;; This function uses a non-reentrant model
  8490 ;;
  8491  05C8                     _ldexp:	
  8492                           
  8493                           ; Regs used in _ldexp: [wreg+status,2+status,0+btemp+1+pclath+cstack]
  8494  05C8  0849               	movf	ldexp@value+2,w
  8495  05C9  0448               	iorwf	ldexp@value+1,w
  8496  05CA  0447               	iorwf	ldexp@value,w
  8497  05CB  1D03               	skipz
  8498  05CC  2DD1               	goto	l6007
  8499  05CD  01C7               	clrf	?_ldexp
  8500  05CE  01C8               	clrf	?_ldexp+1
  8501  05CF  01C9               	clrf	?_ldexp+2
  8502  05D0  0008               	return
  8503  05D1                     l6007:	
  8504  05D1  0849               	movf	ldexp@value+2,w
  8505  05D2  397F               	andlw	127
  8506  05D3  00CC               	movwf	??_ldexp
  8507  05D4  01CD               	clrf	??_ldexp+1
  8508  05D5  35CC               	lslf	??_ldexp,f
  8509  05D6  0DCD               	rlf	??_ldexp+1,f
  8510  05D7  084C               	movf	??_ldexp,w
  8511  05D8  07CA               	addwf	ldexp@newexp,f
  8512  05D9  084D               	movf	??_ldexp+1,w
  8513  05DA  3DCB               	addwfc	ldexp@newexp+1,f
  8514  05DB  0D48               	rlf	ldexp@value+1,w
  8515  05DC  0D48               	rlf	ldexp@value+1,w
  8516  05DD  3901               	andlw	1
  8517  05DE  07CA               	addwf	ldexp@newexp,f
  8518  05DF  1803               	skipnc
  8519  05E0  0ACB               	incf	ldexp@newexp+1,f
  8520  05E1  1FCB               	btfss	ldexp@newexp+1,7
  8521  05E2  2DE7               	goto	l6017
  8522  05E3  01C7               	clrf	?_ldexp
  8523  05E4  01C8               	clrf	?_ldexp+1
  8524  05E5  01C9               	clrf	?_ldexp+2
  8525  05E6  0008               	return
  8526  05E7                     l6017:	
  8527  05E7  084B               	movf	ldexp@newexp+1,w
  8528  05E8  3A80               	xorlw	128
  8529  05E9  00FF               	movwf	127
  8530  05EA  3081               	movlw	129
  8531  05EB  027F               	subwf	127,w
  8532  05EC  1D03               	skipz
  8533  05ED  2DF0               	goto	u4195
  8534  05EE  3000               	movlw	0
  8535  05EF  024A               	subwf	ldexp@newexp,w
  8536  05F0                     u4195:	
  8537  05F0  1C03               	skipc
  8538  05F1  2E1A               	goto	l6039
  8539  05F2  0020               	movlb	0	; select bank0
  8540  05F3  0847               	movf	ldexp@value,w
  8541  05F4  00A0               	movwf	?___ftge
  8542  05F5  0848               	movf	ldexp@value+1,w
  8543  05F6  00A1               	movwf	?___ftge+1
  8544  05F7  0849               	movf	ldexp@value+2,w
  8545  05F8  00A2               	movwf	?___ftge+2
  8546  05F9  01A3               	clrf	?___ftge+3
  8547  05FA  01A4               	clrf	?___ftge+4
  8548  05FB  01A5               	clrf	?___ftge+5
  8549  05FC  318D  25EF  3185   	fcall	___ftge
  8550  05FF  30FF               	movlw	255
  8551  0600  1803               	btfsc	3,0
  8552  0601  2E15               	goto	L10
  8553  0602  00CE               	movwf	_ldexp$2201
  8554  0603  307F               	movlw	127
  8555  0604  00CF               	movwf	_ldexp$2201+1
  8556  0605  00D0               	movwf	_ldexp$2201+2
  8557  0606  084E               	movf	_ldexp$2201,w
  8558  0607  00A0               	movwf	?___ftneg
  8559  0608  084F               	movf	_ldexp$2201+1,w
  8560  0609  00A1               	movwf	?___ftneg+1
  8561  060A  0850               	movf	_ldexp$2201+2,w
  8562  060B  00A2               	movwf	?___ftneg+2
  8563  060C  318E  26FB         	fcall	___ftneg
  8564  060E  0820               	movf	?___ftneg,w
  8565  060F  00C7               	movwf	?_ldexp
  8566  0610  0821               	movf	?___ftneg+1,w
  8567  0611  00C8               	movwf	?_ldexp+1
  8568  0612  0822               	movf	?___ftneg+2,w
  8569  0613  00C9               	movwf	?_ldexp+2
  8570  0614  0008               	return
  8571  0615                     L10:	
  8572  0615  00C7               	movwf	?_ldexp
  8573  0616  307F               	movlw	127
  8574  0617  00C8               	movwf	?_ldexp+1
  8575  0618  00C9               	movwf	?_ldexp+2
  8576  0619  0008               	return
  8577  061A                     l6039:	
  8578  061A  0020               	movlb	0	; select bank0
  8579  061B  084B               	movf	ldexp@newexp+1,w
  8580  061C  00CD               	movwf	??_ldexp+1
  8581  061D  084A               	movf	ldexp@newexp,w
  8582  061E  00CC               	movwf	??_ldexp
  8583  061F  0D4D               	rlf	??_ldexp+1,w
  8584  0620  0CCD               	rrf	??_ldexp+1,f
  8585  0621  0CCC               	rrf	??_ldexp,f
  8586  0622  0849               	movf	ldexp@value+2,w
  8587  0623  064C               	xorwf	??_ldexp,w
  8588  0624  3980               	andlw	-128
  8589  0625  064C               	xorwf	??_ldexp,w
  8590  0626  00C9               	movwf	ldexp@value+2
  8591  0627  084A               	movf	ldexp@newexp,w
  8592  0628  3901               	andlw	1
  8593  0629  00CC               	movwf	??_ldexp
  8594  062A  0CCC               	rrf	??_ldexp,f
  8595  062B  0CCC               	rrf	??_ldexp,f
  8596  062C  0848               	movf	ldexp@value+1,w
  8597  062D  064C               	xorwf	??_ldexp,w
  8598  062E  397F               	andlw	-129
  8599  062F  064C               	xorwf	??_ldexp,w
  8600  0630  00C8               	movwf	ldexp@value+1
  8601  0631  0008               	return
  8602  0632                     __end_of_ldexp:	
  8603                           
  8604                           	psect	intentry
  8605  0004                     __pintentry:	
  8606 ;; =============== function _eeRead ends ============
  8607                           
  8608                           
  8609 ;; *************** function _isr *****************
  8610 ;; Defined at:
  8611 ;;		line 766 in file "Z:\pic\irRX\main.c"
  8612 ;; Parameters:    Size  Location     Type
  8613 ;;		None
  8614 ;; Auto vars:     Size  Location     Type
  8615 ;;  t               1    4[COMMON] unsigned char 
  8616 ;; Return value:  Size  Location     Type
  8617 ;;		None               void
  8618 ;; Registers used:
  8619 ;;		wreg, fsr1l, fsr1h, status,2, status,0
  8620 ;; Tracked objects:
  8621 ;;		On entry : 0/0
  8622 ;;		On exit  : 1A/0
  8623 ;;		Unchanged: FFFE0/0
  8624 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  8625 ;;      Params:         0       0       0       0
  8626 ;;      Locals:         1       0       0       0
  8627 ;;      Temps:          4       0       0       0
  8628 ;;      Totals:         5       0       0       0
  8629 ;;Total ram usage:        5 bytes
  8630 ;; Hardware stack levels used:    1
  8631 ;; This function calls:
  8632 ;;		Nothing
  8633 ;; This function is called by:
  8634 ;;		Interrupt level 1
  8635 ;; This function uses a non-reentrant model
  8636 ;;
  8637  0004                     _isr:	
  8638                           
  8639                           ; Regs used in _isr: [wreg+fsr1l-status,0]
  8640  0004  3180               	pagesel	$
  8641                           
  8642                           ;main.c: 768: UInt8 t;
  8643                           ;main.c: 769: static bit v = 0;
  8644                           ;main.c: 771: if(TMR0IF){
  8645  0005  1D0B               	btfss	11,2
  8646  0006  284E               	goto	i1l4133
  8647                           
  8648                           ;main.c: 772: TMR0IF = 0;
  8649  0007  110B               	bcf	11,2
  8650                           
  8651                           ;main.c: 773: gPwmCtr++;
  8652  0008  0021               	movlb	1	; select bank1
  8653  0009  0AAC               	incf	_gPwmCtr^(0+128),f
  8654  000A  1903               	skipnz
  8655  000B  0AAD               	incf	(_gPwmCtr+1)^(0+128),f
  8656                           
  8657                           ;main.c: 774: gPwmCtr &=~ 0x0200;
  8658  000C  10AD               	bcf	(_gPwmCtr^(0+128)+1),1
  8659                           
  8660                           ;main.c: 775: t = LATA &~ 0x17;
  8661  000D  0022               	movlb	2	; select bank2
  8662  000E  080C               	movf	12,w
  8663  000F  00F4               	movwf	isr@t
  8664  0010  30E8               	movlw	232
  8665  0011  05F4               	andwf	isr@t,f
  8666                           
  8667                           ;main.c: 776: if((gPwmCtr<<1) < (UInt16)gLed[0]) t |= 0x01;
  8668  0012  0875               	movf	_gLed,w
  8669  0013  00F0               	movwf	??_isr
  8670  0014  01F1               	clrf	??_isr+1
  8671  0015  0021               	movlb	1	; select bank1
  8672  0016  082D               	movf	(_gPwmCtr+1)^(0+128),w
  8673  0017  00F3               	movwf	??_isr+3
  8674  0018  082C               	movf	_gPwmCtr^(0+128),w
  8675  0019  00F2               	movwf	??_isr+2
  8676  001A  35F2               	lslf	??_isr+2,f
  8677  001B  0DF3               	rlf	??_isr+3,f
  8678  001C  0871               	movf	??_isr+1,w
  8679  001D  0273               	subwf	??_isr+3,w
  8680  001E  1D03               	skipz
  8681  001F  2822               	goto	u189_25
  8682  0020  0870               	movf	??_isr,w
  8683  0021  0272               	subwf	??_isr+2,w
  8684  0022                     u189_25:	
  8685  0022  1C03               	btfss	3,0
  8686  0023  1474               	bsf	isr@t,0
  8687                           
  8688                           ;main.c: 777: if((gPwmCtr>>1) < gLed[1]) t |= 0x04;
  8689  0024  0876               	movf	_gLed+1,w
  8690  0025  00F0               	movwf	??_isr
  8691  0026  01F1               	clrf	??_isr+1
  8692  0027  082D               	movf	(_gPwmCtr+1)^(0+128),w
  8693  0028  00F3               	movwf	??_isr+3
  8694  0029  082C               	movf	_gPwmCtr^(0+128),w
  8695  002A  00F2               	movwf	??_isr+2
  8696  002B  36F3               	lsrf	??_isr+3,f
  8697  002C  0CF2               	rrf	??_isr+2,f
  8698  002D  0871               	movf	??_isr+1,w
  8699  002E  0273               	subwf	??_isr+3,w
  8700  002F  1D03               	skipz
  8701  0030  2833               	goto	u190_25
  8702  0031  0870               	movf	??_isr,w
  8703  0032  0272               	subwf	??_isr+2,w
  8704  0033                     u190_25:	
  8705  0033  1C03               	btfss	3,0
  8706  0034  1574               	bsf	isr@t,2
  8707                           
  8708                           ;main.c: 778: if(gPwmCtr < gLed[2]) t |= 0x10;
  8709  0035  0877               	movf	_gLed+2,w
  8710  0036  00F0               	movwf	??_isr
  8711  0037  01F1               	clrf	??_isr+1
  8712  0038  0871               	movf	??_isr+1,w
  8713  0039  022D               	subwf	(_gPwmCtr+1)^(0+128),w
  8714  003A  1D03               	skipz
  8715  003B  283E               	goto	u191_25
  8716  003C  0870               	movf	??_isr,w
  8717  003D  022C               	subwf	_gPwmCtr^(0+128),w
  8718  003E                     u191_25:	
  8719  003E  1C03               	btfss	3,0
  8720  003F  1674               	bsf	isr@t,4
  8721                           
  8722                           ;main.c: 779: if(gPwmCtr < gLed[3]) t |= 0x02;
  8723  0040  0878               	movf	_gLed+3,w
  8724  0041  00F0               	movwf	??_isr
  8725  0042  01F1               	clrf	??_isr+1
  8726  0043  0871               	movf	??_isr+1,w
  8727  0044  022D               	subwf	(_gPwmCtr+1)^(0+128),w
  8728  0045  1D03               	skipz
  8729  0046  2849               	goto	u192_25
  8730  0047  0870               	movf	??_isr,w
  8731  0048  022C               	subwf	_gPwmCtr^(0+128),w
  8732  0049                     u192_25:	
  8733  0049  1C03               	btfss	3,0
  8734  004A  14F4               	bsf	isr@t,1
  8735                           
  8736                           ;main.c: 780: LATA = t;
  8737  004B  0874               	movf	isr@t,w
  8738  004C  0022               	movlb	2	; select bank2
  8739  004D  008C               	movwf	12	;volatile
  8740  004E                     i1l4133:	
  8741                           
  8742                           ;main.c: 781: }
  8743                           ;main.c: 782: if(TMR2IF){
  8744  004E  0020               	movlb	0	; select bank0
  8745  004F  1C91               	btfss	17,1
  8746  0050  2858               	goto	i1l4141
  8747                           
  8748                           ;main.c: 784: TMR2IF = 0;
  8749  0051  1091               	bcf	17,1
  8750                           
  8751                           ;main.c: 786: TMR2ON = 0;
  8752  0052  111C               	bcf	28,2
  8753                           
  8754                           ;main.c: 787: gRxDone = 1;
  8755  0053  14F9               	bsf	_gRxDone/(0+8),_gRxDone& (0+7)
  8756                           
  8757                           ;main.c: 788: CCP1CON = 0;
  8758  0054  0025               	movlb	5	; select bank5
  8759  0055  0193               	clrf	19	;volatile
  8760                           
  8761                           ;main.c: 789: CCP1IF = 0;
  8762  0056  0020               	movlb	0	; select bank0
  8763  0057  1111               	bcf	17,2
  8764  0058                     i1l4141:	
  8765                           
  8766                           ;main.c: 790: }
  8767                           ;main.c: 791: if(CCP1IF){
  8768  0058  1D11               	btfss	17,2
  8769  0059  0009               	retfie
  8770                           
  8771                           ;main.c: 793: CCP1IF = 0;
  8772  005A  1111               	bcf	17,2
  8773                           
  8774                           ;main.c: 795: if(gIntFirstEdgeSeen){
  8775  005B  1C79               	btfss	_gIntFirstEdgeSeen/(0+8),_gIntFirstEdgeSeen& (0+7)
  8776  005C  2896               	goto	i1l1366
  8777                           
  8778                           ;main.c: 797: if(CCP1CON & 1){
  8779  005D  0025               	movlb	5	; select bank5
  8780  005E  1C13               	btfss	19,0
  8781  005F  286F               	goto	i1l4153
  8782                           
  8783                           ;main.c: 799: gIntCapturedTime = CCPR1;
  8784  0060  0812               	movf	18,w	;volatile
  8785  0061  0021               	movlb	1	; select bank1
  8786  0062  00AB               	movwf	(_gIntCapturedTime+1)^(0+128)
  8787  0063  0025               	movlb	5	; select bank5
  8788  0064  0811               	movf	17,w	;volatile
  8789  0065  0021               	movlb	1	; select bank1
  8790  0066  00AA               	movwf	_gIntCapturedTime^(0+128)
  8791                           
  8792                           ;main.c: 800: TMR2 = 0;
  8793  0067  0020               	movlb	0	; select bank0
  8794  0068  019A               	clrf	26	;volatile
  8795                           
  8796                           ;main.c: 802: gRngSeed ^= gIntCapturedTime;
  8797  0069  0021               	movlb	1	; select bank1
  8798  006A  082A               	movf	_gIntCapturedTime^(0+128),w
  8799  006B  06E1               	xorwf	_gRngSeed^(0+128),f
  8800  006C  082B               	movf	(_gIntCapturedTime+1)^(0+128),w
  8801  006D  06E2               	xorwf	(_gRngSeed+1)^(0+128),f
  8802                           
  8803                           ;main.c: 803: }
  8804  006E  289D               	goto	i1l4179
  8805  006F                     i1l4153:	
  8806                           
  8807                           ;main.c: 804: else{
  8808                           ;main.c: 806: gIntCapturedTime = CCPR1 - gIntCapturedTime;
  8809  006F  0021               	movlb	1	; select bank1
  8810  0070  082A               	movf	_gIntCapturedTime^(0+128),w
  8811  0071  0025               	movlb	5	; select bank5
  8812  0072  0211               	subwf	17,w	;volatile
  8813  0073  0021               	movlb	1	; select bank1
  8814  0074  00AA               	movwf	_gIntCapturedTime^(0+128)
  8815  0075  082B               	movf	(_gIntCapturedTime+1)^(0+128),w
  8816  0076  0025               	movlb	5	; select bank5
  8817  0077  3B12               	subwfb	18,w	;volatile
  8818  0078  0021               	movlb	1	; select bank1
  8819  0079  00AB               	movwf	(_gIntCapturedTime+1)^(0+128)
  8820                           
  8821                           ;main.c: 808: if(gIntCapturedTime > 1150ul) gRxData[gRxPos] |= gRxMask;
  8822  007A  3004               	movlw	4
  8823  007B  022B               	subwf	(_gIntCapturedTime+1)^(0+128),w
  8824  007C  307F               	movlw	127
  8825  007D  1903               	skipnz
  8826  007E  022A               	subwf	_gIntCapturedTime^(0+128),w
  8827  007F  1C03               	skipc
  8828  0080  2887               	goto	i1l4159
  8829  0081  0831               	movf	_gRxPos^(0+128),w
  8830  0082  3EB2               	addlw	_gRxData& (0+255)
  8831  0083  0086               	movwf	6
  8832  0084  0187               	clrf	7
  8833  0085  0830               	movf	_gRxMask^(0+128),w
  8834  0086  0481               	iorwf	1,f
  8835  0087                     i1l4159:	
  8836                           
  8837                           ;main.c: 809: gRxMask >>= 1;
  8838  0087  36B0               	lsrf	_gRxMask^(0+128),f
  8839                           
  8840                           ;main.c: 810: if(!gRxMask){
  8841  0088  08B0               	movf	_gRxMask^(0+128),f
  8842  0089  1D03               	skipz
  8843  008A  289D               	goto	i1l4179
  8844                           
  8845                           ;main.c: 811: gRxMask = 0x80;
  8846  008B  3080               	movlw	128
  8847  008C  00B0               	movwf	_gRxMask^(0+128)
  8848                           
  8849                           ;main.c: 812: gRxPos++;
  8850  008D  0AB1               	incf	_gRxPos^(0+128),f
  8851                           
  8852                           ;main.c: 814: if(gRxPos == sizeof(gRxData)){
  8853  008E  0831               	movf	_gRxPos^(0+128),w
  8854  008F  3A20               	xorlw	32
  8855  0090  1D03               	skipz
  8856  0091  289D               	goto	i1l4179
  8857                           
  8858                           ;main.c: 815: CCP1CON = 0;
  8859  0092  0025               	movlb	5	; select bank5
  8860  0093  0193               	clrf	19	;volatile
  8861                           
  8862                           ;main.c: 816: gRxDone = 1;
  8863  0094  14F9               	bsf	_gRxDone/(0+8),_gRxDone& (0+7)
  8864  0095  289D               	goto	i1l4179
  8865  0096                     i1l1366:	
  8866                           ;main.c: 817: }
  8867                           ;main.c: 818: }
  8868                           ;main.c: 819: }
  8869                           ;main.c: 820: }
  8870                           
  8871                           
  8872                           ;main.c: 821: else{
  8873                           ;main.c: 823: gIntFirstEdgeSeen = 1;
  8874  0096  1479               	bsf	_gIntFirstEdgeSeen/(0+8),_gIntFirstEdgeSeen& (0+7)
  8875                           
  8876                           ;main.c: 824: TMR2ON = 1;
  8877  0097  151C               	bsf	28,2
  8878                           
  8879                           ;main.c: 825: TMR2 = 0;
  8880  0098  019A               	clrf	26	;volatile
  8881                           
  8882                           ;main.c: 826: TMR2IE = 1;
  8883  0099  0021               	movlb	1	; select bank1
  8884  009A  1491               	bsf	17,1
  8885                           
  8886                           ;main.c: 827: TMR2IF = 0;
  8887  009B  0020               	movlb	0	; select bank0
  8888  009C  1091               	bcf	17,1
  8889  009D                     i1l4179:	
  8890                           
  8891                           ;main.c: 828: }
  8892                           ;main.c: 829: if(!gRxDone) CCP1CON ^= 1;
  8893  009D  18F9               	btfsc	_gRxDone/(0+8),_gRxDone& (0+7)
  8894  009E  0009               	retfie
  8895  009F  3001               	movlw	1
  8896  00A0  0025               	movlb	5	; select bank5
  8897  00A1  0693               	xorwf	19,f	;volatile
  8898  00A2  0009               	retfie
  8899  00A3                     __end_of_isr:	
  8900                           
  8901 ;; =============== function _isr ends ============
  8902  0026                     
  8903                           	psect	functab
  8904  0100                     __pfunctab:	
  8905  0100                     fptable:	
  8906  0100  3181               	movlp	high fptable
  8907  0101  0782               	addwf	2,f
  8908  0102                     fpbase:	
  8909  0102  2902               	goto	fpbase	; Call via a null pointer and you will get stuck here.
  8910  0103                     fp__mFadeDown:	
  8911  0103  3186  2E32         	ljmp	_mFadeDown
  8912  0105                     fp__mOffInit:	
  8913  0105  3187  2F14         	ljmp	_mOffInit
  8914  0107                     fp__mOffDestr:	
  8915  0107  3188  2804         	ljmp	_mOffDestr
  8916  0109                     fp__mOffDataInit:	
  8917  0109  3188  2806         	ljmp	_mOffDataInit
  8918  010B                     fp__mOffUp:	
  8919  010B  3181  292F         	ljmp	_mOffUp
  8920  010D                     fp__mOffDown:	
  8921  010D  3181  292C         	ljmp	_mOffDown
  8922  010F                     fp__mOffO:	
  8923  010F  3181  2929         	ljmp	_mOffO
  8924  0111                     fp__mSolidInit:	
  8925  0111  318A  2A58         	ljmp	_mSolidInit
  8926  0113                     fp__mSolidDestr:	
  8927  0113  3189  297F         	ljmp	_mSolidDestr
  8928  0115                     fp__mSolidUp:	
  8929  0115  3186  2EE3         	ljmp	_mSolidUp
  8930  0117                     fp__mSolidDown:	
  8931  0117  3184  2C2F         	ljmp	_mSolidDown
  8932  0119                     fp__mSolidO:	
  8933  0119  3181  29B0         	ljmp	_mSolidO
  8934  011B                     fp__mSolidDataInit:	
  8935  011B  3189  2967         	ljmp	_mSolidDataInit
  8936  011D                     fp__mFadeInit:	
  8937  011D  3188  2842         	ljmp	_mFadeInit
  8938  011F                     fp__mFadeDestr:	
  8939  011F  3188  2818         	ljmp	_mFadeDestr
  8940  0121                     fp__mFadeUp:	
  8941  0121  3181  2932         	ljmp	_mFadeUp
  8942  0123                     fp__mFadeO:	
  8943  0123  3182  2ACD         	ljmp	_mFadeO
  8944  0125                     fp__mFadeDataInit:	
  8945  0125  3188  280C         	ljmp	_mFadeDataInit
  8946  0127                     fp__mFadeRun:	
  8947  0127  3184  2C59         	ljmp	_mFadeRun
  8948  007E                     btemp	set	126	;btemp
  8949  007E                     wtemp0	set	126


HI-TECH Software PICC Macro Assembler V9.81 build 7503 
Symbol Table                                                                                   Tue Jun 14 23:13:28 2011

                ___altoft@exp 0031                             pc 0002                ___bmul@product 0021  
               ___altoft@sign 0032                  ___awdiv@sign 0025           ___wmul@multiplicand 0022  
                ___ftadd@exp1 0046                  ___ftadd@exp2 0045                  ___ftadd@sign 0044  
                         _GIE 005F                           _exp 0D0E                           _log 05B3  
                         _isr 0004                           wreg 0009                  ___ftdiv@cntr 0031  
                mFadeDown@arg 006A                  ___ftdiv@sign 0036                          l1124 09BA  
                        l1221 0000                          l1230 0000                          l1119 0000  
                        l1127 0000                          l1160 0000                          l1312 0000  
                        l1401 0000                          l1233 0000                          l1138 0000  
                        l1242 0000                          l1250 0000                          l1163 0000  
                        l1315 0B22                          l1236 0000                          l1157 0000  
                        l1325 0000                          l1174 035B                          l1318 0000  
                        l1166 0000                          l1246 0000                          l1254 0000  
                        l1262 0000                          l1191 0000                          l1239 0000  
                        l1520 03D8                          l1184 0000                          l1272 0154  
                        l1352 0947                          l1257 0000                          l1265 0000  
                        l1442 0000                          l1506 0F96                          l1194 0000  
                        l1290 0000                          l1523 0000                          l1179 0000  
                        l1275 0000                          l1188 0000                          l1605 0000  
                        l1285 0000                          l1293 0000                          l1535 0BE9  
                        l1448 0000                          l1624 0000                          l1528 0000  
                        l1609 0000                          l1289 033E                          l1458 0000  
                        l1562 0E58                          l1570 0000                          l1582 0000  
                        l6001 0000                          l1595 0000                          l1780 0000  
                        l6101 0FA1                          l1677 0000                          l6007 05D1  
                        l6111 0000                          l6041 0000                          l6017 05E7  
                        l6009 0000                          l6105 0000                          l6201 0C67  
                        l6027 0000                          l6115 0000                          l6107 0FAC  
                        l6123 0000                          l6203 0000                          l6117 0000  
                        l6109 0000                          l6053 0F41                          l6045 0000  
                        l6141 0000                          l6213 0C79                          l6205 0000  
                        l6301 0218                          l6039 061A                          l6119 0FC0  
                        l6071 0000                          l6063 0F57                          l6047 0000  
                        l6151 0000                          l6143 0000                          l6135 0000  
                        l6215 0000                          l6207 0000                          l6223 0000  
                        l6311 0259                          l6303 0237                          l5521 0000  
                        l5513 0000                          l5505 09C0                          l6081 0F73  
                        l6073 0000                          l6065 0000                          l6057 0F48  
                        l6049 0000                          l6161 0000                          l6153 0BFC  
                        l6145 0000                          l6137 0000                          l6129 0BD8  
                        l6217 0000                          l6209 0C71                          l6233 0000  
                        l6241 0000                          l6321 0000                          l6313 025B  
                        l5601 0000                          l6401 02FF                          l5523 0000  
                        l5515 0000                          l5507 0000                          l5531 0000  
                        l6083 0F77                          l6075 0F65                          l6059 0000  
                        l6163 0000                          l6147 0000                          l6139 0000  
                        l6219 0000                          l6235 0F0D                          l6227 0000  
                        l6251 0FEE                          l6243 0000                          l6331 0000  
                        l6323 02A0                          l6307 023C                          l5611 0000  
                        l5603 0000                          l6411 0000                          l6403 0000  
                        l5525 0000                          l5517 0000                          l5509 0000  
                        l5621 0ED4                          l5701 0EA3                          l6093 0F8E  
                        l6077 0000                          l6085 0F7C                          l6157 0000  
                        l6149 0000                          l6181 0000                          l6173 0C3A  
                        l6229 0000                          l6261 0000                          l6333 0000  
                        l6317 0000                          l6309 0242                          l5605 0000  
                        l6421 0000                          l6413 0000                          l6405 0000  
                        l5527 0000                          l5519 0000                          l5623 0000  
                        l5615 0000                          l5631 0000                          l5711 0000  
                        l5703 0EAC                          l6095 0F92                          l6087 0F80  
                        l6159 0C12                          l6191 0000                          l6183 0000  
                        l6167 0000                          l6239 0000                          l6255 0000  
                        l6335 0000                          l6327 0000                          l6319 0000  
                        l6271 01EF                          l6511 0000                          l6503 0D43  
                        l6351 0000                          l6343 0000                          l6431 0000  
                        l6423 0000                          l6415 0000                          l6407 0000  
                        l5481 0000                          l5529 0000                          l5553 0000  
                        l5625 0000                          l5641 0000                          l5633 0AF7  
                        l5713 0000                          l5705 0EB1                          l5721 03E2  
                        l5801 0000                          l6089 0000                          l6193 0000  
                        l6185 0000                          l6249 0FE4                          l6257 0000  
                        l6329 0000                          l6273 0000                          l6265 0000  
                        l6513 0000                          l6505 0000                          l5609 070D  
                        l6361 0000                          l6353 0000                          l6345 0000  
                        l6337 0000                          l6433 0000                          l6425 0000  
                        l6417 0000                          l6409 0000                          l6601 0000  
                        l5483 0000                          l5491 0000                          l5563 0AA5  
                        l5627 0000                          l5715 0000                          l5707 0EB5  
                        l5723 0000                          l5731 0E28                          l5803 05A6  
                        l5811 0000                          l6099 0000                          l6195 0000  
                        l6187 0000                          l6179 0C4B                          l6259 0000  
                        l6291 0000                          l6283 0201                          l6267 0000  
                        l6451 0CC5                          l6523 0000                          l6515 0000  
                        l6507 0000                          l6363 0000                          l6355 0000  
                        l6347 0000                          l6427 0000                          l6419 0000  
                        l6371 0000                          l6611 0534                          ?_exp 005C  
                        l5485 0000                          l5493 0000                          l5573 0A85  
                        l5653 03C7                          l5717 0000                          l5741 0000  
                        l5733 0E2D                          l5805 0000                          l5901 0000  
                        l6197 0C5F                          l6189 0000                          l6293 0000  
                        l6285 0000                          l6277 01F8                          l6461 0D07  
                        l6453 0000                          l6437 0000                          l6517 0000  
                        l6509 0D63                          l6533 0000                          l6621 0000  
                        l6365 0000                          l6357 0000                          l6349 0000  
                        l6701 0151                          l6429 0000                          l6381 0000  
                        l6373 0000                          l6613 0000                          l6605 0531  
                        ?_log 0070                          l5479 0000                          l5495 0000  
                        l5575 0AB3                          l5567 0000                          l5559 0A9E  
                        l5591 0000                          l5639 0000                          l5655 0000  
                        l5647 0000                          l5663 0000                          l5751 0000  
                        l5743 0000                          l5735 0000                          l5807 05AE  
                        l5823 0420                          l5831 0000                          l5903 0371  
                        l6295 0000                          l6287 0000                          l6279 0000  
                        l6447 0CC1                          l6439 0000                          l6471 06DC  
                        l6543 0000                          l6535 0000                          l6631 0000  
                        l5911 071D                          l6367 0000                          l6359 0000  
                        l6703 0000                          l6391 0000                          l6383 0000  
                        l6615 0000                          l5497 0000                          l5489 0000  
                        l5569 0000                          l5585 0000                          l5593 0000  
                        l5657 0000                          l5649 03C1                          l5681 068A  
                        l5673 067B                          l5665 0000                          l5761 0000  
                        l5753 0E54                          l5737 0000                          l5729 0000  
                        l5825 0000                          l5905 0348                          l6289 0000  
                        l6465 0000                          l6529 0DDC                          l6481 0000  
                        l6545 0000                          l6537 0000                          l6641 0000  
                        l6633 0000                          l6721 064F                          l6713 0000  
                        l5921 0000                          l5913 0000                          l6705 015A  
                        l6393 0000                          l6385 0000                          l6377 0000  
                        l6553 0000                          l6801 08F6                          l5499 0000  
                        l5587 0000                          l5683 0000                          l5675 0000  
                        l5691 0000                          l5763 0E6F                          l5739 0000  
                        l5819 0408                          l5827 0426                          l5851 0000  
                        l5843 0DFE                          l6299 0000                          l6475 0000  
                        l6547 01A6                          l6643 0000                          l6635 0000  
                        l6627 0B2B                          l6723 0000                          l5915 0000  
                        l5907 0000                          l5931 0000                          l6395 0000  
                        l6387 0000                          l6379 0000                          l6571 048E  
                        l6563 0473                          l6803 0000                          ?_isr 0070  
                        l5597 0000                          l5685 068E                          l5693 0E96  
                        l5749 0E4D                          l5781 0586                          l5773 0000  
                        l5861 0000                          l6477 0000                          l6549 01AC  
                        l6645 0000                          l6637 0000                          l6629 0000  
                        l6717 0000                          l6725 0657                          l5917 0000  
                        l5909 0000                          l5925 0000                          l6653 0000  
                        l6661 0000                          l6397 0000                          l6389 0000  
                        l6573 0490                          l6557 0000                          l6733 0000  
                        l6813 0919                          l6805 0903                          l5679 0000  
                        l5759 0E61                          l5791 0593                          l5783 0000  
                        l5775 057D                          l5767 0000                          l5847 0E0D  
                        l5839 0000                          l5871 0000                          l6487 0D19  
                        l6639 0000                          l5919 0000                          l6647 0000  
                        l6655 0000                          l5935 0000                          l5943 0000  
                        l5951 0000                          l6671 0000                          l6399 0000  
                        l6735 0000                          l6823 0937                          l6751 087F  
                        l5697 0E9A                          l5689 0000                          l5793 0000  
                        l5769 0000                          l5849 0000                          l5881 03B6  
                        l6497 0D2F                          l5929 0000                          l6649 0000  
                        l5937 0000                          l5945 0000                          l5953 0000  
                        l6681 0000                          l6673 0000                          l6665 0000  
                        l6593 0000                          l6569 0488                          l6825 0000  
                        l6817 0924                          l6809 090E                          l6761 0000  
                        l6745 0000                          l5699 0E9E                          l5779 0000  
                        l5875 0000                          l5859 0000                          l5891 0000  
                        l6659 0000                          l5939 0000                          l5963 0000  
                        l6683 0000                          l6667 0000                          l5971 0000  
                        l6691 0000                          l6595 0511                          l6587 04D2  
                        l6579 0494                          l6739 095B                          l6827 0944  
                        l6771 0000                          l6747 0000                          l5797 0000  
                        l5877 03B0                          l5869 0393                          l5885 0000  
                        l5981 0000                          l5957 0450                          l5949 0000  
                        l5965 0000                          l6669 0000                          l6597 0000  
                        l6757 0881                          l6765 0899                          l5799 05A2  
                        l5879 0000                          l5991 0000                          l5983 0000  
                        l5959 0000                          l6687 0000                          l6679 085E  
                        l6695 0000                          l5975 0000                          l6791 0000  
                        l6783 0000                          l6775 0000                          l6767 0000  
                        l6759 0000                          l5889 0000                          l5897 0358  
                        l5993 0000                          l5985 0000                          l5969 0000  
                        l6697 0000                          l5977 0000                          l6793 0000  
                        l6777 0000                          l6769 08A2                          l5899 0000  
                        l5995 0000                          l5987 0000                          l6795 0000  
                        l6787 0000                          l6779 08C6                          l5997 0000  
                        l5989 0000                          l6797 0000                          l6789 0000  
                        _LATA 010C                  mFadeInit@arg 006A                          u4115 037D  
                        u4075 03A5                          u5035 08AB                          u3615 0A94  
                        u5055 08C2                          u4425 0C09                          u3715 0683  
                        u4195 05F0                          u3830 0000                          u5167 0B1B  
                        u4535 0569                          u3835 0E34                          u3945 059B  
                        u4745 0DD6                          u4855 04C9                          u3995 0416  
                        u4795 0467                          u4885 04FE                          _PLLR 04D6  
                        _TMR1 0016                          _TMR2 001A                          _gLed 0075  
                        _main 0871                  ___ftpack@arg 0020                          _init 0B01  
                        _rand 054A                  ___ftpack@exp 0023                          fsr0h 0005  
                        fsr1h 0007                          fsr0l 0004                          indf0 0000  
                        indf1 0001                          fsr1l 0006                          btemp 007E  
                        log@a 0023                          exp@x 005C                          isr@t 0074  
            _gIntCapturedTime 00AA                          start 00A3         __size_of_mOffDataInit 0006  
           ___bmul@multiplier 0022                  ___ftmul@cntr 0039                  ___ftmul@sign 003A  
               mFadeDestr@arg 006A                  ___fttol@exp1 002C                         ??_exp 005F  
                ___fttol@lval 0028                         ??_log 0023                         ??_isr 0070  
             ??_mFadeDataInit 006B               __end_of_mFadeUp 0171                         ?_main 0070  
                       ?_init 0070                         ?_rand 0070               __end_of___awdiv 05B3  
             __end_of___ftadd 0FD2                         _CCPR1 0291               __end_of___ftdiv 0C29  
             __end_of___ftneg 0F03               __end_of___lldiv 03BF               __end_of___ftmul 0C93  
             ___awdiv@divisor 0020                         _T1CON 0018               __end_of___llmod 042F  
             __end_of___ftsub 0E8E               __end_of___fttol 0E78                         _T2CON 001C  
             __end_of___lwdiv 0693               ___awdiv@counter 0024                         _PORTA 000C  
                       _TRISA 008C               __end_of_eeWrite 09BE               __end_of_mSolidO 01E9  
         ___lmul@multiplicand 0024                         _mOffO 0129                 ___awtoft@sign 002B  
                       _getU8 0AEF          __end_of_genExponents 0BC7                         _floor 0CA2  
                       _ldexp 05C8                         _frexp 0EC8                 ___ftpack@sign 0024  
                       fpbase 0102                         main@t 00DC                __pbitbssCOMMON 03C8  
                _mOffDataInit 0806                  main@whichBtn 00DF  __size_of_mOffCheckConfigMode 003F  
             __end_of_rxStart 09DE                         status 0003                         wtemp0 007E  
           runFuncPtr@curMode 00D4             runFuncPtr@funcIdx 00D6                   ldexp@newexp 004A  
               runFuncPtr@arg 00D5                  __end_of_main 0948                  __end_of_init 0B28  
                __end_of_rand 0573          __size_of_mSolidDestr 0018                        ??_main 00DA  
               ___fttol@sign1 0027                        ??_init 0020                        ??_rand 0026  
     __size_of_mSolidDataInit 0018             fp__mSolidDataInit 011B                        ?_getU8 0070  
            __end_of_mFadeRun 054A                        _CCP1IE 048A                        ?_floor 0047  
                      _CCP1IF 008A                        ?_ldexp 0047                        ?_frexp 0020  
            __end_of___altoft 1000              ___llmod@dividend 0024                        _EEADRL 0191  
                      _EEDATL 0193                        _EECON1 0195                        _EECON2 0196  
            ___awdiv@dividend 0022                        _APFCON 011D             mSolidDataInit@arg 006A  
            __end_of___awtoft 0F1E                        _ANSELA 018C              __end_of___ftpack 0EC8  
            __end_of___lbtoft 0CA2                        _HFIOFL 04D3                        i1l1366 0096  
                      i1l4111 0000                        i1l4113 0000                        i1l4115 0000  
                      i1l4107 0000                        i1l4141 0058                        i1l4133 004E  
                      i1l4151 0000                        i1l4161 0000                        i1l4153 006F  
                      i1l4137 0000                        i1l4171 0000                        i1l4155 0000  
                      i1l4139 0000                        i1l4173 0000                        i1l4165 0000  
                      i1l4149 0000                        i1l4175 0000                        i1l4167 0000  
                      i1l4159 0087                        i1l4177 0000                        i1l4179 009D  
                      _INTCON 000B              __end_of_mOffDown 012F              __end_of_mOffInit 0727  
                      u190_25 0033                        u191_25 003E                        u192_25 0049  
                      u189_25 0022                        _OSCCON 0099                        _TMR0IF 005A  
                      _TMR2IE 0489                        _TMR2IF 0089                        _TMR2ON 00E2  
            __end_of_delay_ms 0380              __end_of_mSolidUp 0714                        _mFadeO 02CD  
                      ___bmul 0AF4                        ___ftge 0DEF                        ___lmul 03D4  
                      _eeRead 0A6B                     ??_mFadeUp 006B                        _gRxPos 00B1  
                      _mOffUp 012F                        ___wmul 03BF                     ??___awdiv 0024  
                      _getU16 0ABE                        _getU32 09DE                     ??___ftadd 0041  
                   ??___ftdiv 002E                     ??___ftneg 0023                     ??___lldiv 0028  
                   ??___ftmul 0032                     ??___llmod 0028                     ??___ftsub 004D  
                   ??___fttol 0024                     ??___lwdiv 0024               _gBattCentiVolts 00A8  
                   ??_eeWrite 0021                        getU8@t 0020              ___awdiv@quotient 0026  
                   ??_mSolidO 006B              __end_of_rxDecode 0ABE                        main@pt 00DD  
                      clrloop 0728                        floor@i 004A                        floor@x 0047  
                      exp@exp 0062         ___ftmul@f3_as_product 0036                        fptable 0100  
                      fptotal 0026                     ??_rxStart 0020                    _mFadeDestr 0818  
          __size_of_mFadeDown 003C            __size_of_mFadeInit 002F                    ___altoft@c 002D  
                  ___ftadd@f1 003B                    ___ftadd@f2 003E                    ___ftge@ff1 0020  
                  ___ftge@ff2 0023                  eval_poly@res 0059                    ___ftdiv@f1 002B  
                  ___ftdiv@f2 0028                    ___ftdiv@f3 0032            __size_of_mOffDestr 0002  
                  mFadeDown@t 006F                    mFadeInit@i 006C                    ___ftneg@f1 0020  
                  ___awtoft@c 0028                    mFadeUp@arg 006A                    ___lbtoft@c 002B  
         ___bmul@multiplicand 0020                    ___ftmul@f1 002C                    ___ftmul@f2 002F  
                  ___ftsub@f1 004A                    ___ftsub@f2 0047                    ___fttol@f1 0020  
              __pcstackCOMMON 0070                  __pidataBANK1 0000                 __end_of_mOffO 012C  
               __end_of_getU8 0AF4                 __end_of_floor 0D0E                 __end_of_ldexp 0632  
               __end_of_frexp 0EFB         __size_of_genExponents 009F                mSolidDestr@arg 006A  
                     ??_mOffO 006B                       ??_getU8 0020                       ??_floor 004A  
                     ??_ldexp 004C                       ??_frexp 0024                    __pbssBANK1 00A0  
                  __pbssBANK2 0120            __size_of_eval_poly 0050           cfgModeShowVal@digit 0039  
                  eeRead@addr 0020                    __pmaintext 0871                       ?___bmul 0020  
                  _mSolidDown 042F                    _mSolidInit 0A58                       ?___ftge 0020  
                     ?___lmul 0020                       ?_eeRead 0070                       ?___wmul 0020  
           __end_of_mFadeDown 066E                       ?_getU32 0020                       ?_getU16 0020  
           __end_of_mFadeInit 0871                  _genExponents 0B28                    __pintentry 0004  
                   ?_mFadeRun 006A                       _CCP1CON 0293                     ?___altoft 002D  
                  __ptext1610 0967                    __ptext1611 01B0                    __ptext1603 0948  
                  __ptext1620 0804                    __ptext1612 042F                    __ptext1604 0459  
                  __ptext1621 0714                    __ptext1613 06E3                    __ptext1605 080C  
                  __ptext1630 054A                    __ptext1622 0632                    __ptext1614 097F  
                  __ptext1606 02CD                    __ptext1631 0FD2                    __ptext1623 0B28  
                  __ptext1615 0A58                    __ptext1607 0132                    __ptext1640 05B3  
                  __ptext1632 0F03                    __ptext1624 0171                    __ptext1616 0129  
                  __ptext1608 0818                    __ptext1641 0380                    __ptext1633 0C93  
                  __ptext1625 0D0E                    __ptext1617 012C                    __ptext1609 0842  
                  __ptext1650 03BF                    __ptext1642 0DEF                    __ptext1634 0C29  
                  __ptext1626 0E78                    __ptext1618 012F                    __ptext1651 0AF4  
                  __ptext1643 0EFB                    __ptext1635 0BC7                    __ptext1627 0693  
                  __ptext1619 0806                    __ptext1652 0EC8                    __ptext1644 03F9  
                  __ptext1636 0F1E                    __ptext1628 0CA2                    __ptext1653 0AEF  
                  __ptext1645 0573                    __ptext1637 05C8                    __ptext1629 01E9  
                  __ptext1654 0ABE                    __ptext1646 0E1B                    __ptext1638 0B01  
                  __ptext1655 09DE                    __ptext1647 03D4                    __ptext1639 0348  
                  __ptext1656 0A76                    __ptext1648 0E8E                    __ptext1657 09BE  
                  __ptext1649 066E                    __ptext1658 0997                    __ptext1659 0A6B  
         _mOffCheckConfigMode 0171                ___lmul@product 0028                     ?___awtoft 0028  
                   ?___ftpack 0020                     ?___lbtoft 0028             __end_of_mOffDestr 0806  
                   ?_delay_ms 0026                _mSolidDataInit 0967                    _ldexp$2201 004E  
            mFadeDataInit@arg 006A                    __stringtab 00A6          ?_mOffCheckConfigMode 0070  
                mOffDestr@arg 006A                     ?_rxDecode 0070                    eeWrite@gie 03CA  
             __size_of_mFadeO 007B                       _mFadeUp 0132               __size_of___bmul 000D  
             __size_of___ftge 002C                       ___awdiv 0573               __size_of_eeRead 000B  
             __size_of___lmul 0025                       ___ftadd 0F1E                       _gRxData 00B2  
                     ___ftdiv 0BC7               __size_of_mOffUp 0003                       ___ftneg 0EFB  
                     ___lldiv 0380                       _gRxDone 03C9               __size_of___wmul 0015  
                     ___ftmul 0C29                       ___llmod 03F9                       ___ftsub 0E78  
                     ___fttol 0E1B                       _gRxMask 00B0               __size_of_getU32 007A  
             __size_of_getU16 0031                       ___lwdiv 066E                       _gPwmCtr 00AC  
                  ??_mFadeRun 006B                    ??___altoft 0031       __size_of_cfgModeShowVal 00E4  
                     _eeWrite 0997                    ??___awtoft 002B                    ??___ftpack 0025  
                  ??___lbtoft 002B             __end_of_eval_poly 06E3                       _mSolidO 01B0  
       __end_of_mFadeDataInit 0818                    ??_mOffDown 006B                    ??_mOffInit 006B  
                     getU32@t 002C                       getU16@t 002A                       getU32@v 002D  
                     getU16@v 002B        __end_of_mSolidDataInit 097F                  __size_of_exp 00E1  
                __size_of_log 0015                  __size_of_isr 009F                    ??_delay_ms 0028  
                  ??_mSolidUp 006B                       _rxStart 09BE         ??_mOffCheckConfigMode 003E  
                  delay_ms@ms 0026          end_of_initialization 0840                       log@addr 00AE  
                     exp@sign 0064                       rand@ret 0028                    mSolidO@arg 006A  
                  ??_rxDecode 0020               ___lldiv@divisor 0020               ___lldiv@counter 002C  
               ??_mSolidDestr 006B           __size_of_mFadeDestr 000E                    fp__mFadeUp 0121  
               _rxDecode$2016 0022                    _runFuncPtr 0948                    fp__mSolidO 0119  
         _cfgModeShowVal$2045 0032           _cfgModeShowVal$2046 0034           _cfgModeShowVal$2047 0036  
           _gIntFirstEdgeSeen 03C8               cfgModeShowVal@t 003A               cfgModeShowVal@v 002E  
                 ___ftdiv@exp 0035               genExponents@bri 0065                   mFadeRun@arg 006A  
                 runFuncPtr@f 00D9                   ___ftmul@exp 0035                __end_of_mFadeO 0348  
              __end_of___bmul 0B01                __end_of___ftge 0E1B                __end_of_eeRead 0A76  
              __end_of___lmul 03F9                __end_of_mOffUp 0132                __end_of___wmul 03D4  
              __end_of_getU32 0A58                __end_of_getU16 0AEF           __end_of_mSolidDestr 0997  
                  floor@expon 004D           start_initialization 0826               fp__mOffDataInit 0109  
                  eval_poly@d 0054                    eval_poly@n 0055                    eval_poly@x 0051  
                  ldexp@value 0047                   __end_of_exp 0DEF                   __end_of_log 05C8  
                 __end_of_isr 00A3           __size_of_mSolidDown 002A           __size_of_mSolidInit 0013  
                  frexp@value 0020               ___llmod@divisor 0020               ___llmod@counter 0028  
                    ??_mFadeO 006B                      ??___bmul 0021                      ??___ftge 0026  
                    ??___lmul 0028                      ??_eeRead 0020                      ??_mOffUp 006B  
                    ??___wmul 0024                      ??_getU32 0024                      ??_getU16 0022  
              _cfgModeShowVal 01E9                   __pdataBANK1 00E1                     _mFadeDown 0632  
                   _mFadeInit 0842             __size_of_mFadeRun 00F1             __size_of___altoft 002E  
                 ?_runFuncPtr 00D4             __size_of___awtoft 001B             __size_of___ftpack 003A  
           __size_of___lbtoft 000F                     mFadeO@arg 006A                   __pbssCOMMON 0075  
           __size_of_mOffDown 0003             __size_of_mOffInit 0013                 genExponents@i 0066  
               genExponents@t 0067                 __pcstackBANK0 0020                 __pcstackBANK1 00D2  
                   mFadeRun@i 00D3                     mFadeRun@t 00D2                  ??_mFadeDestr 006B  
                   _mOffDestr 0804             __size_of_delay_ms 0038             __size_of_mSolidUp 0031  
               mSolidDown@arg 006A                 mSolidInit@arg 006A              ___lwdiv@dividend 0022  
      __end_of_cfgModeShowVal 02CD                     __pfunctab 0100             __size_of_rxDecode 0048  
                 _mSolidDestr 097F                      ?___awdiv 0020                      ?___ftadd 003B  
                    ?___ftdiv 0028                      ?___ftneg 0020                      ?___lldiv 0020  
                    ?___ftmul 002C                      ?___llmod 0020                      ?___ftsub 0047  
                    ?___fttol 0020                      ?___lwdiv 0020                     mOffUp@arg 006A  
          __end_of_mFadeDestr 0826                      ?_eeWrite 0020                     __pstrings 00A6  
                   _eval_poly 0693                   mOffDown@arg 006A                   mOffInit@arg 006A  
                    ?_rxStart 0070                __size_of_mOffO 0003               _runFuncPtr$2127 00D7  
            ___lwdiv@quotient 0025                __size_of_getU8 0005                ??_mOffDataInit 006B  
              __size_of_floor 006C                __size_of_ldexp 006A                __size_of_frexp 0033  
                   _exponents 0120                ___wmul@product 0024                     delay_ms@d 002C  
                   delay_ms@t 002A                     mSolidO@s0 006B                     mSolidO@s1 006C  
                   mSolidO@s2 006D                     mSolidO@s3 006E                     mSolidUp@t 00D2  
         __size_of_runFuncPtr 001F                  ??_mSolidDown 006B                  ??_mSolidInit 006B  
             ?_cfgModeShowVal 002E                     fp__mFadeO 0123                     fp__mOffUp 010B  
            ??_mSolidDataInit 006B             ___wmul@multiplier 0020   __end_of_mOffCheckConfigMode 01B0  
                  ?_eval_poly 0051                     idloc_word 8000             ___lmul@multiplier 0020  
          __end_of_mSolidDown 0459            __end_of_mSolidInit 0A6B                   eeWrite@addr 0022  
      __size_of_mFadeDataInit 000C                   eeWrite@data 0020              fp__mFadeDataInit 0125  
                   frexp@eptr 0023                    _EECON1bits 0195                _mFadeDown$2098 006D  
            __size_of_mFadeUp 003F                      _mFadeRun 0459              __size_of___awdiv 0040  
                    _gModeFns 00C5              __size_of___ftadd 00B4              __size_of___ftdiv 0062  
                    mFadeO@s0 006B                      mFadeO@s1 006C                      mFadeO@s2 006D  
                    mFadeO@s3 006E              __size_of___ftneg 0008              __size_of___lldiv 003F  
                    ___altoft 0FD2              __size_of___ftmul 006A              __size_of___llmod 0036  
            __size_of___ftsub 0016              __size_of___fttol 005D              __size_of___lwdiv 0025  
                    mFadeUp@t 006E                      ___awtoft 0F03                      ___ftpack 0E8E  
                    ___lbtoft 0C93                      _gRngSeed 00E1              __size_of_eeWrite 0027  
                 ??_mFadeDown 006B                   ??_mFadeInit 006B                      _mOffDown 012C  
                    _mOffInit 0714              __size_of_mSolidO 0039                      _exp$2163 005F  
                   rxDecode@i 0025                     rxDecode@j 0026                     rxDecode@k 0027  
                   rxDecode@t 0024                      _delay_ms 0348                      mOffO@arg 006A  
      mOffCheckConfigMode@btn 003F               ___lwdiv@divisor 0020                      _mSolidUp 06E3  
             ___lwdiv@counter 0024                   ??_mOffDestr 006B              __size_of_rxStart 0020  
               fp__mFadeDestr 011F                 __size_of_main 00D7                 __size_of_init 0027  
               __size_of_rand 0029                      _rxDecode 0A76                      clear_ram 0727  
                    _tempData 00A0                      fp__mOffO 010F                 ?_genExponents 0070  
             mOffDataInit@arg 006A          __end_of_mOffDataInit 080C                      main@mode 00E0  
                    exp@coeff 00A7                 _mFadeDataInit 080C                  ??_runFuncPtr 0070  
                  _INTCONbits 000B                   ??_eval_poly 0057                fp__mSolidDestr 0113  
                    intlevel1 0100                   mSolidDown@t 006D                   mSolidUp@arg 006A  
            ___lldiv@dividend 0024                  fp__mFadeDown 0103                  fp__mFadeInit 011D  
          __end_of_runFuncPtr 0967                ??_genExponents 0065                  _mFadeUp$2094 006C  
                    rxStart@i 0020                  fp__mOffDestr 0107     cfgModeShowVal@colorMarker 0038  
               fp__mSolidDown 0117                 fp__mSolidInit 0111                    _OPTION_REG 0095  
        mOffCheckConfigMode@t 0040              ___lldiv@quotient 0028                   fp__mFadeRun 0127  
                 fp__mOffDown 010D                   fp__mOffInit 0105                   fp__mSolidUp 0115  
            ??_cfgModeShowVal 0032  
TX.lst

Código: Seleccionar todo



HI-TECH Software PIC PRO Macro Assembler V9.81 build 7503 
                                                                                               Tue Jun 14 21:20:09 2011

HI-TECH Software Omniscient Code Generator (PRO mode) build 7503
     1                           	processor	12F1840
     2                           	opt	pw 120
     3                           	opt	pm
     4                           	psect	config,global,class=CONFIG,delta=2
     5                           	psect	idloc,global,class=IDLOC,delta=2
     6                           	psect	text192,local,class=CODE,delta=2
     7                           	psect	cinit,global,class=CODE,delta=2
     8                           	psect	bssBANK0,global,class=BANK0,space=1,delta=1
     9                           	psect	cstackCOMMON,global,class=COMMON,space=1,delta=1
    10                           	psect	cstackBANK0,global,class=BANK0,space=1,delta=1
    11                           	psect	text200,local,class=CODE,delta=2
    12                           	psect	pa_nodes,global,class=CODE,delta=2
    13                           	dabs	1,0x7E,2
    14  000A                     	;#
    15                           
    16                           	psect	config
    17  8007  C9A4               	dw	51620	;#
    18  8008  DEFF               	dw	57087	;#
    19                           
    20                           	psect	idloc
    21  8000                     idloc_word:	
    22                           
    23                           ;#
    24  8000  0000               	dw	0	;#
    25  8001  0000               	dw	0	;#
    26  8002  0000               	dw	0	;#
    27  8003  0000               	dw	0	;#
    28                           
    29                           	psect	text192
    30  0000                     __ptext192:	
    31  000B                     _INTCON	set	11
    32  000B                     _INTCONbits	set	11
    33  000C                     _PORTA	set	12
    34  001B                     _PR2	set	27
    35  001C                     _T2CON	set	28
    36  001A                     _TMR2	set	26
    37  00E2                     _TMR2ON	set	226
    38  009B                     _ADRES	set	155
    39  009D                     _ADCON0	set	157
    40  009E                     _ADCON1	set	158
    41  0095                     _OPTION_REG	set	149
    42  0099                     _OSCCON	set	153
    43  008C                     _TRISA	set	140
    44  04E9                     _GO	set	1257
    45  04D3                     _HFIOFL	set	1235
    46  011D                     _APFCON	set	285
    47  0117                     _FVRCON	set	279
    48  08BE                     _FVRRDY	set	2238
    49  018C                     _ANSELA	set	396
    50  0191                     _EEADRL	set	401
    51  0195                     _EECON1	set	405
    52  0195                     _EECON1bits	set	405
    53  0196                     _EECON2	set	406
    54  0193                     _EEDATL	set	403
    55  0197                     _VREGCON	set	407
    56  020C                     _WPUA	set	524
    57  0293                     _CCP1CON	set	659
    58  0291                     _CCPR1L	set	657
    59                           
    60                           	psect	cinit
    61  0626                     start_initialization:	
    62                           
    63                           ; Clear objects allocated to BANK0
    64  0626  01C6               	clrf	__pbssBANK0& (0+127)
    65  0627  01C7               	clrf	(__pbssBANK0+1)& (0+127)
    66  0628  01C8               	clrf	(__pbssBANK0+2)& (0+127)
    67  0629  01C9               	clrf	(__pbssBANK0+3)& (0+127)
    68  062A                     end_of_initialization:	
    69                           ;End of C runtime variable initialization code
    70                           
    71  062A  0020               	movlb	0
    72  062B  2E2C               	ljmp	_main	;jump to C main() function
    73  062C                     __pmaintext:	
    74 ;;Data sizes: Strings 0, constant 0, data 0, bss 4, persistent 0 stack 0
    75 ;;Auto spaces:   Size  Autos    Used
    76 ;; COMMON          14     14      14
    77 ;; BANK0           80     38      42
    78 ;; BANK1           80      0       0
    79 ;; BANK2           80      0       0
    80 ;;
    81 ;; Pointer list with targets:
    82 ;; ?_measureVoltage	unsigned short  size(1) Largest target is 4
    83 ;;		 -> measureVoltage@t(BANK0[4]), 
    84 ;;
    85 ;; ?___lldiv	unsigned long  size(1) Largest target is 0
    86 ;;
    87 ;;
    88 ;; Critical Paths under _main in COMMON
    89 ;;
    90 ;;   _main->_sendButton
    91 ;;   _sendByte->_led
    92 ;;   _measureVoltage->___lldiv
    93 ;;
    94 ;; Critical Paths under _main in BANK0
    95 ;;
    96 ;;   _main->_sendButton
    97 ;;   _sendButton->_measureVoltage
    98 ;;
    99 ;; Critical Paths under _main in BANK1
   100 ;;
   101 ;;   None.
   102 ;;
   103 ;; Critical Paths under _main in BANK2
   104 ;;
   105 ;;   None.
   106 ;;
   107 ;;Main: autosize = 0, tempsize = 3, incstack = 0, save=0
   108 ;;
   109 ;;
   110 ;;Call Graph Tables:
   111 ;;
   112 ;; ---------------------------------------------------------------------------------
   113 ;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
   114 ;; ---------------------------------------------------------------------------------
   115 ;; (0) _main                                                 6     6      0    1674
   116 ;;                                             32 BANK0      6     6      0
   117 ;;                         _sendButton
   118 ;; ---------------------------------------------------------------------------------
   119 ;; (1) _sendButton                                          22    22      0    1311
   120 ;;                                             13 COMMON     1     1      0
   121 ;;                                             11 BANK0     21    21      0
   122 ;;                             _eeRead
   123 ;;                            _eeWrite
   124 ;;                     _measureVoltage
   125 ;;                           _sendByte
   126 ;; ---------------------------------------------------------------------------------
   127 ;; (2) _sendByte                                             3     3      0      46
   128 ;;                                              1 COMMON     3     3      0
   129 ;;                                _led
   130 ;; ---------------------------------------------------------------------------------
   131 ;; (2) _measureVoltage                                      11     9      2     277
   132 ;;                                              0 BANK0     11     9      2
   133 ;;                            ___lldiv
   134 ;; ---------------------------------------------------------------------------------
   135 ;; (3) _led                                                  1     1      0       0
   136 ;;                                              0 COMMON     1     1      0
   137 ;; ---------------------------------------------------------------------------------
   138 ;; (3) ___lldiv                                             13     5      8     162
   139 ;;                                              0 COMMON    13     5      8
   140 ;; ---------------------------------------------------------------------------------
   141 ;; (2) _eeWrite                                              2     1      1      44
   142 ;;                                              0 COMMON     2     1      1
   143 ;; ---------------------------------------------------------------------------------
   144 ;; (2) _eeRead                                               1     1      0      22
   145 ;;                                              0 COMMON     1     1      0
   146 ;; ---------------------------------------------------------------------------------
   147 ;; Estimated maximum stack depth 3
   148 ;; ---------------------------------------------------------------------------------
   149 ;; Call Graph Graphs:
   150 ;; _main (ROOT)
   151 ;;   _sendButton
   152 ;;     _eeRead
   153 ;;     _eeWrite
   154 ;;     _measureVoltage
   155 ;;       ___lldiv
   156 ;;     _sendByte
   157 ;;       _led
   158 ;;
   159 ;; Address spaces:
   160 ;;Name               Size   Autos  Total    Cost      Usage
   161 ;;BIGRAM              F0      0       0       0        0.0%
   162 ;;EEDATA             100      0       0       0        0.0%
   163 ;;NULL                 0      0       0       0        0.0%
   164 ;;CODE                 0      0       0       0        0.0%
   165 ;;BITCOMMON            E      0       0       1        0.0%
   166 ;;BITSFR0              0      0       0       1        0.0%
   167 ;;SFR0                 0      0       0       1        0.0%
   168 ;;COMMON               E      E       E       2      100.0%
   169 ;;BITSFR1              0      0       0       2        0.0%
   170 ;;SFR1                 0      0       0       2        0.0%
   171 ;;BITSFR2              0      0       0       3        0.0%
   172 ;;SFR2                 0      0       0       3        0.0%
   173 ;;STACK                0      0       3       3        0.0%
   174 ;;BITSFR3              0      0       0       4        0.0%
   175 ;;SFR3                 0      0       0       4        0.0%
   176 ;;ABS                  0      0      38       4        0.0%
   177 ;;BITBANK0            50      0       0       5        0.0%
   178 ;;BITSFR4              0      0       0       5        0.0%
   179 ;;SFR4                 0      0       0       5        0.0%
   180 ;;BANK0               50     26      2A       6       52.5%
   181 ;;BITSFR5              0      0       0       6        0.0%
   182 ;;SFR5                 0      0       0       6        0.0%
   183 ;;BITBANK1            50      0       0       7        0.0%
   184 ;;BITSFR6              0      0       0       7        0.0%
   185 ;;SFR6                 0      0       0       7        0.0%
   186 ;;BANK1               50      0       0       8        0.0%
   187 ;;BITSFR7              0      0       0       8        0.0%
   188 ;;SFR7                 0      0       0       8        0.0%
   189 ;;BITBANK2            50      0       0       9        0.0%
   190 ;;BITSFR8              0      0       0       9        0.0%
   191 ;;SFR8                 0      0       0       9        0.0%
   192 ;;BANK2               50      0       0      10        0.0%
   193 ;;BITSFR9              0      0       0      10        0.0%
   194 ;;SFR9                 0      0       0      10        0.0%
   195 ;;BITSFR10             0      0       0      11        0.0%
   196 ;;SFR10                0      0       0      11        0.0%
   197 ;;DATA                 0      0      3B      11        0.0%
   198 ;;BITSFR11             0      0       0      12        0.0%
   199 ;;SFR11                0      0       0      12        0.0%
   200 ;;BITSFR12             0      0       0      13        0.0%
   201 ;;SFR12                0      0       0      13        0.0%
   202 ;;BITSFR13             0      0       0      14        0.0%
   203 ;;SFR13                0      0       0      14        0.0%
   204 ;;BITSFR14             0      0       0      15        0.0%
   205 ;;SFR14                0      0       0      15        0.0%
   206 ;;BITSFR15             0      0       0      16        0.0%
   207 ;;SFR15                0      0       0      16        0.0%
   208 ;;BITSFR16             0      0       0      17        0.0%
   209 ;;SFR16                0      0       0      17        0.0%
   210 ;;BITSFR17             0      0       0      18        0.0%
   211 ;;SFR17                0      0       0      18        0.0%
   212 ;;BITSFR18             0      0       0      19        0.0%
   213 ;;SFR18                0      0       0      19        0.0%
   214 ;;BITSFR19             0      0       0      20        0.0%
   215 ;;SFR19                0      0       0      20        0.0%
   216 ;;BITSFR20             0      0       0      21        0.0%
   217 ;;SFR20                0      0       0      21        0.0%
   218 ;;BITSFR21             0      0       0      22        0.0%
   219 ;;SFR21                0      0       0      22        0.0%
   220 ;;BITSFR22             0      0       0      23        0.0%
   221 ;;SFR22                0      0       0      23        0.0%
   222 ;;BITSFR23             0      0       0      24        0.0%
   223 ;;SFR23                0      0       0      24        0.0%
   224 ;;BITSFR24             0      0       0      25        0.0%
   225 ;;SFR24                0      0       0      25        0.0%
   226 ;;BITSFR25             0      0       0      26        0.0%
   227 ;;SFR25                0      0       0      26        0.0%
   228 ;;BITSFR26             0      0       0      27        0.0%
   229 ;;SFR26                0      0       0      27        0.0%
   230 ;;BITSFR27             0      0       0      28        0.0%
   231 ;;SFR27                0      0       0      28        0.0%
   232 ;;BITSFR28             0      0       0      29        0.0%
   233 ;;SFR28                0      0       0      29        0.0%
   234 ;;BITSFR29             0      0       0      30        0.0%
   235 ;;SFR29                0      0       0      30        0.0%
   236 ;;BITSFR30             0      0       0      31        0.0%
   237 ;;SFR30                0      0       0      31        0.0%
   238 ;;BITSFR31             0      0       0      32        0.0%
   239 ;;SFR31                0      0       0      32        0.0%
   240                           
   241                           
   242 ;; *************** function _main *****************
   243 ;; Defined at:
   244 ;;		line 145 in file "Z:\pic\irTX\main.c"
   245 ;; Parameters:    Size  Location     Type
   246 ;;		None
   247 ;; Auto vars:     Size  Location     Type
   248 ;;  t               1   37[BANK0 ] unsigned char 
   249 ;;  btn             1   36[BANK0 ] unsigned char 
   250 ;;  n               1   35[BANK0 ] unsigned char 
   251 ;; Return value:  Size  Location     Type
   252 ;;		None               void
   253 ;; Registers used:
   254 ;;		wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
   255 ;; Tracked objects:
   256 ;;		On entry : 17F/0
   257 ;;		On exit  : 0/0
   258 ;;		Unchanged: 0/0
   259 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
   260 ;;      Params:         0       0       0       0
   261 ;;      Locals:         0       3       0       0
   262 ;;      Temps:          0       3       0       0
   263 ;;      Totals:         0       6       0       0
   264 ;;Total ram usage:        6 bytes
   265 ;; Hardware stack levels required when called:    3
   266 ;; This function calls:
   267 ;;		_sendButton
   268 ;; This function is called by:
   269 ;;		Startup code after reset
   270 ;; This function uses a non-reentrant model
   271 ;;
   272  062C                     _main:	
   273                           
   274                           ;main.c: 147: OSCCON = 0b11101000;
   275                           
   276                           ; Regs used in _main: [wreg+fsr1l-status,0+pclath+cstack]
   277  062C  30E8               	movlw	232
   278  062D  0021               	movlb	1	; select bank1
   279  062E  0099               	movwf	25	;volatile
   280                           
   281                           ;main.c: 148: OPTION_REG = 0b00001000;
   282  062F  3008               	movlw	8
   283  0630  0095               	movwf	21	;volatile
   284                           
   285                           ;main.c: 149: ANSELA = 0b00000000;
   286  0631  0023               	movlb	3	; select bank3
   287  0632  018C               	clrf	12	;volatile
   288                           
   289                           ;main.c: 150: PORTA = 0b00000000;
   290  0633  0020               	movlb	0	; select bank0
   291  0634  018C               	clrf	12	;volatile
   292                           
   293                           ;main.c: 151: WPUA = 0b00011111;
   294  0635  301F               	movlw	31
   295  0636  0024               	movlb	4	; select bank4
   296  0637  008C               	movwf	12	;volatile
   297                           
   298                           ;main.c: 152: TRISA = 0b11011111;
   299  0638  30DF               	movlw	223
   300  0639  0021               	movlb	1	; select bank1
   301  063A  008C               	movwf	12	;volatile
   302                           
   303                           ;main.c: 153: VREGCON = 0b00000010;
   304  063B  3002               	movlw	2
   305  063C  0023               	movlb	3	; select bank3
   306  063D  0097               	movwf	23	;volatile
   307                           
   308                           ;main.c: 154: INTCON = 0b00000000;
   309  063E  018B               	clrf	11	;volatile
   310                           
   311                           ;main.c: 155: APFCON = 0b00000001;
   312  063F  3001               	movlw	1
   313  0640  0022               	movlb	2	; select bank2
   314  0641  009D               	movwf	29	;volatile
   315                           
   316                           ;main.c: 157: CCP1CON = 0b00000000;
   317  0642  0025               	movlb	5	; select bank5
   318  0643  0193               	clrf	19	;volatile
   319                           
   320                           ;main.c: 158: T2CON = 0b00000000;
   321  0644  0020               	movlb	0	; select bank0
   322  0645  019C               	clrf	28	;volatile
   323                           
   324                           ;main.c: 159: CCPR1L = 13;
   325  0646  300D               	movlw	13
   326  0647  0025               	movlb	5	; select bank5
   327  0648  0091               	movwf	17	;volatile
   328                           
   329                           ;main.c: 160: PR2 = 25;
   330  0649  3019               	movlw	25
   331  064A  0020               	movlb	0	; select bank0
   332  064B  009B               	movwf	27	;volatile
   333                           
   334                           ;main.c: 162: _delay((unsigned long)((300)*(4000000/4000.0)));
   335  064C  3002               	movlw	2
   336  064D  00C2               	movwf	??_main+2
   337  064E  3085               	movlw	133
   338  064F  00C1               	movwf	??_main+1
   339  0650  3098               	movlw	152
   340  0651  00C0               	movwf	??_main
   341  0652                     u557:	
   342  0652  0BC0               	decfsz	??_main,f
   343  0653  2E52               	goto	u557
   344  0654  0BC1               	decfsz	??_main+1,f
   345  0655  2E52               	goto	u557
   346  0656  0BC2               	decfsz	??_main+2,f
   347  0657  2E52               	goto	u557
   348  0658  2E59               	nop2
   349  0659                     l2023:	
   350                           
   351                           ;main.c: 166: UInt8 t, n, btn;
   352                           ;main.c: 169: OSCCON = 0b00000011;
   353  0659  3003               	movlw	3
   354  065A  0021               	movlb	1	; select bank1
   355  065B  0099               	movwf	25	;volatile
   356  065C                     l2025:	
   357                           
   358                           ;main.c: 172: t = PORTA & 0x1F;
   359  065C  0020               	movlb	0	; select bank0
   360  065D  080C               	movf	12,w
   361  065E  00C5               	movwf	main@t
   362  065F  301F               	movlw	31
   363  0660  05C5               	andwf	main@t,f
   364  0661                     l2029:	
   365                           ;main.c: 173: while((n = (PORTA & 0x1F)) == t);
   366                           
   367  0661  080C               	movf	12,w
   368  0662  00C3               	movwf	main@n
   369  0663  301F               	movlw	31
   370  0664  05C3               	andwf	main@n,f
   371  0665  0843               	movf	main@n,w
   372  0666  0645               	xorwf	main@t,w
   373  0667  1903               	skipnz
   374  0668  2E61               	goto	l2029
   375                           
   376                           ;main.c: 174: btn = (t ^ n) & t;
   377  0669  0845               	movf	main@t,w
   378  066A  0643               	xorwf	main@n,w
   379  066B  00C4               	movwf	main@btn
   380  066C  0845               	movf	main@t,w
   381  066D  05C4               	andwf	main@btn,f
   382                           
   383                           ;main.c: 175: if(btn && !(btn & (btn - 1))) break;
   384  066E  0844               	movf	main@btn,w
   385  066F  1903               	btfsc	3,2
   386  0670  2E5C               	goto	l2025
   387  0671  0844               	movf	main@btn,w
   388  0672  3EFF               	addlw	255
   389  0673  0544               	andwf	main@btn,w
   390  0674  1D03               	btfss	3,2
   391  0675  2E5C               	goto	l2025
   392                           
   393                           ;main.c: 177: }
   394                           ;main.c: 180: OSCCON = 0b11101000;
   395  0676  30E8               	movlw	232
   396  0677  0021               	movlb	1	; select bank1
   397  0678  0099               	movwf	25	;volatile
   398                           
   399                           ;main.c: 183: t = 0;
   400  0679  0020               	movlb	0	; select bank0
   401  067A  01C5               	clrf	main@t
   402  067B                     l1151:	
   403                           ;main.c: 184: while(btn >>= 1) t++;
   404                           
   405  067B  36C4               	lsrf	main@btn,f
   406  067C  08C4               	movf	main@btn,f
   407  067D  1903               	btfsc	3,2
   408  067E  2E81               	goto	l2049
   409  067F  0AC5               	incf	main@t,f
   410  0680  2E7B               	goto	l1151
   411  0681                     l2049:	
   412                           
   413                           ;main.c: 185: btn = t;
   414  0681  0845               	movf	main@t,w
   415  0682  00C4               	movwf	main@btn
   416  0683                     l1154:	
   417                           ;main.c: 188: while(!HFIOFL);
   418                           
   419  0683  0021               	movlb	1	; select bank1
   420  0684  1D9A               	btfss	26,3
   421  0685  2E83               	goto	l1154
   422                           
   423                           ;main.c: 191: t = 10;
   424  0686  300A               	movlw	10
   425  0687  0020               	movlb	0	; select bank0
   426  0688  00C5               	movwf	main@t
   427  0689                     l1157:	
   428                           ;main.c: 192: do{
   429                           
   430                           
   431                           ;main.c: 194: if(t == 10 || t == 0) sendButton(btn);
   432  0689  0020               	movlb	0	; select bank0
   433  068A  0845               	movf	main@t,w
   434  068B  3A0A               	xorlw	10
   435  068C  1D03               	btfss	3,2
   436  068D  08C5               	movf	main@t,f
   437  068E  1D03               	skipz
   438  068F  2E93               	goto	l2057
   439  0690  0844               	movf	main@btn,w
   440  0691  26A7  3186         	fcall	_sendButton
   441  0693                     l2057:	
   442                           
   443                           ;main.c: 195: if(t) t--;
   444  0693  0020               	movlb	0	; select bank0
   445  0694  0845               	movf	main@t,w
   446  0695  1D03               	skipz
   447  0696  03C5               	decf	main@t,f
   448                           
   449                           ;main.c: 196: if((PORTA & 0x1F) != n) break;
   450  0697  301F               	movlw	31
   451  0698  050C               	andwf	12,w
   452  0699  00C0               	movwf	??_main
   453  069A  0643               	xorwf	main@n,w
   454  069B  1D03               	btfss	3,2
   455  069C  2E59               	goto	l2023
   456                           
   457                           ;main.c: 197: _delay((unsigned long)((50)*(4000000/4000.0)));
   458  069D  3041               	movlw	65
   459  069E  00C1               	movwf	??_main+1
   460  069F  30EE               	movlw	238
   461  06A0  00C0               	movwf	??_main
   462  06A1                     u567:	
   463  06A1  0BC0               	decfsz	??_main,f
   464  06A2  2EA1               	goto	u567
   465  06A3  0BC1               	decfsz	??_main+1,f
   466  06A4  2EA1               	goto	u567
   467  06A5  0064               	clrwdt
   468                           
   469                           ;main.c: 198: }while(1);
   470  06A6  2E89               	goto	l1157
   471  06A7                     __end_of_main:	
   472  06A7                     __ptext193:	
   473 ;; =============== function _main ends ============
   474                           
   475                           
   476 ;; *************** function _sendButton *****************
   477 ;; Defined at:
   478 ;;		line 88 in file "Z:\pic\irTX\main.c"
   479 ;; Parameters:    Size  Location     Type
   480 ;;  btn             1    wreg     unsigned char 
   481 ;; Auto vars:     Size  Location     Type
   482 ;;  btn             1   23[BANK0 ] unsigned char 
   483 ;;  packet         12   11[BANK0 ] unsigned char [12]
   484 ;;  v               2   27[BANK0 ] unsigned short 
   485 ;;  i               1   31[BANK0 ] unsigned char 
   486 ;;  crc             1   30[BANK0 ] unsigned char 
   487 ;;  j               1   29[BANK0 ] unsigned char 
   488 ;;  t               1   26[BANK0 ] unsigned char 
   489 ;; Return value:  Size  Location     Type
   490 ;;		None               void
   491 ;; Registers used:
   492 ;;		wreg, fsr1l, fsr1h, status,2, status,0, pclath, cstack
   493 ;; Tracked objects:
   494 ;;		On entry : 1F/0
   495 ;;		On exit  : 0/0
   496 ;;		Unchanged: 0/0
   497 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
   498 ;;      Params:         0       0       0       0
   499 ;;      Locals:         0      21       0       0
   500 ;;      Temps:          1       0       0       0
   501 ;;      Totals:         1      21       0       0
   502 ;;Total ram usage:       22 bytes
   503 ;; Hardware stack levels used:    1
   504 ;; Hardware stack levels required when called:    2
   505 ;; This function calls:
   506 ;;		_eeRead
   507 ;;		_eeWrite
   508 ;;		_measureVoltage
   509 ;;		_sendByte
   510 ;; This function is called by:
   511 ;;		_main
   512 ;; This function uses a non-reentrant model
   513 ;;
   514  06A7                     _sendButton:	
   515                           
   516                           ; Regs used in _sendButton: [wreg+fsr1l-status,0+pclath+cstack]
   517                           ;sendButton@btn stored from wreg
   518  06A7  00B7               	movwf	sendButton@btn
   519                           
   520                           ;main.c: 90: UInt8 i, t, j, crc = 0;
   521  06A8  01BE               	clrf	sendButton@crc
   522                           
   523                           ;main.c: 91: UInt8 packet[12];
   524                           ;main.c: 92: UInt16 v;
   525                           ;main.c: 95: for(i = 0; i < 4; i++) packet[i] = eeRead(i);
   526  06A9  01BF               	clrf	sendButton@i
   527  06AA                     l1913:	
   528  06AA  083F               	movf	sendButton@i,w
   529  06AB  3E2B               	addlw	sendButton@packet& (0+255)
   530  06AC  0086               	movwf	6
   531  06AD  0187               	clrf	7
   532  06AE  083F               	movf	sendButton@i,w
   533  06AF  2734  3186         	fcall	_eeRead
   534  06B1  0081               	movwf	1
   535  06B2  27FB  3186         	fcall	PL3	;call to abstracted procedure
   536  06B4  1C03               	skipc
   537  06B5  2EAA               	goto	l1913
   538                           
   539                           ;main.c: 96: for(i = 0; i < 4; i++) if(++packet[i]) break;
   540  06B6  01BF               	clrf	sendButton@i
   541  06B7                     l1925:	
   542  06B7  083F               	movf	sendButton@i,w
   543  06B8  3E2B               	addlw	sendButton@packet& (0+255)
   544  06B9  0086               	movwf	6
   545  06BA  0187               	clrf	7
   546  06BB  0F81               	incfsz	1,f
   547  06BC  2EC2               	goto	l1933
   548  06BD  3004               	movlw	4
   549  06BE  0ABF               	incf	sendButton@i,f
   550  06BF  023F               	subwf	sendButton@i,w
   551  06C0  1C03               	skipc
   552  06C1  2EB7               	goto	l1925
   553  06C2                     l1933:	
   554                           
   555                           ;main.c: 97: for(i = 0; i < 4; i++) eeWrite(i, packet[i]);
   556  06C2  01BF               	clrf	sendButton@i
   557  06C3                     l1939:	
   558  06C3  27F5  3186         	fcall	PL2	;call to abstracted procedure
   559  06C5  00F0               	movwf	?_eeWrite
   560  06C6  083F               	movf	sendButton@i,w
   561  06C7  273C  3186         	fcall	_eeWrite
   562  06C9  27FB  3186         	fcall	PL3	;call to abstracted procedure
   563  06CB  1C03               	skipc
   564  06CC  2EC3               	goto	l1939
   565                           
   566                           ;main.c: 100: packet[4] = pressesSinceBattChange;
   567  06CD  0846               	movf	_pressesSinceBattChange,w
   568  06CE  00AF               	movwf	sendButton@packet+4
   569                           
   570                           ;main.c: 101: packet[5] = pressesSinceBattChange >> 8;
   571  06CF  0847               	movf	_pressesSinceBattChange+1,w
   572  06D0  00B0               	movwf	sendButton@packet+5
   573                           
   574                           ;main.c: 102: packet[6] = pressesSinceBattChange >> 16;
   575  06D1  0848               	movf	_pressesSinceBattChange+2,w
   576  06D2  00B1               	movwf	sendButton@packet+6
   577                           
   578                           ;main.c: 103: packet[7] = pressesSinceBattChange >> 24;
   579  06D3  0849               	movf	_pressesSinceBattChange+3,w
   580  06D4  00B2               	movwf	sendButton@packet+7
   581                           
   582                           ;main.c: 104: pressesSinceBattChange++;
   583  06D5  0AC6               	incf	_pressesSinceBattChange,f
   584  06D6  1903               	skipnz
   585  06D7  0AC7               	incf	_pressesSinceBattChange+1,f
   586  06D8  1903               	skipnz
   587  06D9  0AC8               	incf	_pressesSinceBattChange+2,f
   588  06DA  1903               	skipnz
   589  06DB  0AC9               	incf	_pressesSinceBattChange+3,f
   590                           
   591                           ;main.c: 107: v = measureVoltage();
   592  06DC  275F  3186         	fcall	_measureVoltage
   593  06DE  0821               	movf	?_measureVoltage+1,w
   594  06DF  00BC               	movwf	sendButton@v+1
   595  06E0  0820               	movf	?_measureVoltage,w
   596  06E1  00BB               	movwf	sendButton@v
   597                           
   598                           ;main.c: 108: packet[8] = v;
   599  06E2  00B3               	movwf	sendButton@packet+8
   600                           
   601                           ;main.c: 109: packet[9] = v >> 8;
   602  06E3  083C               	movf	sendButton@v+1,w
   603  06E4  00B4               	movwf	sendButton@packet+9
   604                           
   605                           ;main.c: 112: packet[10] = btn;
   606  06E5  0837               	movf	sendButton@btn,w
   607  06E6  00B5               	movwf	sendButton@packet+10
   608                           
   609                           ;main.c: 115: for(i = 0; i < sizeof(packet) - 1; i++){
   610  06E7  01BF               	clrf	sendButton@i
   611  06E8                     l1963:	
   612                           
   613                           ;main.c: 117: t = packet[i];
   614  06E8  27F5  3186         	fcall	PL2	;call to abstracted procedure
   615  06EA  00BA               	movwf	sendButton@t
   616                           
   617                           ;main.c: 118: for(j = 0; j < 8; j++, t <<= 1){
   618  06EB  01BD               	clrf	sendButton@j
   619  06EC                     l1971:	
   620                           
   621                           ;main.c: 120: crc = (crc << 1) ^ (((t ^ crc) & 0x80) ? 0x83 : 0);
   622  06EC  083E               	movf	sendButton@crc,w
   623  06ED  063A               	xorwf	sendButton@t,w
   624  06EE  00FD               	movwf	??_sendButton
   625  06EF  1BFD               	btfsc	??_sendButton,7
   626  06F0  2EF3               	goto	l1975
   627  06F1  01B8               	clrf	_sendButton$1951
   628  06F2  2EF5               	goto	L1
   629  06F3                     l1975:	
   630  06F3  3083               	movlw	131
   631  06F4  00B8               	movwf	_sendButton$1951
   632  06F5                     L1:	
   633  06F5  01B9               	clrf	_sendButton$1951+1
   634  06F6  353E               	lslf	sendButton@crc,w
   635  06F7  0638               	xorwf	_sendButton$1951,w
   636  06F8  00BE               	movwf	sendButton@crc
   637  06F9  3008               	movlw	8
   638  06FA  0ABD               	incf	sendButton@j,f
   639  06FB  35BA               	lslf	sendButton@t,f
   640  06FC  023D               	subwf	sendButton@j,w
   641  06FD  1C03               	skipc
   642  06FE  2EEC               	goto	l1971
   643  06FF  300B               	movlw	11
   644  0700  0ABF               	incf	sendButton@i,f
   645  0701  023F               	subwf	sendButton@i,w
   646  0702  1C03               	skipc
   647  0703  2EE8               	goto	l1963
   648                           
   649                           ;main.c: 121: }
   650                           ;main.c: 122: }
   651                           ;main.c: 123: packet[sizeof(packet) - 1] = crc;
   652  0704  083E               	movf	sendButton@crc,w
   653  0705  00B6               	movwf	sendButton@packet+11
   654                           
   655                           ;main.c: 126: sendByte(0xFF);
   656  0706  30FF               	movlw	255
   657  0707  271A  3186         	fcall	_sendByte
   658                           
   659                           ;main.c: 129: sendByte(0x05);
   660  0709  3005               	movlw	5
   661  070A  271A  3186         	fcall	_sendByte
   662                           
   663                           ;main.c: 132: for(i = 0; i < sizeof(packet); i++) sendByte(packet[i]);
   664  070C  0020               	movlb	0	; select bank0
   665  070D  01BF               	clrf	sendButton@i
   666  070E                     l1999:	
   667  070E  27F5  3186         	fcall	PL2	;call to abstracted procedure
   668  0710  271A  3186         	fcall	_sendByte
   669  0712  0020               	movlb	0	; select bank0
   670  0713  300C               	movlw	12
   671  0714  0ABF               	incf	sendButton@i,f
   672  0715  023F               	subwf	sendButton@i,w
   673  0716  1C03               	skipc
   674  0717  2F0E               	goto	l1999
   675                           
   676                           ;main.c: 135: sendByte(0xFF);
   677  0718  30FF               	movlw	255
   678  0719  2F1A               	ljmp	_sendByte
   679  071A                     __end_of_sendButton:	
   680  071A                     __ptext194:	
   681 ;; =============== function _sendButton ends ============
   682                           
   683                           
   684 ;; *************** function _sendByte *****************
   685 ;; Defined at:
   686 ;;		line 36 in file "Z:\pic\irTX\main.c"
   687 ;; Parameters:    Size  Location     Type
   688 ;;  b               1    wreg     unsigned char 
   689 ;; Auto vars:     Size  Location     Type
   690 ;;  b               1    2[COMMON] unsigned char 
   691 ;;  i               1    3[COMMON] unsigned char 
   692 ;; Return value:  Size  Location     Type
   693 ;;		None               void
   694 ;; Registers used:
   695 ;;		wreg, status,2, status,0, pclath, cstack
   696 ;; Tracked objects:
   697 ;;		On entry : 0/0
   698 ;;		On exit  : 0/0
   699 ;;		Unchanged: 0/0
   700 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
   701 ;;      Params:         0       0       0       0
   702 ;;      Locals:         2       0       0       0
   703 ;;      Temps:          1       0       0       0
   704 ;;      Totals:         3       0       0       0
   705 ;;Total ram usage:        3 bytes
   706 ;; Hardware stack levels used:    1
   707 ;; Hardware stack levels required when called:    1
   708 ;; This function calls:
   709 ;;		_led
   710 ;; This function is called by:
   711 ;;		_sendButton
   712 ;; This function uses a non-reentrant model
   713 ;;
   714  071A                     _sendByte:	
   715                           
   716                           ; Regs used in _sendByte: [wreg+status,2+status,0+pclath+cstack]
   717                           ;sendByte@b stored from wreg
   718  071A  00F2               	movwf	sendByte@b
   719                           
   720                           ;main.c: 38: UInt8 i = 8;
   721  071B  3008               	movlw	8
   722  071C  00F3               	movwf	sendByte@i
   723  071D                     l1895:	
   724                           
   725                           ;main.c: 41: led();
   726  071D  274E  3186         	fcall	_led
   727                           
   728                           ;main.c: 42: if(b & 0x80) _delay((unsigned long)((1500)*(4000000/4000000.0)));
   729  071F  1FF2               	btfss	sendByte@b,7
   730  0720  2F29               	goto	l1901
   731  0721  30D6               	movlw	214
   732  0722  00F1               	movwf	??_sendByte
   733  0723                     u577:	
   734  0723  2F24               	nop2
   735  0724  2F25               	nop2
   736  0725  0BF1               	decfsz	??_sendByte,f
   737  0726  2F23               	goto	u577
   738  0727  0064               	clrwdt
   739  0728  2F30               	goto	l1903
   740  0729                     l1901:	
   741                           
   742                           ;main.c: 43: else _delay((unsigned long)((1000)*(4000000/4000000.0)));
   743  0729  30F9               	movlw	249
   744  072A  00F1               	movwf	??_sendByte
   745  072B                     u587:	
   746  072B  0064               	clrwdt
   747  072C  0BF1               	decfsz	??_sendByte,f
   748  072D  2F2B               	goto	u587
   749  072E  2F2F               	nop2	;nop
   750  072F  0064               	clrwdt
   751  0730                     l1903:	
   752                           
   753                           ;main.c: 44: b <<= 1;
   754  0730  35F2               	lslf	sendByte@b,f
   755                           
   756                           ;main.c: 46: }while(--i);
   757  0731  0BF3               	decfsz	sendByte@i,f
   758  0732  2F1D               	goto	l1895
   759  0733  0008               	return
   760  0734                     __end_of_sendByte:	
   761  0734                     __ptext199:	
   762 ;; =============== function _eeWrite ends ============
   763                           
   764                           
   765 ;; *************** function _eeRead *****************
   766 ;; Defined at:
   767 ;;		line 27 in file "Z:\pic\irTX\main.c"
   768 ;; Parameters:    Size  Location     Type
   769 ;;  addr            1    wreg     unsigned char 
   770 ;; Auto vars:     Size  Location     Type
   771 ;;  addr            1    0[COMMON] unsigned char 
   772 ;; Return value:  Size  Location     Type
   773 ;;                  1    wreg      unsigned char 
   774 ;; Registers used:
   775 ;;		wreg, status,2
   776 ;; Tracked objects:
   777 ;;		On entry : 1F/0
   778 ;;		On exit  : 1F/3
   779 ;;		Unchanged: FFFE0/0
   780 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
   781 ;;      Params:         0       0       0       0
   782 ;;      Locals:         1       0       0       0
   783 ;;      Temps:          0       0       0       0
   784 ;;      Totals:         1       0       0       0
   785 ;;Total ram usage:        1 bytes
   786 ;; Hardware stack levels used:    1
   787 ;; This function calls:
   788 ;;		Nothing
   789 ;; This function is called by:
   790 ;;		_sendButton
   791 ;; This function uses a non-reentrant model
   792 ;;
   793  0734                     _eeRead:	
   794                           
   795                           ; Regs used in _eeRead: [wreg+status,2]
   796                           ;eeRead@addr stored from wreg
   797  0734  00F0               	movwf	eeRead@addr
   798                           
   799                           ;main.c: 30: EECON1 = 0b00000000;
   800  0735  0023               	movlb	3	; select bank3
   801  0736  0195               	clrf	21	;volatile
   802                           
   803                           ;main.c: 31: EEADRL = addr;
   804  0737  0870               	movf	eeRead@addr,w
   805  0738  0091               	movwf	17	;volatile
   806                           
   807                           ;main.c: 32: EECON1bits.RD = 1;
   808  0739  1415               	bsf	21,0	;volatile
   809                           
   810                           ;main.c: 33: return EEDATL;
   811  073A  0813               	movf	19,w	;volatile
   812  073B  0008               	return
   813  073C                     __end_of_eeRead:	
   814  073C                     __ptext198:	
   815 ;; =============== function ___lldiv ends ============
   816                           
   817                           
   818 ;; *************** function _eeWrite *****************
   819 ;; Defined at:
   820 ;;		line 49 in file "Z:\pic\irTX\main.c"
   821 ;; Parameters:    Size  Location     Type
   822 ;;  addr            1    wreg     unsigned char 
   823 ;;  data            1    0[COMMON] unsigned char 
   824 ;; Auto vars:     Size  Location     Type
   825 ;;  addr            1    1[COMMON] unsigned char 
   826 ;; Return value:  Size  Location     Type
   827 ;;		None               void
   828 ;; Registers used:
   829 ;;		wreg
   830 ;; Tracked objects:
   831 ;;		On entry : 1F/0
   832 ;;		On exit  : 1F/3
   833 ;;		Unchanged: FFFE0/0
   834 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
   835 ;;      Params:         1       0       0       0
   836 ;;      Locals:         1       0       0       0
   837 ;;      Temps:          0       0       0       0
   838 ;;      Totals:         2       0       0       0
   839 ;;Total ram usage:        2 bytes
   840 ;; Hardware stack levels used:    1
   841 ;; This function calls:
   842 ;;		Nothing
   843 ;; This function is called by:
   844 ;;		_sendButton
   845 ;; This function uses a non-reentrant model
   846 ;;
   847  073C                     _eeWrite:	
   848                           
   849                           ; Regs used in _eeWrite: [wreg]
   850                           ;eeWrite@addr stored from wreg
   851  073C  00F1               	movwf	eeWrite@addr
   852                           
   853                           ;main.c: 51: EECON1= 0b00000100;
   854  073D  3004               	movlw	4
   855  073E  0023               	movlb	3	; select bank3
   856  073F  0095               	movwf	21	;volatile
   857                           
   858                           ;main.c: 52: EEADRL = addr;
   859  0740  0871               	movf	eeWrite@addr,w
   860  0741  0091               	movwf	17	;volatile
   861                           
   862                           ;main.c: 53: EEDATL = data;
   863  0742  0870               	movf	eeWrite@data,w
   864  0743  0093               	movwf	19	;volatile
   865                           
   866                           ;main.c: 54: INTCONbits.GIE = 0;
   867  0744  138B               	bcf	11,7	;volatile
   868                           
   869                           ;main.c: 55: EECON2 = 0x55;
   870  0745  3055               	movlw	85
   871  0746  0096               	movwf	22	;volatile
   872                           
   873                           ;main.c: 56: EECON2 = 0xAA;
   874  0747  30AA               	movlw	170
   875  0748  0096               	movwf	22	;volatile
   876                           
   877                           ;main.c: 57: EECON1bits.WR = 1;
   878  0749  1495               	bsf	21,1	;volatile
   879                           
   880                           ;main.c: 58: INTCONbits.GIE = 1;
   881  074A  178B               	bsf	11,7	;volatile
   882  074B                     l1100:	
   883                           ;main.c: 59: while(EECON1bits.WR);
   884                           
   885  074B  1C95               	btfss	21,1	;volatile
   886  074C  0008               	return
   887  074D  2F4B               	goto	l1100
   888  074E                     __end_of_eeWrite:	
   889  074E                     __ptext196:	
   890 ;; =============== function _measureVoltage ends ============
   891                           
   892                           
   893 ;; *************** function _led *****************
   894 ;; Defined at:
   895 ;;		line 16 in file "Z:\pic\irTX\main.c"
   896 ;; Parameters:    Size  Location     Type
   897 ;;		None
   898 ;; Auto vars:     Size  Location     Type
   899 ;;		None
   900 ;; Return value:  Size  Location     Type
   901 ;;		None               void
   902 ;; Registers used:
   903 ;;		wreg, status,2, status,0
   904 ;; Tracked objects:
   905 ;;		On entry : 0/0
   906 ;;		On exit  : 1F/0
   907 ;;		Unchanged: 0/0
   908 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
   909 ;;      Params:         0       0       0       0
   910 ;;      Locals:         0       0       0       0
   911 ;;      Temps:          1       0       0       0
   912 ;;      Totals:         1       0       0       0
   913 ;;Total ram usage:        1 bytes
   914 ;; Hardware stack levels used:    1
   915 ;; This function calls:
   916 ;;		Nothing
   917 ;; This function is called by:
   918 ;;		_sendByte
   919 ;; This function uses a non-reentrant model
   920 ;;
   921  074E                     _led:	
   922                           
   923                           ;main.c: 18: TMR2ON = 1;
   924                           
   925                           ; Regs used in _led: [wreg+status,2+status,0]
   926  074E  0020               	movlb	0	; select bank0
   927  074F  151C               	bsf	28,2
   928                           
   929                           ;main.c: 19: TMR2 = 0;
   930  0750  019A               	clrf	26	;volatile
   931                           
   932                           ;main.c: 20: CCP1CON |= 0b00001100;
   933  0751  300C               	movlw	12
   934  0752  0025               	movlb	5	; select bank5
   935  0753  0493               	iorwf	19,f	;volatile
   936                           
   937                           ;main.c: 21: _delay((unsigned long)((500)*(4000000/4000000.0)));
   938  0754  30A6               	movlw	166
   939  0755  00F0               	movwf	??_led
   940  0756                     u597:	
   941  0756  0BF0               	decfsz	??_led,f
   942  0757  2F56               	goto	u597
   943  0758  0064               	clrwdt
   944                           
   945                           ;main.c: 22: CCP1CON &=~ 0b00001111;
   946  0759  30F0               	movlw	240
   947  075A  0025               	movlb	5	; select bank5
   948  075B  0593               	andwf	19,f	;volatile
   949                           
   950                           ;main.c: 23: TMR2ON = 0;
   951  075C  0020               	movlb	0	; select bank0
   952  075D  111C               	bcf	28,2
   953  075E  0008               	return
   954  075F                     __end_of_led:	
   955  075F                     __ptext195:	
   956 ;; =============== function _sendByte ends ============
   957                           
   958                           
   959 ;; *************** function _measureVoltage *****************
   960 ;; Defined at:
   961 ;;		line 63 in file "Z:\pic\irTX\main.c"
   962 ;; Parameters:    Size  Location     Type
   963 ;;		None
   964 ;; Auto vars:     Size  Location     Type
   965 ;;  t               4    7[BANK0 ] unsigned long 
   966 ;;  i               1    6[BANK0 ] unsigned char 
   967 ;; Return value:  Size  Location     Type
   968 ;;                  2    0[BANK0 ] unsigned short 
   969 ;; Registers used:
   970 ;;		wreg, status,2, status,0, pclath, cstack
   971 ;; Tracked objects:
   972 ;;		On entry : 1F/0
   973 ;;		On exit  : 1F/0
   974 ;;		Unchanged: FFFE0/0
   975 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
   976 ;;      Params:         0       2       0       0
   977 ;;      Locals:         0       5       0       0
   978 ;;      Temps:          0       4       0       0
   979 ;;      Totals:         0      11       0       0
   980 ;;Total ram usage:       11 bytes
   981 ;; Hardware stack levels used:    1
   982 ;; Hardware stack levels required when called:    1
   983 ;; This function calls:
   984 ;;		___lldiv
   985 ;; This function is called by:
   986 ;;		_sendButton
   987 ;; This function uses a non-reentrant model
   988 ;;
   989  075F                     _measureVoltage:	
   990  075F  30C1               	movlw	193
   991                           
   992                           ;main.c: 65: UInt8 i;
   993                           ;main.c: 66: UInt32 t = 0;
   994                           
   995                           ; Regs used in _measureVoltage: [wreg+status,2+status,0+pclath+cstack]
   996  0760  01A7               	clrf	measureVoltage@t
   997  0761  01A8               	clrf	measureVoltage@t+1
   998  0762  01A9               	clrf	measureVoltage@t+2
   999  0763  01AA               	clrf	measureVoltage@t+3
  1000                           
  1001                           ;main.c: 68: FVRCON = 0b11000001;
  1002  0764  0022               	movlb	2	; select bank2
  1003  0765  0097               	movwf	23	;volatile
  1004                           
  1005                           ;main.c: 69: ADCON1 = 0b11100000;
  1006  0766  30E0               	movlw	224
  1007  0767  0021               	movlb	1	; select bank1
  1008  0768  009E               	movwf	30	;volatile
  1009                           
  1010                           ;main.c: 70: ADCON0 = 0b01111101;
  1011  0769  307D               	movlw	125
  1012  076A  009D               	movwf	29	;volatile
  1013  076B                     l1106:	
  1014                           ;main.c: 72: while(!FVRRDY);
  1015                           
  1016  076B  0022               	movlb	2	; select bank2
  1017  076C  1F17               	btfss	23,6
  1018  076D  2F6B               	goto	l1106
  1019                           
  1020                           ;main.c: 74: for(i = 0; i < 16; i++){
  1021  076E  0020               	movlb	0	; select bank0
  1022  076F  01A6               	clrf	measureVoltage@i
  1023  0770                     l1109:	
  1024                           
  1025                           ;main.c: 75: GO = 1;
  1026  0770  0021               	movlb	1	; select bank1
  1027  0771  149D               	bsf	29,1
  1028  0772                     l1111:	
  1029                           ;main.c: 76: while(GO);
  1030                           
  1031  0772  189D               	btfsc	29,1
  1032  0773  2F72               	goto	l1111
  1033                           
  1034                           ;main.c: 77: t += ADRES;
  1035  0774  081B               	movf	27,w	;volatile
  1036  0775  0020               	movlb	0	; select bank0
  1037  0776  07A7               	addwf	measureVoltage@t,f
  1038  0777  0021               	movlb	1	; select bank1
  1039  0778  081C               	movf	28,w	;volatile
  1040  0779  0020               	movlb	0	; select bank0
  1041  077A  3DA8               	addwfc	measureVoltage@t+1,f
  1042  077B  3000               	movlw	0
  1043  077C  3DA9               	addwfc	measureVoltage@t+2,f
  1044  077D  3DAA               	addwfc	measureVoltage@t+3,f
  1045  077E  3010               	movlw	16
  1046  077F  0AA6               	incf	measureVoltage@i,f
  1047  0780  0226               	subwf	measureVoltage@i,w
  1048  0781  1C03               	skipc
  1049  0782  2F70               	goto	l1109
  1050                           
  1051                           ;main.c: 78: }
  1052                           ;main.c: 80: t = (0x199998UL + (t >> 1)) / t;
  1053  0783  082A               	movf	measureVoltage@t+3,w
  1054  0784  00F3               	movwf	?___lldiv+3
  1055  0785  0829               	movf	measureVoltage@t+2,w
  1056  0786  00F2               	movwf	?___lldiv+2
  1057  0787  0828               	movf	measureVoltage@t+1,w
  1058  0788  00F1               	movwf	?___lldiv+1
  1059  0789  0827               	movf	measureVoltage@t,w
  1060  078A  00F0               	movwf	?___lldiv
  1061  078B  0827               	movf	measureVoltage@t,w
  1062  078C  00A2               	movwf	??_measureVoltage
  1063  078D  0828               	movf	measureVoltage@t+1,w
  1064  078E  00A3               	movwf	??_measureVoltage+1
  1065  078F  0829               	movf	measureVoltage@t+2,w
  1066  0790  00A4               	movwf	??_measureVoltage+2
  1067  0791  082A               	movf	measureVoltage@t+3,w
  1068  0792  00A5               	movwf	??_measureVoltage+3
  1069  0793  3098               	movlw	152
  1070  0794  36A5               	lsrf	??_measureVoltage+3,f
  1071  0795  0CA4               	rrf	??_measureVoltage+2,f
  1072  0796  0CA3               	rrf	??_measureVoltage+1,f
  1073  0797  0CA2               	rrf	??_measureVoltage,f
  1074  0798  0722               	addwf	??_measureVoltage,w
  1075  0799  00F4               	movwf	?___lldiv+4
  1076  079A  3099               	movlw	153
  1077  079B  3D23               	addwfc	??_measureVoltage+1,w
  1078  079C  00F5               	movwf	?___lldiv+5
  1079  079D  3019               	movlw	25
  1080  079E  3D24               	addwfc	??_measureVoltage+2,w
  1081  079F  00F6               	movwf	?___lldiv+6
  1082  07A0  3000               	movlw	0
  1083  07A1  3D25               	addwfc	??_measureVoltage+3,w
  1084  07A2  00F7               	movwf	?___lldiv+7
  1085  07A3  27B6               	fcall	___lldiv
  1086  07A4  0873               	movf	?___lldiv+3,w
  1087  07A5  00AA               	movwf	measureVoltage@t+3
  1088  07A6  0872               	movf	?___lldiv+2,w
  1089  07A7  00A9               	movwf	measureVoltage@t+2
  1090  07A8  0871               	movf	?___lldiv+1,w
  1091  07A9  00A8               	movwf	measureVoltage@t+1
  1092  07AA  0870               	movf	?___lldiv,w
  1093  07AB  00A7               	movwf	measureVoltage@t
  1094                           
  1095                           ;main.c: 82: FVRCON = 0b00000000;
  1096  07AC  0022               	movlb	2	; select bank2
  1097  07AD  0197               	clrf	23	;volatile
  1098                           
  1099                           ;main.c: 83: ADCON0 = 0b00000000;
  1100  07AE  0021               	movlb	1	; select bank1
  1101  07AF  019D               	clrf	29	;volatile
  1102                           
  1103                           ;main.c: 85: return t;
  1104  07B0  0020               	movlb	0	; select bank0
  1105  07B1  0828               	movf	measureVoltage@t+1,w
  1106  07B2  00A1               	movwf	?_measureVoltage+1
  1107  07B3  0827               	movf	measureVoltage@t,w
  1108  07B4  00A0               	movwf	?_measureVoltage
  1109  07B5  0008               	return
  1110  07B6                     __end_of_measureVoltage:	
  1111  07B6                     __ptext197:	
  1112 ;; =============== function _led ends ============
  1113                           
  1114                           
  1115 ;; *************** function ___lldiv *****************
  1116 ;; Defined at:
  1117 ;;		line 5 in file "C:\Program Files\HI-TECH Software\PICC\9.81\sources\lldiv.c"
  1118 ;; Parameters:    Size  Location     Type
  1119 ;;  divisor         4    0[COMMON] unsigned long 
  1120 ;;  dividend        4    4[COMMON] unsigned long 
  1121 ;; Auto vars:     Size  Location     Type
  1122 ;;  quotient        4    8[COMMON] unsigned long 
  1123 ;;  counter         1   12[COMMON] unsigned char 
  1124 ;; Return value:  Size  Location     Type
  1125 ;;                  4    0[COMMON] unsigned long 
  1126 ;; Registers used:
  1127 ;;		wreg, status,2, status,0
  1128 ;; Tracked objects:
  1129 ;;		On entry : 1F/0
  1130 ;;		On exit  : 1F/0
  1131 ;;		Unchanged: FFFE0/0
  1132 ;; Data sizes:     COMMON   BANK0   BANK1   BANK2
  1133 ;;      Params:         8       0       0       0
  1134 ;;      Locals:         5       0       0       0
  1135 ;;      Temps:          0       0       0       0
  1136 ;;      Totals:        13       0       0       0
  1137 ;;Total ram usage:       13 bytes
  1138 ;; Hardware stack levels used:    1
  1139 ;; This function calls:
  1140 ;;		Nothing
  1141 ;; This function is called by:
  1142 ;;		_measureVoltage
  1143 ;; This function uses a non-reentrant model
  1144 ;;
  1145  07B6                     ___lldiv:	
  1146                           
  1147                           ; Regs used in ___lldiv: [wreg+status,2+status,0]
  1148  07B6  01F8               	clrf	___lldiv@quotient
  1149  07B7  01F9               	clrf	___lldiv@quotient+1
  1150  07B8  01FA               	clrf	___lldiv@quotient+2
  1151  07B9  01FB               	clrf	___lldiv@quotient+3
  1152  07BA  0873               	movf	___lldiv@divisor+3,w
  1153  07BB  0472               	iorwf	___lldiv@divisor+2,w
  1154  07BC  0471               	iorwf	___lldiv@divisor+1,w
  1155  07BD  0470               	iorwf	___lldiv@divisor,w
  1156  07BE  1903               	skipnz
  1157  07BF  2FEC               	goto	l1851
  1158  07C0  01FC               	clrf	___lldiv@counter
  1159  07C1                     L2:	
  1160  07C1  0AFC               	incf	___lldiv@counter,f
  1161  07C2  1BF3               	btfsc	___lldiv@divisor+3,7
  1162  07C3  2FC9               	goto	l1839
  1163  07C4  35F0               	lslf	___lldiv@divisor,f
  1164  07C5  0DF1               	rlf	___lldiv@divisor+1,f
  1165  07C6  0DF2               	rlf	___lldiv@divisor+2,f
  1166  07C7  0DF3               	rlf	___lldiv@divisor+3,f
  1167  07C8  2FC1               	goto	L2
  1168  07C9                     l1839:	
  1169  07C9  35F8               	lslf	___lldiv@quotient,f
  1170  07CA  0DF9               	rlf	___lldiv@quotient+1,f
  1171  07CB  0DFA               	rlf	___lldiv@quotient+2,f
  1172  07CC  0DFB               	rlf	___lldiv@quotient+3,f
  1173  07CD  0873               	movf	___lldiv@divisor+3,w
  1174  07CE  0277               	subwf	___lldiv@dividend+3,w
  1175  07CF  1D03               	skipz
  1176  07D0  2FDB               	goto	u315
  1177  07D1  0872               	movf	___lldiv@divisor+2,w
  1178  07D2  0276               	subwf	___lldiv@dividend+2,w
  1179  07D3  1D03               	skipz
  1180  07D4  2FDB               	goto	u315
  1181  07D5  0871               	movf	___lldiv@divisor+1,w
  1182  07D6  0275               	subwf	___lldiv@dividend+1,w
  1183  07D7  1D03               	skipz
  1184  07D8  2FDB               	goto	u315
  1185  07D9  0870               	movf	___lldiv@divisor,w
  1186  07DA  0274               	subwf	___lldiv@dividend,w
  1187  07DB                     u315:	
  1188  07DB  1C03               	skipc
  1189  07DC  2FE6               	goto	l1847
  1190  07DD  0870               	movf	___lldiv@divisor,w
  1191  07DE  02F4               	subwf	___lldiv@dividend,f
  1192  07DF  0871               	movf	___lldiv@divisor+1,w
  1193  07E0  3BF5               	subwfb	___lldiv@dividend+1,f
  1194  07E1  0872               	movf	___lldiv@divisor+2,w
  1195  07E2  3BF6               	subwfb	___lldiv@dividend+2,f
  1196  07E3  0873               	movf	___lldiv@divisor+3,w
  1197  07E4  3BF7               	subwfb	___lldiv@dividend+3,f
  1198  07E5  1478               	bsf	___lldiv@quotient,0
  1199  07E6                     l1847:	
  1200  07E6  36F3               	lsrf	___lldiv@divisor+3,f
  1201  07E7  0CF2               	rrf	___lldiv@divisor+2,f
  1202  07E8  0CF1               	rrf	___lldiv@divisor+1,f
  1203  07E9  0CF0               	rrf	___lldiv@divisor,f
  1204  07EA  0BFC               	decfsz	___lldiv@counter,f
  1205  07EB  2FC9               	goto	l1839
  1206  07EC                     l1851:	
  1207  07EC  087B               	movf	___lldiv@quotient+3,w
  1208  07ED  00F3               	movwf	?___lldiv+3
  1209  07EE  087A               	movf	___lldiv@quotient+2,w
  1210  07EF  00F2               	movwf	?___lldiv+2
  1211  07F0  0879               	movf	___lldiv@quotient+1,w
  1212  07F1  00F1               	movwf	?___lldiv+1
  1213  07F2  0878               	movf	___lldiv@quotient,w
  1214  07F3  00F0               	movwf	?___lldiv
  1215  07F4  0008               	return
  1216  07F5                     __end_of___lldiv:	
  1217  07F5                     PL2:	
  1218  07F5  083F               	movf	sendButton@i,w
  1219  07F6  3E2B               	addlw	sendButton@packet& (0+255)
  1220  07F7  0086               	movwf	6
  1221  07F8  0187               	clrf	7
  1222  07F9  0801               	movf	1,w
  1223  07FA  0008               	return
  1224  07FB                     PL3:	
  1225  07FB  0020               	movlb	0	; select bank0
  1226  07FC  3004               	movlw	4
  1227  07FD  0ABF               	incf	sendButton@i,f
  1228  07FE  023F               	subwf	sendButton@i,w
  1229  07FF  0008               	return
  1230                           
  1231                           	psect	bssBANK0
  1232  0046                     __pbssBANK0:	
  1233  0046                     _pressesSinceBattChange:	
  1234  0046                     	ds	4
  1235                           
  1236                           	psect	cstackCOMMON
  1237  0070                     __pcstackCOMMON:	
  1238  0070                     ?_led:	
  1239  0070                     ??_led:	
  1240                           ; 0 bytes @ 0x0
  1241                           
  1242  0070                     ??_eeRead:	
  1243                           ; 0 bytes @ 0x0
  1244                           
  1245  0070                     ?_sendByte:	
  1246                           ; 0 bytes @ 0x0
  1247                           
  1248  0070                     ?_eeWrite:	
  1249                           ; 0 bytes @ 0x0
  1250                           
  1251  0070                     ?_sendButton:	
  1252                           ; 0 bytes @ 0x0
  1253                           
  1254  0070                     ?_main:	
  1255                           ; 0 bytes @ 0x0
  1256                           
  1257  0070                     ?_eeRead:	
  1258                           ; 0 bytes @ 0x0
  1259                           
  1260  0070                     ?___lldiv:	
  1261                           ; 1 bytes @ 0x0
  1262                           
  1263  0070                     eeRead@addr:	
  1264                           ; 4 bytes @ 0x0
  1265                           
  1266  0070                     eeWrite@data:	
  1267                           ; 1 bytes @ 0x0
  1268                           
  1269  0070                     ___lldiv@divisor:	
  1270                           ; 1 bytes @ 0x0
  1271                           
  1272                           
  1273                           ; 4 bytes @ 0x0
  1274  0070                     	ds	1
  1275  0071                     ??_sendByte:	
  1276  0071                     ??_eeWrite:	
  1277                           ; 0 bytes @ 0x1
  1278                           
  1279  0071                     eeWrite@addr:	
  1280                           ; 0 bytes @ 0x1
  1281                           
  1282                           
  1283                           ; 1 bytes @ 0x1
  1284  0071                     	ds	1
  1285  0072                     sendByte@b:	
  1286                           
  1287                           ; 1 bytes @ 0x2
  1288  0072                     	ds	1
  1289  0073                     sendByte@i:	
  1290                           
  1291                           ; 1 bytes @ 0x3
  1292  0073                     	ds	1
  1293  0074                     ___lldiv@dividend:	
  1294                           
  1295                           ; 4 bytes @ 0x4
  1296  0074                     	ds	4
  1297  0078                     ??___lldiv:	
  1298  0078                     ___lldiv@quotient:	
  1299                           ; 0 bytes @ 0x8
  1300                           
  1301                           
  1302                           ; 4 bytes @ 0x8
  1303  0078                     	ds	4
  1304  007C                     ___lldiv@counter:	
  1305                           
  1306                           ; 1 bytes @ 0xC
  1307  007C                     	ds	1
  1308  007D                     ??_sendButton:	
  1309                           
  1310                           ; 0 bytes @ 0xD
  1311  007D                     	ds	1
  1312                           
  1313                           	psect	cstackBANK0
  1314  0020                     __pcstackBANK0:	
  1315  0020                     ?_measureVoltage:	
  1316                           
  1317                           ; 2 bytes @ 0x0
  1318  0020                     	ds	2
  1319  0022                     ??_measureVoltage:	
  1320                           
  1321                           ; 0 bytes @ 0x2
  1322  0022                     	ds	4
  1323  0026                     measureVoltage@i:	
  1324                           
  1325                           ; 1 bytes @ 0x6
  1326  0026                     	ds	1
  1327  0027                     measureVoltage@t:	
  1328                           
  1329                           ; 4 bytes @ 0x7
  1330  0027                     	ds	4
  1331  002B                     sendButton@packet:	
  1332                           
  1333                           ; 12 bytes @ 0xB
  1334  002B                     	ds	12
  1335  0037                     sendButton@btn:	
  1336                           
  1337                           ; 1 bytes @ 0x17
  1338  0037                     	ds	1
  1339  0038                     _sendButton$1951:	
  1340                           
  1341                           ; 2 bytes @ 0x18
  1342  0038                     	ds	2
  1343  003A                     sendButton@t:	
  1344                           
  1345                           ; 1 bytes @ 0x1A
  1346  003A                     	ds	1
  1347  003B                     sendButton@v:	
  1348                           
  1349                           ; 2 bytes @ 0x1B
  1350  003B                     	ds	2
  1351  003D                     sendButton@j:	
  1352                           
  1353                           ; 1 bytes @ 0x1D
  1354  003D                     	ds	1
  1355  003E                     sendButton@crc:	
  1356                           
  1357                           ; 1 bytes @ 0x1E
  1358  003E                     	ds	1
  1359  003F                     sendButton@i:	
  1360                           
  1361                           ; 1 bytes @ 0x1F
  1362  003F                     	ds	1
  1363  0040                     ??_main:	
  1364                           
  1365                           ; 0 bytes @ 0x20
  1366  0040                     	ds	3
  1367  0043                     main@n:	
  1368                           
  1369                           ; 1 bytes @ 0x23
  1370  0043                     	ds	1
  1371  0044                     main@btn:	
  1372                           
  1373                           ; 1 bytes @ 0x24
  1374  0044                     	ds	1
  1375  0045                     main@t:	
  1376                           
  1377                           ; 1 bytes @ 0x25
  1378  0045                     	ds	1
  1379                           
  1380                           	psect	text200
  1381  0000                     __ptext200:	
  1382 ;; =============== function _eeRead ends ============
  1383                           
  1384  007E                     btemp	set	126	;btemp
  1385  007E                     wtemp0	set	126


HI-TECH Software PICC Macro Assembler V9.81 build 7503 
Symbol Table                                                                                   Tue Jun 14 21:20:09 2011

                     _GO 04E9                      u315 07DB                      _PR2 001B  
                    u557 0652                      u567 06A1                      u577 0723  
                    u587 072B                      u597 0756                      _led 074E  
                   l1100 074B                     l1103 0000                     l1111 0772  
                   l2001 0000                     l1114 0000                     l1106 076B  
                   l2003 0000                     l2011 0000                     l1109 0770  
                   l2021 0000                     l2013 0000                     l1134 0000  
                   l1151 067B                     l2031 0000                     l2023 0659  
                   l2015 0000                     l2007 0000                     l2025 065C  
                   l2017 0000                     l2009 0000                     l1090 0000  
                   l1154 0683                     l2035 0000                     l2027 0000  
                   l2019 0000                     l1157 0689                     l2045 0000  
                   l2037 0000                     l2029 0661                     l1087 0000  
                   l1097 0000                     l2057 0693                     l2049 0681  
                   l1354 0000                     l2059 0000                     l1811 0000  
                   l1813 0000                     l1821 0000                     l1901 0729  
                   l1815 0000                     l1823 0000                     l1831 0000  
                   l1903 0730                     l1817 0000                     l1825 0000  
                   l1841 0000                     l1905 0000                     l1913 06AA  
                   l1827 0000                     l1851 07EC                     l1931 0000  
                   l1915 0000                     l1907 0000                     l1845 0000  
                   l1829 0000                     l1861 0000                     l1941 0000  
                   l1933 06C2                     l1925 06B7                     l1917 0000  
                   ?_led 0070                     l1847 07E6                     l1839 07C9  
                   l1863 0000                     l1855 0000                     l1951 0000  
                   l1943 0000                     l1849 0000                     l1865 0000  
                   l1857 0000                     l1881 0000                     l1953 0000  
                   l1859 0000                     l1867 0000                     l1971 06EC  
                   l1963 06E8                     l1955 0000                     l1947 0000  
                   l1939 06C3                     l1885 0000                     l1869 0000  
                   l1893 0000                     l1981 0000                     l1965 0000  
                   l1957 0000                     l1949 0000                     l1887 0000  
                   l1879 0000                     l1895 071D                     l1991 0000  
                   l1975 06F3                     l1889 0000                     l1897 0000  
                   l1993 0000                     l1985 0000                     l1979 0000  
                   l1989 0000                     l1999 070E                     _TMR2 001A  
                   _WPUA 020C                     _main 062C                     fsr1h 0007  
                   indf1 0001                     fsr1l 0006                     btemp 007E  
                   start 0002                    ??_led 0070                    ?_main 0070  
                  _ADRES 009B          __end_of___lldiv 07F5                    _T2CON 001C  
                  _PORTA 000C                    _TRISA 008C          __end_of_eeWrite 074E  
                  main@n 0043                    main@t 0045                    status 0003  
                  wtemp0 007E             __end_of_main 06A7                   ??_main 0040  
        _sendButton$1951 0038                   _ADCON0 009D                   _ADCON1 009E  
                 _EEADRL 0191                   _CCPR1L 0291                   _EEDATL 0193  
                 _EECON1 0195                   _EECON2 0196                   _APFCON 011D  
                 _ANSELA 018C                   _HFIOFL 04D3                   _INTCON 000B  
                 _FVRCON 0117                   _FVRRDY 08BE                   _OSCCON 0099  
                 _TMR2ON 00E2                   _eeRead 0734                ??___lldiv 0078  
              ??_eeWrite 0071         __end_of_sendByte 0734  __size_of_measureVoltage 0057  
         __pcstackCOMMON 0070               __pbssBANK0 0046               eeRead@addr 0070  
             __pmaintext 062C                  ?_eeRead 0070              sendButton@i 003F  
            sendButton@j 003D              sendButton@t 003A              sendButton@v 003B  
                _CCP1CON 0293            sendButton@crc 003E            sendButton@btn 0037  
                _VREGCON 0197                ?_sendByte 0070          __size_of_eeRead 0008  
                ___lldiv 07B6                  _eeWrite 073C             __size_of_led 0011  
                main@btn 0044               _sendButton 06A7     end_of_initialization 062A  
         _measureVoltage 075F               ??_sendByte 0071          ___lldiv@divisor 0070  
        ___lldiv@counter 007C   __end_of_measureVoltage 07B6           __end_of_eeRead 073C  
    start_initialization 0626              __end_of_led 075F              ?_sendButton 0070  
        ?_measureVoltage 0020                 ??_eeRead 0070            __pcstackBANK0 0020  
      __size_of_sendByte 001A                __ptext200 0000                __ptext192 0000  
              __ptext193 06A7                __ptext194 071A                __ptext195 075F  
              __ptext196 074E                __ptext197 07B6                __ptext198 073C  
              __ptext199 0734                 ?___lldiv 0070                 ?_eeWrite 0070  
    __size_of_sendButton 0073                idloc_word 8000              eeWrite@addr 0071  
            eeWrite@data 0070               _EECON1bits 0195         __size_of___lldiv 003F  
       __size_of_eeWrite 0012         ??_measureVoltage 0022                sendByte@b 0072  
              sendByte@i 0073             ??_sendButton 007D            __size_of_main 007B  
               _sendByte 071A       __end_of_sendButton 071A         sendButton@packet 002B  
        measureVoltage@i 0026          measureVoltage@t 0027               _INTCONbits 000B  
       ___lldiv@dividend 0074   _pressesSinceBattChange 0046               _OPTION_REG 0095  
       ___lldiv@quotient 0078  
RX.c

Código: Seleccionar todo

#include <htc.h>
volatile unsigned short CCPR1 @ 0x291;
#define _XTAL_FREQ 32000000
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_OFF & CP_OFF & CPD_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF);
__CONFIG(WRT_OFF & PLLEN_OFF & PLLEN_OFF & BORV_19 & LVP_OFF);
__IDLOC(0000);
typedef unsigned char UInt8;
typedef unsigned short UInt16;
typedef unsigned long UInt32;
typedef signed char Int8;
typedef signed short Int16;
typedef signed long Int32;
#define NULL ((void*)0)


//versioning
	static const UInt8 gSwVersion = 4;

//battery voltage
	static UInt16 gBattCentiVolts = 0;

//PWM control
	static UInt8 gLed[4] = {0,0,0,0};
	static UInt16 gPwmCtr = 0;

//input data
	static UInt8 gRxData[32];
	static UInt8 gRxPos;
	static UInt8 gRxMask;
	static bit gRxDone;

//data for int
	static UInt16 gIntCapturedTime;
	static bit gIntFirstEdgeSeen;

UInt8 eeRead(UInt8 addr){

	EECON1 = 0b00000000;	//read data
	EEADRL = addr;
	EECON1bits.RD = 1;		//do it
	return EEDATL;
}

void eeWrite(UInt8 addr, UInt8 data){

	static bit gie;

	EECON1= 0b00000100;	//write data
	EEADRL = addr;
	EEDATL = data;
	gie = GIE;
	INTCONbits.GIE = 0;
	EECON2 = 0x55;
	EECON2 = 0xAA;
	EECON1bits.WR = 1;
	INTCONbits.GIE = gie;
	while(EECON1bits.WR);
}

void log(UInt8 a){

	static UInt16 addr = 0;

	if(addr < 0x70) eeWrite(addr++, a);
}

void rxStart(void){

	UInt8 i;

	for(i = 0; i < sizeof(gRxData); i++) gRxData[i] = 0;
	gRxPos = 0;
	gRxMask = 0x80;
	gRxDone = 0;

	gIntFirstEdgeSeen = 0;
	
	CCP1IF = 0;
	CCP1IE = 1;
	TMR2ON = 0;
	TMR2IE = 1;
	TMR2IF = 0;
	CCP1CON = 0b00000100;	//catch falling edge (IR turns on)
}

UInt8 rxDecode(void){		//0 if success, else error

	UInt8 i, j, t, k;


	if(gRxPos < 14) return 1;			//size error
	if(gRxData[0] != 0xFF) return 2;	//preamble error
	if(gRxData[1] != 0x05) return 3;	//header error

	//check crc
	for(k = 0, i = 0; i < gRxPos - 3; i++){
		
		t = gRxData[i + 2];
		for(j = 0; j < 8; j++, t <<= 1){

			k = (k << 1) ^ (((t ^ k) & 0x80) ? 0x83 : 0);
		}
	}

	if(k != gRxData[gRxPos - 1]) return 4;	//crc error

	return 0;
}

static UInt32 getU32(UInt8* t){

	UInt32 v = t[3];

	v = (v << 8) | t[2];
	v = (v << 8) | t[1];
	v = (v << 8) | t[0];

	return v;
}

static UInt16 getU16(UInt8* t){

	UInt32 v = t[1];

	v = (v << 8) | t[0];

	return v;
}

static UInt8 getU8(UInt8* t){

	return t[0];
}

//offsets for main data
#define OFF_MAGIC			0xFF	//EEPROM offsets
#define OFF_MODE			0xFE


//offsets for OFF mode
#define OFF_OFF_PREV_MODE	0xCF

//offsets for SOLID mode
#define OFF_SOLID_B			0xC8
#define OFF_SOLID_G			0xC7
#define OFF_SOLID_R			0xC6
#define OFF_SOLID_W			0xC5

//offsets for FADE mode
#define OFF_FADE_SPEED		0xBF
#define OFF_FADE_BRI		0xBE


#define MAGIC		'M'		//main magic val




#define MODE_OFF		0	//modes
#define MODE_SOLID		1
#define MODE_FADE		2
#define MODE_MAX		3

#define FPTR_INIT		0
#define FPTR_DESTROY	1
#define FPTR_BTN_UP		2
#define FPTR_BTN_DOWN	3
#define FPTR_BTN_O		4
#define FPTR_DATA_INIT	5
#define FPTR_RUN		6
#define FPTR_MAX		7

union{
	struct{

		UInt8 selector;

	}solid;

	struct{
		struct{

			UInt8 val : 5;
			UInt8 changing : 1;
			UInt8 rising: 1;
		}tmp[4];
		UInt8 speed:7;
		UInt8 adjBri:1;
		UInt8 bri;
		UInt16 speedLeft;

	}fade;

	struct{

		UInt16 configModeStatus;
	}off;

}tempData;

UInt8 exponents[32];

#define log math_log
#include <math.h>
#include <float.h>
#undef log

static UInt16 gRngSeed = 0x87F6;
/*
	config mode is entered from off mode by pressing buttons
	up = 00 down = 01 O = 10. lower bits are earlier preses
	11 = end of sequence
*/
static const UInt16 gConfigSteps = 0b11101001000100;	//UDUDOO


static UInt8 rand(void){

	UInt8 ret;
	
	gRngSeed = gRngSeed * 0x5EED + 13;
	ret = gRngSeed >> 5;
	
	log(ret);
	return ret;
}

void delay_ms(UInt16 ms){		//uses TMR1 so it accounts for all interrupts' lost time

	UInt16 d, t;
	
	while(ms){

		d = (ms > 50) ? 50 : ms;
		ms -= d;
		d *= 1000;
		t = TMR1;
		while(TMR1 - t < d);
	}
}

static void genExponents(UInt8 bri){

	UInt8 i;
	double t;

	for(i = 0; i < 32; i++){

		t = i;
		t = exp(t / 9);
		t -= 1;
		t *= 8.4;
		t *= bri;
		t /= 255;
		t += 0.5;	//round

		exponents[i] = (UInt8)t;
	}
}

UInt8 mOffInit(UInt8 arg){

	if(arg != MODE_OFF){	//save previous mode

		eeWrite(OFF_OFF_PREV_MODE, arg);
	}
	gLed[0] = 0;
	gLed[1] = 0;
	gLed[2] = 0;
	gLed[3] = 0;
	tempData.off.configModeStatus = gConfigSteps;
	return 0;
}

UInt8 mOffDestr(UInt8 arg){

	return eeRead(OFF_OFF_PREV_MODE);	//return old mode
}

UInt8 mOffDataInit(UInt8 arg){

	eeWrite(OFF_OFF_PREV_MODE, MODE_FADE);

	return 0;
}

static void cfgModeShowVal(UInt8 colorMarker, UInt32 v){

	//marker
	{
		gLed[0] = 0;
		gLed[1] = (colorMarker & 4) ? 100 : 0;
		gLed[2] = (colorMarker & 2) ? 100 : 0;
		gLed[3] = (colorMarker & 1) ? 100 : 0;
		delay_ms(1000);
		gLed[1] = 0;
		gLed[2] = 0;
		gLed[3] = 0;
	}

	//number itself, one decimal digit at a time, in proper order
	{
		UInt32 t = v;
		UInt8 digit = 0;

		//count digits
		while(t){
			digit++;
			t /= 10;
		}
		if(!digit) digit = 1;	//ero is still one digit

		//show them
		t = 1;
		while(--digit) t *= 10;

		do{

			digit = v / t;
			v %= t;
			t /= 10;

			while(digit--){
				delay_ms(300);	//wait
				gLed[0] = 10;
				delay_ms(500);	//blink
				gLed[0] = 0;
			}
				
			delay_ms(300);	//wait
			gLed[0] = 255;
			delay_ms(700);	//show end of digit
			gLed[0] = 0;
			delay_ms(500);	//wait

		}while(t);
	}	
}

static void mOffCheckConfigMode(UInt8 btn){

	UInt8 t = (tempData.off.configModeStatus & 3) ^ btn;

	tempData.off.configModeStatus >>= 2;
	if(!t && (tempData.off.configModeStatus & 3) == 0b11){		//right code and we're done

		//config mode
		{
			gLed[0] = 0;
			gLed[1] = 0;
			gLed[2] = 0;
			gLed[3] = 0;
			cfgModeShowVal(0b010, gSwVersion);		//green -> sw version
			cfgModeShowVal(0b001, gBattCentiVolts);	//blue -> batt voltage
			gLed[0] = 0;
			gLed[1] = 0;
			gLed[2] = 0;
			gLed[3] = 0;
		}
		tempData.off.configModeStatus = gConfigSteps;
	}
	else if(t) tempData.off.configModeStatus = gConfigSteps;	//wrong code
}

UInt8 mOffUp(UInt8 arg){

	mOffCheckConfigMode(0b00);
	return 0;
}

UInt8 mOffDown(UInt8 arg){

	mOffCheckConfigMode(0b01);
	return 0;
}

UInt8 mOffO(UInt8 arg){

	mOffCheckConfigMode(0b10);
	return 0;
}

UInt8 mSolidInit(UInt8 arg){

	gLed[0] = eeRead(OFF_SOLID_W);
	gLed[1] = eeRead(OFF_SOLID_R);
	gLed[2] = eeRead(OFF_SOLID_G);
	gLed[3] = eeRead(OFF_SOLID_B);

	tempData.solid.selector = 0;

	return 0;
}

UInt8 mSolidDestr(UInt8 arg){

	eeWrite(OFF_SOLID_W, gLed[0]);
	eeWrite(OFF_SOLID_R, gLed[1]);
	eeWrite(OFF_SOLID_G, gLed[2]);
	eeWrite(OFF_SOLID_B, gLed[3]);

	return 0;
}

UInt8 mSolidUp(UInt8 arg){

	UInt16 t = gLed[tempData.solid.selector];

	t += 1 + (t + 3) / 4;
	if(t > 255) t = 255;
	gLed[tempData.solid.selector] = t;

	return 0;
}

UInt8 mSolidDown(UInt8 arg){

	Int16 t = gLed[tempData.solid.selector];

	t -= 1 + (t + 3) / 4;
	if(t < 0) t = 0;
	gLed[tempData.solid.selector] = t;

	return 0;
}

UInt8 mSolidO(UInt8 arg){

	UInt8 s0, s1, s2, s3;

	if(++tempData.solid.selector == 4) tempData.solid.selector = 0;
	s0 = gLed[0];
	s1 = gLed[1];
	s2 = gLed[2];
	s3 = gLed[3];
	gLed[0] = 0;
	gLed[1] = 0;
	gLed[2] = 0;
	gLed[3] = 0;
	delay_ms(100);
	gLed[tempData.solid.selector] = 100;
	delay_ms(500);
	gLed[tempData.solid.selector] = 0;
	delay_ms(100);
	gLed[0] = s0;
	gLed[1] = s1;
	gLed[2] = s2;
	gLed[3] = s3;

	return 0;
}

UInt8 mSolidDataInit(UInt8 arg){

	eeWrite(OFF_SOLID_W, 5);
	eeWrite(OFF_SOLID_R, 5);
	eeWrite(OFF_SOLID_G, 5);
	eeWrite(OFF_SOLID_B, 100);

	return 0;
}

UInt8 mFadeInit(UInt8 arg){

	UInt8 i;

	gLed[0] = 0;
	gLed[1] = 0;
	gLed[2] = 0;
	gLed[3] = 0;
	tempData.fade.speed = eeRead(OFF_FADE_SPEED);
	tempData.fade.bri = eeRead(OFF_FADE_BRI);
	tempData.fade.speedLeft = 1;	//start soon
	tempData.fade.adjBri = 0;
	for(i = 0; i < 4; i++){

		tempData.fade.tmp[i].val = 0;
		tempData.fade.tmp[i].changing = 0;
	}
	genExponents(tempData.fade.bri);

	return 0;
}

UInt8 mFadeDestr(UInt8 arg){

	eeWrite(OFF_FADE_SPEED, tempData.fade.speed);
	eeWrite(OFF_FADE_BRI, tempData.fade.bri);

	return 0;
}

UInt8 mFadeUp(UInt8 arg){

	UInt16 t;

	if(tempData.fade.adjBri){

		t = (((UInt16)tempData.fade.bri)*5)/4;
		tempData.fade.bri = (t > 255) ? 255 : t;
		genExponents(tempData.fade.bri);
	}
	else{

		if(tempData.fade.speed > 2) tempData.fade.speed--;
	}
	return 0;
}

UInt8 mFadeDown(UInt8 arg){

	UInt8 t;

	if(tempData.fade.adjBri){

		t = (((UInt16)tempData.fade.bri)*4)/5;
		tempData.fade.bri = (t < 5) ? 5 : t;
		genExponents(tempData.fade.bri);
	}
	else{

		if(tempData.fade.speed < 40) tempData.fade.speed++;

	}
	return 0;
}

UInt8 mFadeO(UInt8 arg){

	UInt8 s0, s1, s2, s3;

	s0 = gLed[0];
	s1 = gLed[1];
	s2 = gLed[2];
	s3 = gLed[3];
	
	if(tempData.fade.adjBri){	//switch to adjusting speed

		gLed[0] = 100;
		gLed[1] = 0;
		gLed[2] = 0;
		gLed[3] = 0;
		delay_ms(150);
		gLed[0] = 0;
		gLed[1] = 100;
		delay_ms(150);
		gLed[1] = 0;
		gLed[2] = 100;
		delay_ms(150);
		gLed[2] = 0;
		gLed[3] = 100;
		delay_ms(150);
		tempData.fade.adjBri = 0;
	}
	else{						//switch to adjusting brightness

		gLed[0] = 0;
		gLed[1] = 0;
		gLed[2] = 0;
		gLed[3] = 0;
		delay_ms(50);
		gLed[0] = 1;
		delay_ms(100);
		gLed[0] = 0;
		delay_ms(50);
		gLed[0] = 30;
		delay_ms(100);
		gLed[0] = 0;
		delay_ms(50);
		gLed[0] = 80;
		delay_ms(100);
		gLed[0] = 0;
		delay_ms(50);
		gLed[0] = 200;
		delay_ms(100);
		gLed[0] = 0;
		delay_ms(50);
		tempData.fade.adjBri = 1;
	}

	gLed[0] = s0;
	gLed[1] = s1;
	gLed[2] = s2;
	gLed[3] = s3;

	return 0;
}

UInt8 mFadeDataInit(UInt8 arg){

	eeWrite(OFF_FADE_SPEED, 10);
	eeWrite(OFF_FADE_BRI, 255);
	
	return 0;
}

#define chance(__val) (rand() < (__val))

UInt8 mFadeRun(UInt8 arg){

	UInt8 i, t;

	if(!--tempData.fade.speedLeft){

		tempData.fade.speedLeft = ((UInt16)tempData.fade.speed) << 7;

		for(i = 0; i < 4; i++){
			
			//first update based on current rise/fall, fancel them if we hit boundaries
			if(tempData.fade.tmp[i].changing){
				t = tempData.fade.tmp[i].val;
				if(tempData.fade.tmp[i].rising){
					if(t == 0x1F){
						tempData.fade.tmp[i].changing = 0;
					}
					else{
						t++;
					}
				}
				else{
					if(t == 0){
						tempData.fade.tmp[i].changing = 0;
					}
					else{
						t--;
					}
				}
				tempData.fade.tmp[i].val = t;
			}

			//then decide what to do probabilistically
			if(tempData.fade.tmp[i].changing && chance((0x1F - tempData.fade.tmp[i].val) / 4 + 1)){	//chance of stopping a rise or a fall is very small and lessens the higher the value

				tempData.fade.tmp[i].changing = 0;
			}
			else if(!tempData.fade.tmp[i].changing && chance(8)){									//chance of starting a rise or a fall

				tempData.fade.tmp[i].changing = 1;
				tempData.fade.tmp[i].rising = !chance(tempData.fade.tmp[i].val << 3);				//thehigher the value, the less likely the fall and not the rise
			}
		}

		gLed[0] = exponents[tempData.fade.tmp[0].val];			//white is special (we dim it)
		if(gLed[0] > 32) gLed[0] = ((gLed[0] - 32) >> 1) + 32;
		for(i = 1; i < 4; i++) gLed[i] = exponents[tempData.fade.tmp[i].val];
	}

	return 0;
}

typedef UInt8 (*modeFunc)(UInt8 arg);

static const modeFunc gModeFns[MODE_MAX][FPTR_MAX] =	{
															{mOffInit, mOffDestr, mOffUp, mOffDown, mOffO, mOffDataInit, NULL},
															{mSolidInit, mSolidDestr, mSolidUp, mSolidDown, mSolidO, mSolidDataInit, NULL},
															{mFadeInit, mFadeDestr, mFadeUp, mFadeDown, mFadeO, mFadeDataInit, mFadeRun}
														};											

void init(void){
	PORTA		= 0b00000000;	// output low
	ANSELA		= 0b00000000;	// no analog pins
	TRISA		= 0b11101000;	// all in, RA0,1,2,4 out
	OSCCON		= 0b11110000;	// 32MHz
	OPTION_REG	= 0b10001000;	// pullups off, Tmr0 @ Fosc/8
	INTCON		= 0b10100000;	// ints on, TMR0 used for PWM
	APFCON		= 0b00000001;	// CCP1 is on RA5
	T1CON		= 0b00110001;	// TMR1 at Fosc/32 = 1 MHz
	T2CON		= 0b00001011;	// TMR2 at Fosc/256 = 125 KHz, overflow interrupts dithered by 2, so overflowing at 244.14 Hz (every 4 ms or so)

	//delay till everything is ready
	__delay_ms(300);
	while(!HFIOFL || !PLLR);
}

static UInt8 runFuncPtr(UInt8 funcIdx, UInt8 curMode, UInt8 arg){

	modeFunc f = gModeFns[curMode][funcIdx];

	return f ? f(arg) : 0;
}

void main(void){

	UInt8 mode;

	init();

	//save/restore values
	if(eeRead(OFF_MAGIC) == MAGIC){

		mode = eeRead(OFF_MODE);
	}
	else{

		for(mode = 0; mode < MODE_MAX; mode++) runFuncPtr(FPTR_DATA_INIT, mode, 0);
		eeWrite(OFF_MAGIC, MAGIC);
		eeWrite(OFF_MODE, mode = MODE_OFF);
	}


	rxStart();						//start initial receive
	runFuncPtr(FPTR_INIT, mode, 0);	//init this mode

	//main loop
	while(1){
		UInt8 t;
		UInt16 pt = 0;

		if(pt != TMR1 >> 6){	//run at most once every 64ms
			runFuncPtr(FPTR_RUN, mode, 0);
			pt = TMR1 >> 6;
		}
		if(gRxDone){

			t = rxDecode();
			if(t == 0){
				UInt32 pressesTotal = getU32(gRxData + 2);
				UInt32 pressessSinceBattChange = getU32(gRxData + 6);
				UInt8 whichBtn = getU8(gRxData + 12);
		
				gBattCentiVolts = getU16(gRxData + 10);
				if(whichBtn == 1){			//Mode
	
					if(mode != MODE_OFF){		//mode button is ignored when off
	
						runFuncPtr(FPTR_DESTROY, mode, 0);
						if(++mode == MODE_MAX) mode = 1;
						runFuncPtr(FPTR_INIT, mode, 0);
						eeWrite(OFF_MODE, mode);
					}
				}
				else if(whichBtn == 4){		//UP
			
					runFuncPtr(FPTR_BTN_UP, mode, 0);
				}
				else if(whichBtn == 3){		//DOWN
	
					runFuncPtr(FPTR_BTN_DOWN, mode, 0);
				}
				else if(whichBtn == 2){		//"O" = enter
	
					runFuncPtr(FPTR_BTN_O, mode, 0);
				}
				else if(whichBtn == 0){		//On-Off
	
					if(mode == MODE_OFF){

						mode = runFuncPtr(FPTR_DESTROY, mode, 0);	//returns new mode
						runFuncPtr(FPTR_INIT, mode, 0);
					}
					else{

						runFuncPtr(FPTR_DESTROY, mode, 0);
						runFuncPtr(FPTR_INIT, MODE_OFF, mode);
						mode = MODE_OFF;
					}
				}
			}
			rxStart();
		}
	}

	while(1);
}

static void interrupt isr(void){

	UInt8 t;
	static bit v = 0;

	if(TMR0IF){
		TMR0IF = 0;
		gPwmCtr++;
		gPwmCtr &=~ 0x0200;
		t = LATA &~ 0x17;
		if((gPwmCtr<<1) < (UInt16)gLed[0]) t |= 0x01;	//white always dimmer
		if((gPwmCtr>>1) < gLed[1]) t |= 0x04;	//red always brighter
		if(gPwmCtr < gLed[2]) t |= 0x10;
		if(gPwmCtr < gLed[3]) t |= 0x02;
		LATA = t;
	}
	if(TMR2IF){		//timeout

		TMR2IF	= 0;

		TMR2ON = 0;
		gRxDone = 1;
		CCP1CON = 0;
		CCP1IF = 0;
	}
	if(CCP1IF){
	
		CCP1IF	= 0;	//clear this flag
	
		if(gIntFirstEdgeSeen){		//rx going on

			if(CCP1CON & 1){	//begin timed period

				gIntCapturedTime = CCPR1;
				TMR2 = 0;

				gRngSeed ^= gIntCapturedTime;	//add randomness
			}
			else{				//end timed perioud

				gIntCapturedTime = CCPR1 - gIntCapturedTime;

				if(gIntCapturedTime > 1150ul) gRxData[gRxPos] |= gRxMask;	//one
				gRxMask >>= 1;
				if(!gRxMask){
					gRxMask = 0x80;
					gRxPos++;
		
					if(gRxPos == sizeof(gRxData)){
						CCP1CON = 0;
						gRxDone = 1;
					}
				}
			}
		}
		else{						//rx just stared

			gIntFirstEdgeSeen = 1;
			TMR2ON = 1;
			TMR2 = 0;
			TMR2IE = 1;
			TMR2IF = 0;
		}
		if(!gRxDone) CCP1CON ^= 1;		//catch other edge
	}
}
TX.c

Código: Seleccionar todo

#include <htc.h>
#define _XTAL_FREQ 4000000
__CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & BOREN_OFF & CP_OFF & CPD_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF);
__CONFIG(WRT_OFF & PLLEN_OFF & PLLEN_OFF & BORV_19 & LVP_OFF);
__IDLOC(0000);
typedef unsigned char UInt8;
typedef unsigned short UInt16;
typedef unsigned long UInt32;
typedef signed char Int8;
typedef signed short Int16;
typedef signed long Int32;


static UInt32 pressesSinceBattChange = 0;

void led(void){		//half a ms or so

	TMR2ON = 1;					//timer2 on
	TMR2 = 0;					//reset timer2
	CCP1CON |= 0b00001100;		//PWM on
	__delay_us(500);
	CCP1CON &=~ 0b00001111;		//PWM off
	TMR2ON = 0;					//timer2 off
}


UInt8 eeRead(UInt8 addr){


	EECON1 = 0b00000000;	//read data
	EEADRL = addr;
	EECON1bits.RD = 1;		//do it
	return EEDATL;
}

void sendByte(UInt8 b){	//manchester

	UInt8 i = 8;

	do{
		led();
		if(b & 0x80) __delay_us(1500);
		else __delay_us(1000);
		b <<= 1;

	}while(--i);
}

void eeWrite(UInt8 addr, UInt8 data){

	EECON1= 0b00000100;	//write data
	EEADRL = addr;
	EEDATL = data;
	INTCONbits.GIE = 0;
	EECON2 = 0x55;
	EECON2 = 0xAA;
	EECON1bits.WR = 1;
	INTCONbits.GIE = 1;
	while(EECON1bits.WR);
}


UInt16 measureVoltage(void){	//return in centivolts

	UInt8 i;
	UInt32 t = 0;

	FVRCON	= 0b11000001;		//output 1.024 V to ADC
	ADCON1	= 0b11100000;		//ADC VREF is VDD
	ADCON0	= 0b01111101;		//ADC on, FVR as input
	
	while(!FVRRDY);

	for(i = 0; i < 16; i++){	//sample 16x, extra resolution bit :)
		GO = 1;
		while(GO);
		t += ADRES;
	}
	
	t = (0x199998UL + (t >> 1)) / t;	//rounding is nice

	FVRCON	= 0b00000000;		//FVR off
	ADCON0	= 0b00000000;		//ADC off

	return t;
}

void sendButton(UInt8 btn){

	UInt8 i, t, j, crc = 0;
	UInt8 packet[12];
	UInt16 v;

	//read, increment, stick into packet, and write back "total presses" value
	for(i = 0; i < 4; i++) packet[i] = eeRead(i);
	for(i = 0; i < 4; i++) if(++packet[i]) break;
	for(i = 0; i < 4; i++) eeWrite(i, packet[i]);

	//stick number of presses since last batt change into packet
	packet[4] = pressesSinceBattChange;
	packet[5] = pressesSinceBattChange >> 8;
	packet[6] = pressesSinceBattChange >> 16;
	packet[7] = pressesSinceBattChange >> 24;
	pressesSinceBattChange++;

	//stick pattery voltage into packet
	v = measureVoltage();
	packet[8] = v;
	packet[9] = v >> 8;

	//stick pressed button into packet
	packet[10] = btn;

	//calculate CRC and stick it into packet
	for(i = 0; i < sizeof(packet) - 1; i++){
		
		t = packet[i];
		for(j = 0; j < 8; j++, t <<= 1){

			crc = (crc << 1) ^ (((t ^ crc) & 0x80) ? 0x83 : 0);
		}
	}
	packet[sizeof(packet) - 1] = crc;

	//send prologue
	sendByte(0xFF);

	//send header
	sendByte(0x05);
	
	//send data
	for(i = 0; i < sizeof(packet); i++) sendByte(packet[i]);

	//send footer as needed
	sendByte(0xFF);
}

void log(UInt8 a){

	static UInt16 addr = 0;

	if(addr < 0x100) eeWrite(addr++, a);
}

void main(void){

	OSCCON		= 0b11101000;	// 4MHz
	OPTION_REG	= 0b00001000;	// pullups on, TMR0 @ Fosc/4
	ANSELA		= 0b00000000;	// no analog pins
	PORTA		= 0b00000000;	// output low
	WPUA		= 0b00011111;	// pullups for buttons
	TRISA		= 0b11011111;	// RA5 out, others in
	VREGCON		= 0b00000010;	// lower power sleep please
	INTCON		= 0b00000000;	// ints off and blocked
	APFCON		= 0b00000001;	// CCP1 on RA5

	CCP1CON		= 0b00000000;	//prepare for PWM
	T2CON		= 0b00000000;	//prepare timer2
	CCPR1L      = 13;
	PR2			= 25;

	__delay_ms(300);

	while(1){

		UInt8 t, n, btn;

		//wait for button press
		OSCCON	= 0b00000011;			//switch to 31 KHZ clock
		while(1){
			
			t = PORTA & 0x1F;
			while((n = (PORTA & 0x1F)) == t);
			btn = (t ^ n) & t;						//what changed and is now low (btn down)
			if(btn && !(btn & (btn - 1))) break;	//nothing? or more than one bit then we have a button press
			t = n;
		}

		//ramp up the oscillator
		OSCCON		= 0b11101000;	// 4MHz
	
		//figure out which button it is
		t = 0;
		while(btn >>= 1) t++;
		btn = t;

		//wait for oscillator to be ready
		while(!HFIOFL);

		//send the code forever
		t = 10;	//initial delay before autorepeat
		do{
			
			if(t == 10 || t == 0) sendButton(btn);
			if(t) t--;
			if((PORTA & 0x1F) != n) break;
			__delay_ms(50);
		}while(1);
	}
}
moodLight.zip
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.



Volver a “Proyectos y Circuitos Didacticos”