
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> File Created by SDCC : FreeWare ANSI-C Compiler</font>
;<font color="#0000ff"> Version 2.6.1 #4314 (Aug  1 2006)</font>
;<font color="#0000ff"> This file generated Thu Sep 07 08:01:23 2006</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.module</b></font> <font color="#008080">xmas2</font>
        <font color="#804040"><b>.optsdcc</b></font> -<font color="#008080">mmcs51</font> --<font color="#008080">model</font>-<font color="#008080">small</font>

;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> Public variables in this module</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_main</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_rand</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_CY</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_AC</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_F0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_RS1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_RS0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_OV</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_FL</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_PS</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_PT1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_PX1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_PT0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_PX0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_RD</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_WR</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_T1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_T0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_INT1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_INT0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TXD</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_RXD</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_7</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_6</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_5</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_4</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_3</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_2</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3_0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_EA</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_ES</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_ET1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_EX1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_ET0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_EX0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_7</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_6</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_5</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_4</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_3</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_2</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2_0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_SM0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_SM1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_SM2</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_REN</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TB8</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_RB8</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TI</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_RI</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_7</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_6</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_5</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_4</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_3</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_2</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1_0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TF1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TR1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TF0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TR0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_IE1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_IT1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_IE0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_IT0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_7</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_6</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_5</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_4</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_3</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_2</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0_0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_B</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_A</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_ACC</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_PSW</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_IP</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P3</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_IE</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P2</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_SBUF</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_SCON</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TH1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TH0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TL1</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TL0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TMOD</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_TCON</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_PCON</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_DPH</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_DPL</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_SP</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_P0</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_lfsr</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">_fb</font>
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> special function registers</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">RSEG</font>    (<font color="#008080">DATA</font>)
<font color="#008080">_P0</font>     =       <font color="#ff00ff">0x0080</font>
<font color="#008080">_SP</font>     =       <font color="#ff00ff">0x0081</font>
<font color="#008080">_DPL</font>    =       <font color="#ff00ff">0x0082</font>
<font color="#008080">_DPH</font>    =       <font color="#ff00ff">0x0083</font>
<font color="#008080">_PCON</font>   =       <font color="#ff00ff">0x0087</font>
<font color="#008080">_TCON</font>   =       <font color="#ff00ff">0x0088</font>
<font color="#008080">_TMOD</font>   =       <font color="#ff00ff">0x0089</font>
<font color="#008080">_TL0</font>    =       <font color="#ff00ff">0x008a</font>
<font color="#008080">_TL1</font>    =       <font color="#ff00ff">0x008b</font>
<font color="#008080">_TH0</font>    =       <font color="#ff00ff">0x008c</font>
<font color="#008080">_TH1</font>    =       <font color="#ff00ff">0x008d</font>
<font color="#008080">_P1</font>     =       <font color="#ff00ff">0x0090</font>
<font color="#008080">_SCON</font>   =       <font color="#ff00ff">0x0098</font>
<font color="#008080">_SBUF</font>   =       <font color="#ff00ff">0x0099</font>
<font color="#008080">_P2</font>     =       <font color="#ff00ff">0x00a0</font>
<font color="#008080">_IE</font>     =       <font color="#ff00ff">0x00a8</font>
<font color="#008080">_P3</font>     =       <font color="#ff00ff">0x00b0</font>
<font color="#008080">_IP</font>     =       <font color="#ff00ff">0x00b8</font>
<font color="#008080">_PSW</font>    =       <font color="#ff00ff">0x00d0</font>
<font color="#008080">_ACC</font>    =       <font color="#ff00ff">0x00e0</font>
<font color="#008080">_A</font>      =       <font color="#ff00ff">0x00e0</font>
<font color="#008080">_B</font>      =       <font color="#ff00ff">0x00f0</font>
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> special function bits</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">RSEG</font>    (<font color="#008080">DATA</font>)
<font color="#008080">_P0_0</font>   =       <font color="#ff00ff">0x0080</font>
<font color="#008080">_P0_1</font>   =       <font color="#ff00ff">0x0081</font>
<font color="#008080">_P0_2</font>   =       <font color="#ff00ff">0x0082</font>
<font color="#008080">_P0_3</font>   =       <font color="#ff00ff">0x0083</font>
<font color="#008080">_P0_4</font>   =       <font color="#ff00ff">0x0084</font>
<font color="#008080">_P0_5</font>   =       <font color="#ff00ff">0x0085</font>
<font color="#008080">_P0_6</font>   =       <font color="#ff00ff">0x0086</font>
<font color="#008080">_P0_7</font>   =       <font color="#ff00ff">0x0087</font>
<font color="#008080">_IT0</font>    =       <font color="#ff00ff">0x0088</font>
<font color="#008080">_IE0</font>    =       <font color="#ff00ff">0x0089</font>
<font color="#008080">_IT1</font>    =       <font color="#ff00ff">0x008a</font>
<font color="#008080">_IE1</font>    =       <font color="#ff00ff">0x008b</font>
<font color="#008080">_TR0</font>    =       <font color="#ff00ff">0x008c</font>
<font color="#008080">_TF0</font>    =       <font color="#ff00ff">0x008d</font>
<font color="#008080">_TR1</font>    =       <font color="#ff00ff">0x008e</font>
<font color="#008080">_TF1</font>    =       <font color="#ff00ff">0x008f</font>
<font color="#008080">_P1_0</font>   =       <font color="#ff00ff">0x0090</font>
<font color="#008080">_P1_1</font>   =       <font color="#ff00ff">0x0091</font>
<font color="#008080">_P1_2</font>   =       <font color="#ff00ff">0x0092</font>
<font color="#008080">_P1_3</font>   =       <font color="#ff00ff">0x0093</font>
<font color="#008080">_P1_4</font>   =       <font color="#ff00ff">0x0094</font>
<font color="#008080">_P1_5</font>   =       <font color="#ff00ff">0x0095</font>
<font color="#008080">_P1_6</font>   =       <font color="#ff00ff">0x0096</font>
<font color="#008080">_P1_7</font>   =       <font color="#ff00ff">0x0097</font>
<font color="#008080">_RI</font>     =       <font color="#ff00ff">0x0098</font>
<font color="#008080">_TI</font>     =       <font color="#ff00ff">0x0099</font>
<font color="#008080">_RB8</font>    =       <font color="#ff00ff">0x009a</font>
<font color="#008080">_TB8</font>    =       <font color="#ff00ff">0x009b</font>
<font color="#008080">_REN</font>    =       <font color="#ff00ff">0x009c</font>
<font color="#008080">_SM2</font>    =       <font color="#ff00ff">0x009d</font>
<font color="#008080">_SM1</font>    =       <font color="#ff00ff">0x009e</font>
<font color="#008080">_SM0</font>    =       <font color="#ff00ff">0x009f</font>
<font color="#008080">_P2_0</font>   =       <font color="#ff00ff">0x00a0</font>
<font color="#008080">_P2_1</font>   =       <font color="#ff00ff">0x00a1</font>
<font color="#008080">_P2_2</font>   =       <font color="#ff00ff">0x00a2</font>
<font color="#008080">_P2_3</font>   =       <font color="#ff00ff">0x00a3</font>
<font color="#008080">_P2_4</font>   =       <font color="#ff00ff">0x00a4</font>
<font color="#008080">_P2_5</font>   =       <font color="#ff00ff">0x00a5</font>
<font color="#008080">_P2_6</font>   =       <font color="#ff00ff">0x00a6</font>
<font color="#008080">_P2_7</font>   =       <font color="#ff00ff">0x00a7</font>
<font color="#008080">_EX0</font>    =       <font color="#ff00ff">0x00a8</font>
<font color="#008080">_ET0</font>    =       <font color="#ff00ff">0x00a9</font>
<font color="#008080">_EX1</font>    =       <font color="#ff00ff">0x00aa</font>
<font color="#008080">_ET1</font>    =       <font color="#ff00ff">0x00ab</font>
<font color="#008080">_ES</font>     =       <font color="#ff00ff">0x00ac</font>
<font color="#008080">_EA</font>     =       <font color="#ff00ff">0x00af</font>
<font color="#008080">_P3_0</font>   =       <font color="#ff00ff">0x00b0</font>
<font color="#008080">_P3_1</font>   =       <font color="#ff00ff">0x00b1</font>
<font color="#008080">_P3_2</font>   =       <font color="#ff00ff">0x00b2</font>
<font color="#008080">_P3_3</font>   =       <font color="#ff00ff">0x00b3</font>
<font color="#008080">_P3_4</font>   =       <font color="#ff00ff">0x00b4</font>
<font color="#008080">_P3_5</font>   =       <font color="#ff00ff">0x00b5</font>
<font color="#008080">_P3_6</font>   =       <font color="#ff00ff">0x00b6</font>
<font color="#008080">_P3_7</font>   =       <font color="#ff00ff">0x00b7</font>
<font color="#008080">_RXD</font>    =       <font color="#ff00ff">0x00b0</font>
<font color="#008080">_TXD</font>    =       <font color="#ff00ff">0x00b1</font>
<font color="#008080">_INT0</font>   =       <font color="#ff00ff">0x00b2</font>
<font color="#008080">_INT1</font>   =       <font color="#ff00ff">0x00b3</font>
<font color="#008080">_T0</font>     =       <font color="#ff00ff">0x00b4</font>
<font color="#008080">_T1</font>     =       <font color="#ff00ff">0x00b5</font>
<font color="#008080">_WR</font>     =       <font color="#ff00ff">0x00b6</font>
<font color="#008080">_RD</font>     =       <font color="#ff00ff">0x00b7</font>
<font color="#008080">_PX0</font>    =       <font color="#ff00ff">0x00b8</font>
<font color="#008080">_PT0</font>    =       <font color="#ff00ff">0x00b9</font>
<font color="#008080">_PX1</font>    =       <font color="#ff00ff">0x00ba</font>
<font color="#008080">_PT1</font>    =       <font color="#ff00ff">0x00bb</font>
<font color="#008080">_PS</font>     =       <font color="#ff00ff">0x00bc</font>
<font color="#008080">_P</font>      =       <font color="#ff00ff">0x00d0</font>
<font color="#008080">_FL</font>     =       <font color="#ff00ff">0x00d1</font>
<font color="#008080">_OV</font>     =       <font color="#ff00ff">0x00d2</font>
<font color="#008080">_RS0</font>    =       <font color="#ff00ff">0x00d3</font>
<font color="#008080">_RS1</font>    =       <font color="#ff00ff">0x00d4</font>
<font color="#008080">_F0</font>     =       <font color="#ff00ff">0x00d5</font>
<font color="#008080">_AC</font>     =       <font color="#ff00ff">0x00d6</font>
<font color="#008080">_CY</font>     =       <font color="#ff00ff">0x00d7</font>
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> overlayable register banks</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">REG_BANK_0</font>        (<font color="#008080">REL</font>,<font color="#008080">OVR</font>,<font color="#008080">DATA</font>)
        <font color="#804040"><b>.ds</b></font> <font color="#ff00ff">8</font>
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> internal ram data</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">DSEG</font>    (<font color="#008080">DATA</font>)
<font color="#008080">_fb</font>::
        <font color="#804040"><b>.ds</b></font> <font color="#ff00ff">2</font>
<font color="#008080">_lfsr</font>::
        <font color="#804040"><b>.ds</b></font> <font color="#ff00ff">2</font>
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> overlayable items in internal ram </font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">OSEG</font>    (<font color="#008080">OVR</font>,<font color="#008080">DATA</font>)
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> Stack segment in internal ram </font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font>   <font color="#008080">SSEG</font>    (<font color="#008080">DATA</font>)
<font color="#008080">__start__stack</font>:
        <font color="#804040"><b>.ds</b></font>     <font color="#ff00ff">1</font>

;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> indirectly addressable internal ram data</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">ISEG</font>    (<font color="#008080">DATA</font>)
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> bit data</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">BSEG</font>    (<font color="#008080">BIT</font>)
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> paged external ram data</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">PSEG</font>    (<font color="#008080">PAG</font>,<font color="#008080">XDATA</font>)
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> external ram data</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">XSEG</font>    (<font color="#008080">XDATA</font>)
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> external initialized ram data</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">XISEG</font>   (<font color="#008080">XDATA</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">HOME</font>    (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT0</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT1</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT2</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT3</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT4</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT5</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT</font>  (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSFINAL</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">CSEG</font>    (<font color="#008080">CODE</font>)
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> interrupt vector </font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">HOME</font>    (<font color="#008080">CODE</font>)
<font color="#008080">__interrupt_vect</font>:
        <font color="#008080">ljmp</font>    <font color="#008080">__sdcc_gsinit_startup</font>
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> global &amp; static initialisations</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">HOME</font>    (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT</font>  (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSFINAL</font> (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSINIT</font>  (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.globl</b></font> <font color="#008080">__sdcc_gsinit_startup</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">__sdcc_program_startup</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">__start__stack</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">__mcs51_genXINIT</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">__mcs51_genXRAMCLEAR</font>
        <font color="#804040"><b>.globl</b></font> <font color="#008080">__mcs51_genRAMCLEAR</font>
;<font color="#0000ff">       xmas2.c:11: unsigned int fb,lfsr=0x0081;</font>
        <font color="#008080">mov</font>     <font color="#008080">_lfsr</font>,#<font color="#ff00ff">0x81</font>
        <font color="#008080">clr</font>     <font color="#008080">a</font>
        <font color="#008080">mov</font>     (<font color="#008080">_lfsr</font> + <font color="#ff00ff">1</font>),<font color="#008080">a</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">GSFINAL</font> (<font color="#008080">CODE</font>)
        <font color="#008080">ljmp</font>    <font color="#008080">__sdcc_program_startup</font>
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> Home</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">HOME</font>    (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">CSEG</font>    (<font color="#008080">CODE</font>)
<font color="#008080">__sdcc_program_startup</font>:
        <font color="#008080">lcall</font>   <font color="#008080">_main</font>
;<font color="#0000ff">       return from main will lock up</font>
        <font color="#008080">sjmp</font> .
;<font color="#0000ff">--------------------------------------------------------</font>
;<font color="#0000ff"> code</font>
;<font color="#0000ff">--------------------------------------------------------</font>
        <font color="#804040"><b>.area</b></font> <font color="#008080">CSEG</font>    (<font color="#008080">CODE</font>)
;<font color="#0000ff">------------------------------------------------------------</font>
;<font color="#0000ff">Allocation info for local variables in function 'rand'</font>
;<font color="#0000ff">------------------------------------------------------------</font>
;<font color="#0000ff">------------------------------------------------------------</font>
;<font color="#0000ff">       xmas2.c:14: unsigned char rand(void)</font>
;<font color="#0000ff">       -----------------------------------------</font>
;<font color="#0000ff">        function rand</font>
;<font color="#0000ff">       -----------------------------------------</font>
<font color="#008080">_rand</font>:
        <font color="#008080">ar2</font> = <font color="#ff00ff">0x02</font>
        <font color="#008080">ar3</font> = <font color="#ff00ff">0x03</font>
        <font color="#008080">ar4</font> = <font color="#ff00ff">0x04</font>
        <font color="#008080">ar5</font> = <font color="#ff00ff">0x05</font>
        <font color="#008080">ar6</font> = <font color="#ff00ff">0x06</font>
        <font color="#008080">ar7</font> = <font color="#ff00ff">0x07</font>
        <font color="#008080">ar0</font> = <font color="#ff00ff">0x00</font>
        <font color="#008080">ar1</font> = <font color="#ff00ff">0x01</font>
;<font color="#0000ff">       xmas2.c:16: fb=((lfsr &amp; 0x01)^(lfsr &amp; 0x02)^(lfsr &amp; 0x04)^( lfsr &amp; 0x80));</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,#<font color="#ff00ff">0x01</font>
        <font color="#008080">anl</font>     <font color="#008080">a</font>,<font color="#008080">_lfsr</font>
        <font color="#008080">mov</font>     <font color="#008080">r2</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r3</font>,#<font color="#ff00ff">0x00</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,#<font color="#ff00ff">0x02</font>
        <font color="#008080">anl</font>     <font color="#008080">a</font>,<font color="#008080">_lfsr</font>
        <font color="#008080">mov</font>     <font color="#008080">r4</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r5</font>,#<font color="#ff00ff">0x00</font>
        <font color="#008080">xrl</font>     <font color="#008080">ar2</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r5</font>
        <font color="#008080">xrl</font>     <font color="#008080">ar3</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,#<font color="#ff00ff">0x04</font>
        <font color="#008080">anl</font>     <font color="#008080">a</font>,<font color="#008080">_lfsr</font>
        <font color="#008080">mov</font>     <font color="#008080">r4</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r5</font>,#<font color="#ff00ff">0x00</font>
        <font color="#008080">xrl</font>     <font color="#008080">ar2</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r5</font>
        <font color="#008080">xrl</font>     <font color="#008080">ar3</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,#<font color="#ff00ff">0x80</font>
        <font color="#008080">anl</font>     <font color="#008080">a</font>,<font color="#008080">_lfsr</font>
        <font color="#008080">mov</font>     <font color="#008080">r4</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r5</font>,#<font color="#ff00ff">0x00</font>
        <font color="#008080">xrl</font>     <font color="#008080">a</font>,<font color="#008080">r2</font>
        <font color="#008080">mov</font>     <font color="#008080">_fb</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r5</font>
        <font color="#008080">xrl</font>     <font color="#008080">a</font>,<font color="#008080">r3</font>
        <font color="#008080">mov</font>     (<font color="#008080">_fb</font> + <font color="#ff00ff">1</font>),<font color="#008080">a</font>
;<font color="#0000ff">       xmas2.c:18: lfsr=(lfsr&lt;&lt;1)+fb;</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">_lfsr</font>
        <font color="#008080">add</font>     <font color="#008080">a</font>,<font color="#008080">_lfsr</font>
        <font color="#008080">mov</font>     <font color="#008080">r2</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,(<font color="#008080">_lfsr</font> + <font color="#ff00ff">1</font>)
        <font color="#008080">rlc</font>     <font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r3</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">_fb</font>
        <font color="#008080">add</font>     <font color="#008080">a</font>,<font color="#008080">r2</font>
        <font color="#008080">mov</font>     <font color="#008080">_lfsr</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,(<font color="#008080">_fb</font> + <font color="#ff00ff">1</font>)
        <font color="#008080">addc</font>    <font color="#008080">a</font>,<font color="#008080">r3</font>
        <font color="#008080">mov</font>     (<font color="#008080">_lfsr</font> + <font color="#ff00ff">1</font>),<font color="#008080">a</font>
;<font color="#0000ff">       xmas2.c:19: return(unsigned char)(lfsr &amp; 0x0F);</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,#<font color="#ff00ff">0x0F</font>
        <font color="#008080">anl</font>     <font color="#008080">a</font>,<font color="#008080">_lfsr</font>
        <font color="#008080">mov</font>     <font color="#008080">r2</font>,<font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r3</font>,#<font color="#ff00ff">0x00</font>
        <font color="#008080">mov</font>     <font color="#008080">dpl</font>,<font color="#008080">r2</font>
        <font color="#008080">ret</font>
;<font color="#0000ff">------------------------------------------------------------</font>
;<font color="#0000ff">Allocation info for local variables in function 'main'</font>
;<font color="#0000ff">------------------------------------------------------------</font>
;<font color="#0000ff">step                      Allocated to registers r2 </font>
;<font color="#0000ff">step2                     Allocated to registers r6 </font>
;<font color="#0000ff">reg1                      Allocated to registers r5 </font>
;<font color="#0000ff">reg2                      Allocated to registers r6 </font>
;<font color="#0000ff">n                         Allocated to registers r3 </font>
;<font color="#0000ff">up                        Allocated to registers r4 </font>
;<font color="#0000ff">cntr                      Allocated to registers r7 </font>
;<font color="#0000ff">------------------------------------------------------------</font>
;<font color="#0000ff">       xmas2.c:23: int main(void)</font>
;<font color="#0000ff">       -----------------------------------------</font>
;<font color="#0000ff">        function main</font>
;<font color="#0000ff">       -----------------------------------------</font>
<font color="#008080">_main</font>:
;<font color="#0000ff">       xmas2.c:26: unsigned char step=6, step2,reg1, reg2, n=0, up=1, cntr;</font>
        <font color="#008080">mov</font>     <font color="#008080">r2</font>,#<font color="#ff00ff">0x06</font>
        <font color="#008080">mov</font>     <font color="#008080">r3</font>,#<font color="#ff00ff">0x00</font>
        <font color="#008080">mov</font>     <font color="#008080">r4</font>,#<font color="#ff00ff">0x01</font>
;<font color="#0000ff">       xmas2.c:30: reg1= rand() ; // The first random number</font>

        <font color="#008080">push</font>    <font color="#008080">ar2</font>
        <font color="#008080">push</font>    <font color="#008080">ar3</font>
        <font color="#008080">push</font>    <font color="#008080">ar4</font>
        <font color="#008080">lcall</font>   <font color="#008080">_rand</font>
        <font color="#008080">mov</font>     <font color="#008080">r5</font>,<font color="#008080">dpl</font>
        <font color="#008080">pop</font>     <font color="#008080">ar4</font>
        <font color="#008080">pop</font>     <font color="#008080">ar3</font>
        <font color="#008080">pop</font>     <font color="#008080">ar2</font>
;<font color="#0000ff">       xmas2.c:32: while (1)</font>
<font color="#ff00ff">0010</font><font color="#ff00ff">9</font>$:
;<font color="#0000ff">       xmas2.c:34: reg2= rand() ; // The second random number</font>
        <font color="#008080">push</font>    <font color="#008080">ar2</font>
        <font color="#008080">push</font>    <font color="#008080">ar3</font>
        <font color="#008080">push</font>    <font color="#008080">ar4</font>
        <font color="#008080">push</font>    <font color="#008080">ar5</font>
        <font color="#008080">lcall</font>   <font color="#008080">_rand</font>
        <font color="#008080">mov</font>     <font color="#008080">r6</font>,<font color="#008080">dpl</font>
        <font color="#008080">pop</font>     <font color="#008080">ar5</font>
        <font color="#008080">pop</font>     <font color="#008080">ar4</font>
        <font color="#008080">pop</font>     <font color="#008080">ar3</font>
        <font color="#008080">pop</font>     <font color="#008080">ar2</font>
;<font color="#0000ff">       xmas2.c:35: cntr= TOTAL; // Start with fresh counter</font>
        <font color="#008080">mov</font>     <font color="#008080">r7</font>,#<font color="#ff00ff">0xFC</font>
;<font color="#0000ff">       xmas2.c:37: while (1)</font>
<font color="#ff00ff">00106</font>$:
;<font color="#0000ff">       xmas2.c:39: n+=(up)?1:-1;</font>
;<font color="#0000ff">       genIfx</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r4</font>
        <font color="#008080">jz</font>      <font color="#ff00ff">00113</font>$
        <font color="#008080">mov</font>     <font color="#008080">r0</font>,#<font color="#ff00ff">0x01</font>
        <font color="#008080">sjmp</font>    <font color="#ff00ff">00114</font>$
<font color="#ff00ff">00113</font>$:
        <font color="#008080">mov</font>     <font color="#008080">r0</font>,#<font color="#ff00ff">0xFF</font>
<font color="#ff00ff">00114</font>$:

        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r0</font>
        <font color="#008080">add</font>     <font color="#008080">a</font>,<font color="#008080">r3</font>
        <font color="#008080">mov</font>     <font color="#008080">r3</font>,<font color="#008080">a</font>
;<font color="#0000ff">       xmas2.c:40: P1=(n&gt;cntr)?reg2:reg1;</font>
        <font color="#008080">clr</font>     <font color="#008080">c</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r7</font>
        <font color="#008080">subb</font>    <font color="#008080">a</font>,<font color="#008080">r3</font>
        <font color="#008080">jnc</font>     <font color="#ff00ff">00115</font>$
        <font color="#008080">mov</font>     <font color="#008080">ar0</font>,<font color="#008080">r6</font>
        <font color="#008080">sjmp</font>    <font color="#ff00ff">00116</font>$
<font color="#ff00ff">00115</font>$:
        <font color="#008080">mov</font>     <font color="#008080">ar0</font>,<font color="#008080">r5</font>
<font color="#ff00ff">00116</font>$:
        <font color="#008080">mov</font>     <font color="#008080">_P1</font>,<font color="#008080">r0</font>
;<font color="#0000ff">       xmas2.c:41: up=(n==255)?0:((n==0)?1:up);</font>
        <font color="#008080">cjne</font>    <font color="#008080">r3</font>,#<font color="#ff00ff">0xFF</font>,<font color="#ff00ff">00117</font>$
        <font color="#008080">mov</font>     <font color="#008080">r0</font>,#<font color="#ff00ff">0x00</font>
        <font color="#008080">sjmp</font>    <font color="#ff00ff">0011</font><font color="#ff00ff">8</font>$
<font color="#ff00ff">00117</font>$:
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r3</font>
        <font color="#008080">cjne</font>    <font color="#008080">a</font>,#<font color="#ff00ff">0x01</font>,<font color="#ff00ff">00136</font>$
<font color="#ff00ff">00136</font>$:
        <font color="#008080">clr</font>     <font color="#008080">a</font>
        <font color="#008080">rlc</font>     <font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r1</font>,<font color="#008080">a</font>
        <font color="#008080">jz</font>      <font color="#ff00ff">0011</font><font color="#ff00ff">9</font>$
        <font color="#008080">mov</font>     <font color="#008080">r1</font>,#<font color="#ff00ff">0x01</font>
        <font color="#008080">sjmp</font>    <font color="#ff00ff">00120</font>$
<font color="#ff00ff">0011</font><font color="#ff00ff">9</font>$:
        <font color="#008080">mov</font>     <font color="#008080">ar1</font>,<font color="#008080">r4</font>
<font color="#ff00ff">00120</font>$:
        <font color="#008080">mov</font>     <font color="#008080">ar0</font>,<font color="#008080">r1</font>
<font color="#ff00ff">0011</font><font color="#ff00ff">8</font>$:
        <font color="#008080">mov</font>     <font color="#008080">ar4</font>,<font color="#008080">r0</font>
;<font color="#0000ff">       xmas2.c:42: if (cntr==0) break;</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r7</font>
        <font color="#008080">jz</font>      <font color="#ff00ff">00107</font>$
        <font color="#008080">xmas2</font>.<font color="#008080">c</font>:<font color="#ff00ff">43</font>: <font color="#008080">if</font> (<font color="#008080">n</font>==0) <font color="#008080">cntr</font>-= <font color="#008080">step</font>;
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r3</font>
        <font color="#008080">jnz</font>     <font color="#ff00ff">00106</font>$
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">r7</font>
        <font color="#008080">clr</font>     <font color="#008080">c</font>
        <font color="#008080">subb</font>    <font color="#008080">a</font>,<font color="#008080">r2</font>
        <font color="#008080">mov</font>     <font color="#008080">r7</font>,<font color="#008080">a</font>
        <font color="#008080">sjmp</font>    <font color="#ff00ff">00106</font>$
<font color="#ff00ff">00107</font>$:
;<font color="#0000ff">       xmas2.c:46: reg1=reg2;</font>
        <font color="#008080">mov</font>     <font color="#008080">ar5</font>,<font color="#008080">r6</font>
;<font color="#0000ff">       xmas2.c:47: step2=rand();</font>
        <font color="#008080">push</font>    <font color="#008080">ar2</font>
        <font color="#008080">push</font>    <font color="#008080">ar3</font>
        <font color="#008080">push</font>    <font color="#008080">ar4</font>
        <font color="#008080">push</font>    <font color="#008080">ar5</font>
        <font color="#008080">lcall</font>   <font color="#008080">_rand</font>
        <font color="#008080">mov</font>     <font color="#008080">r6</font>,<font color="#008080">dpl</font>
        <font color="#008080">pop</font>     <font color="#008080">ar5</font>
        <font color="#008080">pop</font>     <font color="#008080">ar4</font>
        <font color="#008080">pop</font>     <font color="#008080">ar3</font>
        <font color="#008080">pop</font>     <font color="#008080">ar2</font>
;<font color="#0000ff">       xmas2.c:48: step=((TOTAL%step2)==0)?step2:step;</font>

        <font color="#008080">mov</font>     <font color="#008080">b</font>,<font color="#008080">r6</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,#<font color="#ff00ff">0xFC</font>
        <font color="#008080">div</font>     <font color="#008080">ab</font>
        <font color="#008080">mov</font>     <font color="#008080">a</font>,<font color="#008080">b</font>
        <font color="#008080">mov</font>     <font color="#008080">r7</font>,<font color="#008080">a</font>
        <font color="#008080">cjne</font>    <font color="#008080">a</font>,#<font color="#ff00ff">0x01</font>,<font color="#ff00ff">00140</font>$
<font color="#ff00ff">00140</font>$:
        <font color="#008080">clr</font>     <font color="#008080">a</font>
        <font color="#008080">rlc</font>     <font color="#008080">a</font>
        <font color="#008080">mov</font>     <font color="#008080">r7</font>,<font color="#008080">a</font>
        <font color="#008080">jz</font>      <font color="#ff00ff">00121</font>$
        <font color="#008080">sjmp</font>    <font color="#ff00ff">00122</font>$
<font color="#ff00ff">00121</font>$:
        <font color="#008080">mov</font>     <font color="#008080">ar6</font>,<font color="#008080">r2</font>
<font color="#ff00ff">00122</font>$:
        <font color="#008080">mov</font>     <font color="#008080">ar2</font>,<font color="#008080">r6</font>
        <font color="#008080">ljmp</font>    <font color="#ff00ff">0010</font><font color="#ff00ff">9</font>$
;
        <font color="#804040"><b>.area</b></font> <font color="#008080">CSEG</font>    (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">CONST</font>   (<font color="#008080">CODE</font>)
        <font color="#804040"><b>.area</b></font> <font color="#008080">XINIT</font>   (<font color="#008080">CODE</font>)
