FaxRxBuf2Flash.lst
上传用户:xhjmsc
上传日期:2019-09-13
资源大小:389k
文件大小:43k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. ##############################################################################
  2. #                                                                            #
  3. # IAR MSP430 C/EC++ Compiler V2.10A/W32                23/Apr/2007  18:04:09 #
  4. # Copyright 1996-2003 IAR Systems. All rights reserved.                      #
  5. #                                                                            #
  6. #    __rt_version  =  1                                                      #
  7. #    __double_size =  32                                                     #
  8. #    __reg_r4      =  free                                                   #
  9. #    __reg_r5      =  free                                                   #
  10. #    __pic         =  no                                                     #
  11. #    Source file   =  E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
  12. #                     filesFaxRxBuf2Flash.c                                 #
  13. #    Command line  =  -I "C:Program FilesIAR SystemsEmbedded Workbench    #
  14. #                     3.2430INC" -I "C:Program FilesIAR                 #
  15. #                     SystemsEmbedded Workbench 3.2430INCCLIB" -lCN     #
  16. #                     E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
  17. #                     DebugList -lA E:projectFaxProgramVson_Bryan_Fax_ #
  18. #                     Conexant_070423DebugList -o                         #
  19. #                     E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
  20. #                     DebugObj -z2 --no_cse --no_unroll --no_inline        #
  21. #                     --no_code_motion --debug -e                            #
  22. #                     E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
  23. #                     filesFaxRxBuf2Flash.c                                 #
  24. #    List file     =  E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
  25. #                     DebugListFaxRxBuf2Flash.lst                          #
  26. #    Object file   =  E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
  27. #                     DebugObjFaxRxBuf2Flash.r43                           #
  28. #                                                                            #
  29. #                                                                            #
  30. ##############################################################################
  31. E:projectFaxProgramVson_Bryan_Fax_Conexant_070423filesFaxRxBuf2Flash.c
  32.       1          
  33.       2          //**************************************************************************
  34.       3          
  35.       4          #include "includeH.h"
  36.                                     In segment DATA16_AN, at 0x28
  37.       unsigned char const volatile __data P2IN
  38.                         P2IN:
  39.       000000                        DS8 1
  40.                                     In segment DATA16_AN, at 0x29
  41.       unsigned char volatile __data P2OUT
  42.                         P2OUT:
  43.       000000                        DS8 1
  44.       5          
  45.                                     In segment CODE, align 2, keep-with-next
  46.       6          void  FaxRxBufRawdata2Flash(void)
  47.                         FaxRxBufRawdata2Flash:
  48.       7          {     
  49.       000000   0A12                 PUSH.W  R10
  50.       000002   0B12                 PUSH.W  R11
  51.       000004   0812                 PUSH.W  R8
  52.       000006   0912                 PUSH.W  R9
  53.       000008   0612                 PUSH.W  R6
  54.       00000A   0712                 PUSH.W  R7
  55.       00000C   0412                 PUSH.W  R4
  56.       00000E   0512                 PUSH.W  R5
  57.       000010   2183                 SUB.W   #0x2, SP
  58.       8                unsigned char 
  59.       9                              ucRxIndex=0,ucGeneralCnt=0,ucFlashSttsOverflowCnt=0,
  60.       000012   4B43                 MOV.B   #0x0, R11
  61.       000014   4A43                 MOV.B   #0x0, R10
  62.       000016   4543                 MOV.B   #0x0, R5
  63.      10                              ucBlockCnt=0;
  64.       000018   4943                 MOV.B   #0x0, R9
  65.      11                unsigned int  wPageCount=0,wRxBufPageRearAddress=0,
  66.       00001A   0643                 MOV.W   #0x0, R6
  67.       00001C   81430000             MOV.W   #0x0, 0x0(SP)
  68.      12                              wNextPageAddress=0,wPageAddress=cstFaxRxBufStartPage,
  69.       000020   0443                 MOV.W   #0x0, R4
  70.       000022   3840C004             MOV.W   #0x4c0, R8
  71.      13                              wEveryFaxHead=0;//wFaxPropertyNo=0;
  72.       000026   0743                 MOV.W   #0x0, R7
  73.      14          
  74.      15           
  75.      16          
  76.      17          
  77.      18                wRxBufPageRearAddress=gwPageAddress;//1226;//gwPageAddress;
  78.       000028   9142....0000         MOV.W   &gwPageAddress, 0x0(SP)
  79.      19                ViewCommunicationRX();//read fax time
  80.       00002E   B012....             CALL    #ViewCommunicationRX
  81.      20                for(ucGeneralCnt=0;ucGeneralCnt<255;ucGeneralCnt++)
  82.       000032   4A43                 MOV.B   #0x0, R10
  83.                         ??FaxRxBufRawdata2Flash_0:
  84.       000034   7A93                 CMP.B   #0xff, R10
  85.       000036   072C                 JC      ??FaxRxBufRawdata2Flash_13
  86.      21                 { 
  87.      22                      aucUartRxBuf[ucGeneralCnt]=0;    //clear RX buffer
  88.       000038   4E4A                 MOV.B   R10, R14
  89.       00003A   3EF0FF00             AND.W   #0xff, R14
  90.       00003E   CE43....             MOV.B   #0x0, aucUartRxBuf(R14)
  91.      23                 }  
  92.       000042   5A53                 ADD.B   #0x1, R10
  93.       000044   F73F                 JMP     ??FaxRxBufRawdata2Flash_0
  94.      24             
  95.      25             gdwRxQueueFrontCnt += 2048;
  96.                         ??FaxRxBufRawdata2Flash_13:
  97.       000046   B2500008....         ADD.W   #0x800, &gdwRxQueueFrontCnt
  98.       00004C   8263....             ADDC.W  #0x0, &gdwRxQueueFrontCnt + 0x2
  99.      26                 //Fax packet head ba 23 ba 23
  100.      27                            ucRxIndex=0; //write Fax Property
  101.       000050   4B43                 MOV.B   #0x0, R11
  102.      28             aucUartRxBuf[ucRxIndex++] = 0xba;
  103.       000052   4E4B                 MOV.B   R11, R14
  104.       000054   3EF0FF00             AND.W   #0xff, R14
  105.       000058   FE40BA00....         MOV.B   #0xba, aucUartRxBuf(R14)
  106.       00005E   5B53                 ADD.B   #0x1, R11
  107.      29             aucUartRxBuf[ucRxIndex++] = 0x23;
  108.       000060   4E4B                 MOV.B   R11, R14
  109.       000062   3EF0FF00             AND.W   #0xff, R14
  110.       000066   FE402300....         MOV.B   #0x23, aucUartRxBuf(R14)
  111.       00006C   5B53                 ADD.B   #0x1, R11
  112.      30             aucUartRxBuf[ucRxIndex++] = 0xba;
  113.       00006E   4E4B                 MOV.B   R11, R14
  114.       000070   3EF0FF00             AND.W   #0xff, R14
  115.       000074   FE40BA00....         MOV.B   #0xba, aucUartRxBuf(R14)
  116.       00007A   5B53                 ADD.B   #0x1, R11
  117.      31             aucUartRxBuf[ucRxIndex++] = 0x23;
  118.       00007C   4E4B                 MOV.B   R11, R14
  119.       00007E   3EF0FF00             AND.W   #0xff, R14
  120.       000082   FE402300....         MOV.B   #0x23, aucUartRxBuf(R14)
  121.       000088   5B53                 ADD.B   #0x1, R11
  122.      32                for(ucGeneralCnt=0;ucGeneralCnt<8;ucGeneralCnt++)
  123.       00008A   4A43                 MOV.B   #0x0, R10
  124.                         ??FaxRxBufRawdata2Flash_1:
  125.       00008C   7A92                 CMP.B   #0x8, R10
  126.       00008E   092C                 JC      ??FaxRxBufRawdata2Flash_14
  127.      33                {
  128.      34                   aucUartRxBuf[ucRxIndex++] = 0x55;
  129.       000090   4E4B                 MOV.B   R11, R14
  130.       000092   3EF0FF00             AND.W   #0xff, R14
  131.       000096   FE405500....         MOV.B   #0x55, aucUartRxBuf(R14)
  132.       00009C   5B53                 ADD.B   #0x1, R11
  133.      35                }
  134.       00009E   5A53                 ADD.B   #0x1, R10
  135.       0000A0   F53F                 JMP     ??FaxRxBufRawdata2Flash_1
  136.      36                //fax Length
  137.      37                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt & 0xff);
  138.                         ??FaxRxBufRawdata2Flash_14:
  139.       0000A2   4E4B                 MOV.B   R11, R14
  140.       0000A4   3EF0FF00             AND.W   #0xff, R14
  141.       0000A8   DE42........         MOV.B   &gdwRxQueueFrontCnt, aucUartRxBuf(R14)
  142.       0000AE   5B53                 ADD.B   #0x1, R11
  143.      38                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt >> 8) & 0xff;
  144.       0000B0   4E4B                 MOV.B   R11, R14
  145.       0000B2   3EF0FF00             AND.W   #0xff, R14
  146.       0000B6   1F42....             MOV.W   &gdwRxQueueFrontCnt, R15
  147.       0000BA   8F10                 SWPB    R15
  148.       0000BC   3FF0FF00             AND.W   #0xff, R15
  149.       0000C0   CE4F....             MOV.B   R15, aucUartRxBuf(R14)
  150.       0000C4   5B53                 ADD.B   #0x1, R11
  151.      39                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt>>16) & 0xff;
  152.       0000C6   4E4B                 MOV.B   R11, R14
  153.       0000C8   3EF0FF00             AND.W   #0xff, R14
  154.       0000CC   DE42........         MOV.B   &gdwRxQueueFrontCnt + 0x2, aucUartRxBuf(R14)
  155.       0000D2   5B53                 ADD.B   #0x1, R11
  156.      40                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt>>24) & 0xff;
  157.       0000D4   4C4B                 MOV.B   R11, R12
  158.       0000D6   3CF0FF00             AND.W   #0xff, R12
  159.       0000DA   1E42....             MOV.W   &gdwRxQueueFrontCnt, R14
  160.       0000DE   1F42....             MOV.W   &gdwRxQueueFrontCnt + 0x2, R15
  161.       0000E2   8F10                 SWPB    R15
  162.       0000E4   4E4F                 MOV.B   R15, R14
  163.       0000E6   0F43                 MOV.W   #0x0, R15
  164.       0000E8   CC4E....             MOV.B   R14, aucUartRxBuf(R12)
  165.       0000EC   5B53                 ADD.B   #0x1, R11
  166.      41                for(ucGeneralCnt=0;ucGeneralCnt<8;ucGeneralCnt++)
  167.       0000EE   4A43                 MOV.B   #0x0, R10
  168.                         ??FaxRxBufRawdata2Flash_2:
  169.       0000F0   7A92                 CMP.B   #0x8, R10
  170.       0000F2   092C                 JC      ??FaxRxBufRawdata2Flash_15
  171.      42                {
  172.      43                   aucUartRxBuf[ucRxIndex++] = 0x55;
  173.       0000F4   4E4B                 MOV.B   R11, R14
  174.       0000F6   3EF0FF00             AND.W   #0xff, R14
  175.       0000FA   FE405500....         MOV.B   #0x55, aucUartRxBuf(R14)
  176.       000100   5B53                 ADD.B   #0x1, R11
  177.      44                }
  178.       000102   5A53                 ADD.B   #0x1, R10
  179.       000104   F53F                 JMP     ??FaxRxBufRawdata2Flash_2
  180.      45                //fax time
  181.      46                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewSecondIndex];// //second
  182.                         ??FaxRxBufRawdata2Flash_15:
  183.       000106   4E4B                 MOV.B   R11, R14
  184.       000108   3EF0FF00             AND.W   #0xff, R14
  185.       00010C   DE42........         MOV.B   &aucViewData + 0x2, aucUartRxBuf(R14)
  186.       000112   5B53                 ADD.B   #0x1, R11
  187.      47                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewMinuteIndex];//  //minute
  188.       000114   4E4B                 MOV.B   R11, R14
  189.       000116   3EF0FF00             AND.W   #0xff, R14
  190.       00011A   DE42........         MOV.B   &aucViewData + 0x1, aucUartRxBuf(R14)
  191.       000120   5B53                 ADD.B   #0x1, R11
  192.      48                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewHourIndex];//hour
  193.       000122   4E4B                 MOV.B   R11, R14
  194.       000124   3EF0FF00             AND.W   #0xff, R14
  195.       000128   DE42........         MOV.B   &aucViewData, aucUartRxBuf(R14)
  196.       00012E   5B53                 ADD.B   #0x1, R11
  197.      49                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewDateIndex];//date
  198.       000130   4E4B                 MOV.B   R11, R14
  199.       000132   3EF0FF00             AND.W   #0xff, R14
  200.       000136   DE42........         MOV.B   &aucViewData + 0x4, aucUartRxBuf(R14)
  201.       00013C   5B53                 ADD.B   #0x1, R11
  202.      50                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewMonthIndex];//month
  203.       00013E   4E4B                 MOV.B   R11, R14
  204.       000140   3EF0FF00             AND.W   #0xff, R14
  205.       000144   DE42........         MOV.B   &aucViewData + 0x3, aucUartRxBuf(R14)
  206.       00014A   5B53                 ADD.B   #0x1, R11
  207.      51                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewYearIndex];//Year
  208.       00014C   4E4B                 MOV.B   R11, R14
  209.       00014E   3EF0FF00             AND.W   #0xff, R14
  210.       000152   DE42........         MOV.B   &aucViewData + 0x5, aucUartRxBuf(R14)
  211.       000158   5B53                 ADD.B   #0x1, R11
  212.      52                //fax Head and Rear Address
  213.      53                //aucUartRxBuf[ucRxIndex++] = wEveryFaxHead & 0xff;
  214.      54                //aucUartRxBuf[ucRxIndex++] = (wEveryFaxHead>>8) & 0xff;
  215.      55                //aucUartRxBuf[ucRxIndex++] = gwPageAddress & 0xff;
  216.      56                //aucUartRxBuf[ucRxIndex++] = (gwPageAddress>>8) & 0xff;
  217.      57                for(ucGeneralCnt=0;ucGeneralCnt<8;ucGeneralCnt++)
  218.       00015A   4A43                 MOV.B   #0x0, R10
  219.                         ??FaxRxBufRawdata2Flash_3:
  220.       00015C   7A92                 CMP.B   #0x8, R10
  221.       00015E   092C                 JC      ??FaxRxBufRawdata2Flash_16
  222.      58                {
  223.      59                   aucUartRxBuf[ucRxIndex++] = 0x55;
  224.       000160   4E4B                 MOV.B   R11, R14
  225.       000162   3EF0FF00             AND.W   #0xff, R14
  226.       000166   FE405500....         MOV.B   #0x55, aucUartRxBuf(R14)
  227.       00016C   5B53                 ADD.B   #0x1, R11
  228.      60                }
  229.       00016E   5A53                 ADD.B   #0x1, R10
  230.       000170   F53F                 JMP     ??FaxRxBufRawdata2Flash_3
  231.      61                
  232.      62                //fax Telephone Number
  233.      63                for (ucGeneralCnt=0; ucGeneralCnt<25; ucGeneralCnt++)
  234.                         ??FaxRxBufRawdata2Flash_16:
  235.       000172   4A43                 MOV.B   #0x0, R10
  236.                         ??FaxRxBufRawdata2Flash_4:
  237.       000174   7A901900             CMP.B   #0x19, R10
  238.       000178   0C2C                 JC      ??FaxRxBufRawdata2Flash_17
  239.      64                {
  240.      65                   aucUartRxBuf[ucRxIndex++] = FRHTSI[ucGeneralCnt];
  241.       00017A   4F4B                 MOV.B   R11, R15
  242.       00017C   3FF0FF00             AND.W   #0xff, R15
  243.       000180   4E4A                 MOV.B   R10, R14
  244.       000182   3EF0FF00             AND.W   #0xff, R14
  245.       000186   DF4E........         MOV.B   FRHTSI(R14), aucUartRxBuf(R15)
  246.       00018C   5B53                 ADD.B   #0x1, R11
  247.      66                }
  248.       00018E   5A53                 ADD.B   #0x1, R10
  249.       000190   F13F                 JMP     ??FaxRxBufRawdata2Flash_4
  250.      67                for(ucGeneralCnt=0;ucGeneralCnt<8;ucGeneralCnt++)
  251.                         ??FaxRxBufRawdata2Flash_17:
  252.       000192   4A43                 MOV.B   #0x0, R10
  253.                         ??FaxRxBufRawdata2Flash_5:
  254.       000194   7A92                 CMP.B   #0x8, R10
  255.       000196   092C                 JC      ??FaxRxBufRawdata2Flash_18
  256.      68                {
  257.      69                   aucUartRxBuf[ucRxIndex++] = 0x55;
  258.       000198   4E4B                 MOV.B   R11, R14
  259.       00019A   3EF0FF00             AND.W   #0xff, R14
  260.       00019E   FE405500....         MOV.B   #0x55, aucUartRxBuf(R14)
  261.       0001A4   5B53                 ADD.B   #0x1, R11
  262.      70                }
  263.       0001A6   5A53                 ADD.B   #0x1, R10
  264.       0001A8   F53F                 JMP     ??FaxRxBufRawdata2Flash_5
  265.      71                
  266.      72                //wPageAddress = cstFaxRxBufFirstPage;
  267.      73                ZERO_ADDRESS();
  268.                         ??FaxRxBufRawdata2Flash_18:
  269.       0001AA   B012....             CALL    #ZERO_ADDRESS
  270.      74                ROW_ADDRESS_LOW = wPageAddress & 0XFF;
  271.       0001AE   C248....             MOV.B   R8, &ROW_ADDRESS_LOW
  272.      75                ROW_ADDRESS_HIGH = (wPageAddress>>8) & 0XFF;
  273.       0001B2   0E48                 MOV.W   R8, R14
  274.       0001B4   8E10                 SWPB    R14
  275.       0001B6   3EF0FF00             AND.W   #0xff, R14
  276.       0001BA   C24E....             MOV.B   R14, &ROW_ADDRESS_HIGH
  277.      76                PROGRAM_256_BYTE();                         
  278.       0001BE   B012....             CALL    #PROGRAM_256_BYTE
  279.      77             //find the rear pointer in the Fax Rear Area
  280.      78             //wRxBufPageRearAddress=gwPageAddress;//1226;//gwPageAddress;
  281.      79                ReadLastFaxRearPointer();//return gwPageAddress
  282.       0001C2   7E401200             MOV.B   #0x12, R14
  283.       0001C6   7C400F00             MOV.B   #0xf, R12
  284.       0001CA   B012....             CALL    #ReadLast16BytesFromFlashMemoryArea
  285.      80                //ReadLast16BytesFromFlashMemoryArea(cstFaxRearPointerTableStartBlockNum, cstFaxRearPointerTableOverBlockNum);//return gwPageAddress
  286.      81                gwPageAddress++;
  287.       0001CE   9253....             ADD.W   #0x1, &gwPageAddress
  288.      82                       //check the gwPageAddress whether it is a page in bad block 
  289.      83                       do{
  290.      84                        wNextPageAddress=gwPageAddress+64;
  291.                         ??FaxRxBufRawdata2Flash_6:
  292.       0001D2   3E404000             MOV.W   #0x40, R14
  293.       0001D6   1E52....             ADD.W   &gwPageAddress, R14
  294.       0001DA   044E                 MOV.W   R14, R4
  295.      85                        gwPageAddress=CalNextPageAddress(gwPageAddress);
  296.       0001DC   1C42....             MOV.W   &gwPageAddress, R12
  297.       0001E0   B012....             CALL    #CalNextPageAddress
  298.       0001E4   824C....             MOV.W   R12, &gwPageAddress
  299.      86                        }while(wNextPageAddress==gwPageAddress);
  300.       0001E8   1492....             CMP.W   &gwPageAddress, R4
  301.       0001EC   F227                 JEQ     ??FaxRxBufRawdata2Flash_6
  302.      87                      //erase next block
  303.      88                      if (gwPageAddress%64==0)
  304.       0001EE   1C42....             MOV.W   &gwPageAddress, R12
  305.       0001F2   3E404000             MOV.W   #0x40, R14
  306.       0001F6   B012....             CALL    #?DivMod16u
  307.       0001FA   0E93                 CMP.W   #0x0, R14
  308.       0001FC   0C20                 JNE     ??FaxRxBufRawdata2Flash_19
  309.      89                         {
  310.      90                            ROW_ADDRESS_LOW=gwPageAddress & 0XFF;
  311.       0001FE   D242........         MOV.B   &gwPageAddress, &ROW_ADDRESS_LOW
  312.      91                            ROW_ADDRESS_HIGH=(gwPageAddress>>8) & 0XFF; 
  313.       000204   1E42....             MOV.W   &gwPageAddress, R14
  314.       000208   8E10                 SWPB    R14
  315.       00020A   3EF0FF00             AND.W   #0xff, R14
  316.       00020E   C24E....             MOV.B   R14, &ROW_ADDRESS_HIGH
  317.      92                            ERASE_ONE_BLOCK();
  318.       000212   B012....             CALL    #ERASE_ONE_BLOCK
  319.      93                         }
  320.      94                wEveryFaxHead=gwPageAddress;//Record the Every Fax head for the Every fax table
  321.                         ??FaxRxBufRawdata2Flash_19:
  322.       000216   1742....             MOV.W   &gwPageAddress, R7
  323.      95                        
  324.      96                  for (wPageCount=cstFaxRxBufStartPage;wPageCount<=wRxBufPageRearAddress;wPageCount++)//Block 19-39
  325.       00021A   3640C004             MOV.W   #0x4c0, R6
  326.                         ??FaxRxBufRawdata2Flash_9:
  327.       00021E   81960000             CMP.W   R6, 0x0(SP)
  328.       000222   7828                 JNC     ??FaxRxBufRawdata2Flash_20
  329.      97                  {
  330.      98              COMMAND_VAL=0x00; //#0X00 //00H READ1 0-2112BYTE
  331.       000224   C243....             MOV.B   #0x0, &COMMAND_VAL
  332.      99           COMMAND_LATCH_INTO();
  333.       000228   B012....             CALL    #COMMAND_LATCH_INTO
  334.     100          //ADDRESS
  335.     101           ADDRESS_VALUE=0;//COLUMN_ADDRESS_LOW; //#0X00
  336.       00022C   C243....             MOV.B   #0x0, &ADDRESS_VALUE
  337.     102           ADDRESS_LATCH_INTO();
  338.       000230   B012....             CALL    #ADDRESS_LATCH_INTO
  339.     103          
  340.     104           ADDRESS_VALUE=0;//COLUMN_ADDRESS_HIGH; //#0X00
  341.       000234   C243....             MOV.B   #0x0, &ADDRESS_VALUE
  342.     105           ADDRESS_LATCH_INTO();
  343.       000238   B012....             CALL    #ADDRESS_LATCH_INTO
  344.     106          
  345.     107           ADDRESS_VALUE= wPageCount & 0xff ; //#0X00
  346.       00023C   C246....             MOV.B   R6, &ADDRESS_VALUE
  347.     108           ADDRESS_LATCH_INTO();
  348.       000240   B012....             CALL    #ADDRESS_LATCH_INTO
  349.     109          
  350.     110           ADDRESS_VALUE= (wPageCount>>8) & 0xff; //#0X00
  351.       000244   0E46                 MOV.W   R6, R14
  352.       000246   8E10                 SWPB    R14
  353.       000248   3EF0FF00             AND.W   #0xff, R14
  354.       00024C   C24E....             MOV.B   R14, &ADDRESS_VALUE
  355.     111           ADDRESS_LATCH_INTO();
  356.       000250   B012....             CALL    #ADDRESS_LATCH_INTO
  357.     112           FLASH_CON_PORT_OUT &=~ ALE;
  358.       000254   E2C32900             BIC.B   #0x2, &0x29
  359.     113          
  360.     114           COMMAND_VAL=0X35;
  361.       000258   F2403500....         MOV.B   #0x35, &COMMAND_VAL
  362.     115           COMMAND_LATCH_INTO();
  363.       00025E   B012....             CALL    #COMMAND_LATCH_INTO
  364.     116           //ATcmdDelay();
  365.     117           while((FLASH_CON_PORT_IN & RB)==0);
  366.                         ??FaxRxBufRawdata2Flash_7:
  367.       000262   F2B020002800         BIT.B   #0x20, &0x28
  368.       000268   FC2B                 JNC     ??FaxRxBufRawdata2Flash_7
  369.     118             
  370.     119             COMMAND_VAL=0x85;
  371.       00026A   F2408500....         MOV.B   #0x85, &COMMAND_VAL
  372.     120           COMMAND_LATCH_INTO();
  373.       000270   B012....             CALL    #COMMAND_LATCH_INTO
  374.     121          
  375.     122          //ADDRESS
  376.     123           ADDRESS_VALUE=0;//COLUMN_ADDRESS_LOW; //#0X00
  377.       000274   C243....             MOV.B   #0x0, &ADDRESS_VALUE
  378.     124           ADDRESS_LATCH_INTO();
  379.       000278   B012....             CALL    #ADDRESS_LATCH_INTO
  380.     125          
  381.     126           ADDRESS_VALUE=0;//COLUMN_ADDRESS_HIGH; //#0X00
  382.       00027C   C243....             MOV.B   #0x0, &ADDRESS_VALUE
  383.     127           ADDRESS_LATCH_INTO();
  384.       000280   B012....             CALL    #ADDRESS_LATCH_INTO
  385.     128          
  386.     129           ADDRESS_VALUE= gwPageAddress & 0xff; //#0X00
  387.       000284   D242........         MOV.B   &gwPageAddress, &ADDRESS_VALUE
  388.     130           ADDRESS_LATCH_INTO();
  389.       00028A   B012....             CALL    #ADDRESS_LATCH_INTO
  390.     131          
  391.     132           ADDRESS_VALUE=(gwPageAddress>>8) & 0xff; //#0X00
  392.       00028E   1E42....             MOV.W   &gwPageAddress, R14
  393.       000292   8E10                 SWPB    R14
  394.       000294   3EF0FF00             AND.W   #0xff, R14
  395.       000298   C24E....             MOV.B   R14, &ADDRESS_VALUE
  396.     133           ADDRESS_LATCH_INTO();
  397.       00029C   B012....             CALL    #ADDRESS_LATCH_INTO
  398.     134          
  399.     135           FLASH_CON_PORT_OUT &=~ ALE;
  400.       0002A0   E2C32900             BIC.B   #0x2, &0x29
  401.     136          
  402.     137           COMMAND_VAL=cFlashWriteInitiateCmd; //10H INITIATES PROGRAM
  403.       0002A4   F2401000....         MOV.B   #0x10, &COMMAND_VAL
  404.     138           COMMAND_LATCH_INTO();
  405.       0002AA   B012....             CALL    #COMMAND_LATCH_INTO
  406.     139          
  407.     140           READ_STATUS();
  408.       0002AE   B012....             CALL    #READ_STATUS
  409.     141           ucFlashSttsOverflowCnt=0;
  410.       0002B2   4543                 MOV.B   #0x0, R5
  411.     142           if(FLASH_STATUS==1&&(ucFlashSttsOverflowCnt++)<2)
  412.       0002B4   D293....             CMP.B   #0x1, &FLASH_STATUS
  413.       0002B8   0120                 JNE     ??FaxRxBufRawdata2Flash_21
  414.       0002BA   5553                 ADD.B   #0x1, R5
  415.     143           {
  416.     144           ;
  417.     145           }
  418.     146                          gwPageAddress++;
  419.                         ??FaxRxBufRawdata2Flash_21:
  420.       0002BC   9253....             ADD.W   #0x1, &gwPageAddress
  421.     147                          if (gwPageAddress==0) gwPageAddress+=cstFaxContentStartPage;
  422.       0002C0   8293....             CMP.W   #0x0, &gwPageAddress
  423.       0002C4   0320                 JNE     ??FaxRxBufRawdata2Flash_8
  424.       0002C6   B2500014....         ADD.W   #0x1400, &gwPageAddress
  425.     148                       do{
  426.     149                        wNextPageAddress=gwPageAddress+64;
  427.                         ??FaxRxBufRawdata2Flash_8:
  428.       0002CC   3E404000             MOV.W   #0x40, R14
  429.       0002D0   1E52....             ADD.W   &gwPageAddress, R14
  430.       0002D4   044E                 MOV.W   R14, R4
  431.     150                        gwPageAddress=CalNextPageAddress(gwPageAddress);
  432.       0002D6   1C42....             MOV.W   &gwPageAddress, R12
  433.       0002DA   B012....             CALL    #CalNextPageAddress
  434.       0002DE   824C....             MOV.W   R12, &gwPageAddress
  435.     151                        }while(wNextPageAddress==gwPageAddress);
  436.       0002E2   1492....             CMP.W   &gwPageAddress, R4
  437.       0002E6   F227                 JEQ     ??FaxRxBufRawdata2Flash_8
  438.     152                      if (gwPageAddress%64==0)
  439.       0002E8   1C42....             MOV.W   &gwPageAddress, R12
  440.       0002EC   3E404000             MOV.W   #0x40, R14
  441.       0002F0   B012....             CALL    #?DivMod16u
  442.       0002F4   0E93                 CMP.W   #0x0, R14
  443.       0002F6   0C20                 JNE     ??FaxRxBufRawdata2Flash_22
  444.     153                         {
  445.     154                            ROW_ADDRESS_LOW=gwPageAddress & 0XFF;
  446.       0002F8   D242........         MOV.B   &gwPageAddress, &ROW_ADDRESS_LOW
  447.     155                            ROW_ADDRESS_HIGH=(gwPageAddress>>8) & 0XFF; 
  448.       0002FE   1E42....             MOV.W   &gwPageAddress, R14
  449.       000302   8E10                 SWPB    R14
  450.       000304   3EF0FF00             AND.W   #0xff, R14
  451.       000308   C24E....             MOV.B   R14, &ROW_ADDRESS_HIGH
  452.     156                            ERASE_ONE_BLOCK();
  453.       00030C   B012....             CALL    #ERASE_ONE_BLOCK
  454.     157                         }
  455.     158                  //if ((aucUartRxBuf[ucRxIndex] == 0xfb && aucUartRxBuf[ucRxIndex-1] == 0x13 
  456.     159                //&& aucUartRxBuf[ucRxIndex-2] == 0xff))// || (wRxQueueFrontCnt>gwRxQueueFrontCnt))
  457.     160                   //break;
  458.     161                  }//write 1344 pages over        
  459.                         ??FaxRxBufRawdata2Flash_22:
  460.       000310   1653                 ADD.W   #0x1, R6
  461.       000312   853F                 JMP     ??FaxRxBufRawdata2Flash_9
  462.     162                        
  463.     163                /*******************************************      
  464.     164          Write New Fax Rear Pointer
  465.     165                if (FaxRearPointerTableFull)
  466.     166                 {erase next block in fax rear pointer table}
  467.     167                else
  468.     168                 write one Fax content
  469.     169          *******************************************/
  470.     170                if ((gwGeneralPageAddress>>6) > cstFaxRearPointerTableOverBlockNum)
  471.                         ??FaxRxBufRawdata2Flash_20:
  472.       000314   1C42....             MOV.W   &gwGeneralPageAddress, R12
  473.       000318   B012....             CALL    #?ShiftRight16u_6
  474.       00031C   3C901300             CMP.W   #0x13, R12
  475.       000320   1C28                 JNC     ??FaxRxBufRawdata2Flash_23
  476.     171                 {
  477.     172                   for (ucBlockCnt=0;ucBlockCnt<4;ucBlockCnt++)
  478.       000322   4943                 MOV.B   #0x0, R9
  479.                         ??FaxRxBufRawdata2Flash_10:
  480.       000324   6992                 CMP.B   #0x4, R9
  481.       000326   142C                 JC      ??FaxRxBufRawdata2Flash_24
  482.     173                   {
  483.     174                           wPageAddress=(cstFaxRearPointerTableStartBlockNum+ucBlockCnt)<<6;
  484.       000328   4C49                 MOV.B   R9, R12
  485.       00032A   3CF0FF00             AND.W   #0xff, R12
  486.       00032E   3C500F00             ADD.W   #0xf, R12
  487.       000332   B012....             CALL    #?ShiftLeft16_6
  488.       000336   084C                 MOV.W   R12, R8
  489.     175                     ROW_ADDRESS_LOW=wPageAddress & 0XFF;
  490.       000338   C248....             MOV.B   R8, &ROW_ADDRESS_LOW
  491.     176                     ROW_ADDRESS_HIGH=(wPageAddress>>8) & 0XFF; 
  492.       00033C   0E48                 MOV.W   R8, R14
  493.       00033E   8E10                 SWPB    R14
  494.       000340   3EF0FF00             AND.W   #0xff, R14
  495.       000344   C24E....             MOV.B   R14, &ROW_ADDRESS_HIGH
  496.     177                     ERASE_ONE_BLOCK();
  497.       000348   B012....             CALL    #ERASE_ONE_BLOCK
  498.     178                   }
  499.       00034C   5953                 ADD.B   #0x1, R9
  500.       00034E   EA3F                 JMP     ??FaxRxBufRawdata2Flash_10
  501.     179                   gwGeneralPageAddress=cstFaxRearPointerTableStartPage;
  502.                         ??FaxRxBufRawdata2Flash_24:
  503.       000350   B240C003....         MOV.W   #0x3c0, &gwGeneralPageAddress
  504.     180                   gwColumnAddress=0;
  505.       000356   8243....             MOV.W   #0x0, &gwColumnAddress
  506.     181                   
  507.     182                 }
  508.     183                ucRxIndex=0; //write Fax Rear Pointer
  509.                         ??FaxRxBufRawdata2Flash_23:
  510.       00035A   4B43                 MOV.B   #0x0, R11
  511.     184                gwPageAddress--; // get Rear Pointer
  512.       00035C   B253....             ADD.W   #0xffff, &gwPageAddress
  513.     185                aucUartRxBuf[ucRxIndex++]=gwPageAddress & 0xff;
  514.       000360   4E4B                 MOV.B   R11, R14
  515.       000362   3EF0FF00             AND.W   #0xff, R14
  516.       000366   DE42........         MOV.B   &gwPageAddress, aucUartRxBuf(R14)
  517.       00036C   5B53                 ADD.B   #0x1, R11
  518.     186                aucUartRxBuf[ucRxIndex++]=(gwPageAddress>>8) & 0xff;
  519.       00036E   4E4B                 MOV.B   R11, R14
  520.       000370   3EF0FF00             AND.W   #0xff, R14
  521.       000374   1F42....             MOV.W   &gwPageAddress, R15
  522.       000378   8F10                 SWPB    R15
  523.       00037A   3FF0FF00             AND.W   #0xff, R15
  524.       00037E   CE4F....             MOV.B   R15, aucUartRxBuf(R14)
  525.       000382   5B53                 ADD.B   #0x1, R11
  526.     187                for(ucGeneralCnt=0;ucGeneralCnt<14;ucGeneralCnt++)
  527.       000384   4A43                 MOV.B   #0x0, R10
  528.                         ??FaxRxBufRawdata2Flash_11:
  529.       000386   7A900E00             CMP.B   #0xe, R10
  530.       00038A   092C                 JC      ??FaxRxBufRawdata2Flash_25
  531.     188                {
  532.     189                   aucUartRxBuf[ucRxIndex++] = 0x55;
  533.       00038C   4E4B                 MOV.B   R11, R14
  534.       00038E   3EF0FF00             AND.W   #0xff, R14
  535.       000392   FE405500....         MOV.B   #0x55, aucUartRxBuf(R14)
  536.       000398   5B53                 ADD.B   #0x1, R11
  537.     190                }
  538.       00039A   5A53                 ADD.B   #0x1, R10
  539.       00039C   F43F                 JMP     ??FaxRxBufRawdata2Flash_11
  540.     191                  
  541.     192                //WriteFaxRearPointerTable();
  542.     193                Write16Bytes2FlashMemoryArea();
  543.                         ??FaxRxBufRawdata2Flash_25:
  544.       00039E   B012....             CALL    #Write16Bytes2FlashMemoryArea
  545.     194          /*******************************************      
  546.     195          Write Fax Property Table
  547.     196                if (Fax Property Table Full)
  548.     197                 {erase next block in Fax Property Table}
  549.     198                else
  550.     199                 write one Fax Property
  551.     200          *******************************************/
  552.     201                ReadLastFaxProperty();
  553.       0003A2   7E400A00             MOV.B   #0xa, R14
  554.       0003A6   5C43                 MOV.B   #0x1, R12
  555.       0003A8   B012....             CALL    #ReadLast16BytesFromFlashMemoryArea
  556.     202                //ReadLast16BytesFromFlashMemoryArea(cstFaxPropertyTableStartBlockNum, cstFaxPropertyTableOverBlockNum);
  557.     203                if ((gwGeneralPageAddress>>6) > cstFaxPropertyTableOverBlockNum)//>=cstFaxPropertyTableOverBlockNum)
  558.       0003AC   1C42....             MOV.W   &gwGeneralPageAddress, R12
  559.       0003B0   B012....             CALL    #?ShiftRight16u_6
  560.       0003B4   3C900B00             CMP.W   #0xb, R12
  561.       0003B8   1C28                 JNC     ??FaxRxBufRawdata2Flash_26
  562.     204                 {
  563.     205                 for (ucBlockCnt=0;ucBlockCnt<10;ucBlockCnt++)
  564.       0003BA   4943                 MOV.B   #0x0, R9
  565.                         ??FaxRxBufRawdata2Flash_12:
  566.       0003BC   79900A00             CMP.B   #0xa, R9
  567.       0003C0   132C                 JC      ??FaxRxBufRawdata2Flash_27
  568.     206                   {
  569.     207                     wPageAddress=(cstFaxPropertyTableStartBlockNum+ucBlockCnt)<<6;
  570.       0003C2   4C49                 MOV.B   R9, R12
  571.       0003C4   3CF0FF00             AND.W   #0xff, R12
  572.       0003C8   1C53                 ADD.W   #0x1, R12
  573.       0003CA   B012....             CALL    #?ShiftLeft16_6
  574.       0003CE   084C                 MOV.W   R12, R8
  575.     208                     ROW_ADDRESS_LOW=wPageAddress & 0XFF;
  576.       0003D0   C248....             MOV.B   R8, &ROW_ADDRESS_LOW
  577.     209                     ROW_ADDRESS_HIGH=(wPageAddress>>8) & 0XFF; 
  578.       0003D4   0E48                 MOV.W   R8, R14
  579.       0003D6   8E10                 SWPB    R14
  580.       0003D8   3EF0FF00             AND.W   #0xff, R14
  581.       0003DC   C24E....             MOV.B   R14, &ROW_ADDRESS_HIGH
  582.     210                     ERASE_ONE_BLOCK();
  583.       0003E0   B012....             CALL    #ERASE_ONE_BLOCK
  584.     211                   }
  585.       0003E4   5953                 ADD.B   #0x1, R9
  586.       0003E6   EA3F                 JMP     ??FaxRxBufRawdata2Flash_12
  587.     212                   gwGeneralPageAddress=cstFaxPropertyTableStartPage;
  588.                         ??FaxRxBufRawdata2Flash_27:
  589.       0003E8   B2404000....         MOV.W   #0x40, &gwGeneralPageAddress
  590.     213                   gwColumnAddress=0;
  591.       0003EE   8243....             MOV.W   #0x0, &gwColumnAddress
  592.     214                 }
  593.     215                
  594.     216                ucRxIndex=0; //write Fax Property
  595.                         ??FaxRxBufRawdata2Flash_26:
  596.       0003F2   4B43                 MOV.B   #0x0, R11
  597.     217                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewSecondIndex];// //second
  598.       0003F4   4E4B                 MOV.B   R11, R14
  599.       0003F6   3EF0FF00             AND.W   #0xff, R14
  600.       0003FA   DE42........         MOV.B   &aucViewData + 0x2, aucUartRxBuf(R14)
  601.       000400   5B53                 ADD.B   #0x1, R11
  602.     218                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewMinuteIndex];//  //minute
  603.       000402   4E4B                 MOV.B   R11, R14
  604.       000404   3EF0FF00             AND.W   #0xff, R14
  605.       000408   DE42........         MOV.B   &aucViewData + 0x1, aucUartRxBuf(R14)
  606.       00040E   5B53                 ADD.B   #0x1, R11
  607.     219                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewHourIndex];//hour
  608.       000410   4E4B                 MOV.B   R11, R14
  609.       000412   3EF0FF00             AND.W   #0xff, R14
  610.       000416   DE42........         MOV.B   &aucViewData, aucUartRxBuf(R14)
  611.       00041C   5B53                 ADD.B   #0x1, R11
  612.     220                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewDateIndex];//date
  613.       00041E   4E4B                 MOV.B   R11, R14
  614.       000420   3EF0FF00             AND.W   #0xff, R14
  615.       000424   DE42........         MOV.B   &aucViewData + 0x4, aucUartRxBuf(R14)
  616.       00042A   5B53                 ADD.B   #0x1, R11
  617.     221                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewMonthIndex];//month
  618.       00042C   4E4B                 MOV.B   R11, R14
  619.       00042E   3EF0FF00             AND.W   #0xff, R14
  620.       000432   DE42........         MOV.B   &aucViewData + 0x3, aucUartRxBuf(R14)
  621.       000438   5B53                 ADD.B   #0x1, R11
  622.     222                aucUartRxBuf[ucRxIndex++] = aucViewData[cstViewYearIndex];//Year
  623.       00043A   4E4B                 MOV.B   R11, R14
  624.       00043C   3EF0FF00             AND.W   #0xff, R14
  625.       000440   DE42........         MOV.B   &aucViewData + 0x5, aucUartRxBuf(R14)
  626.       000446   5B53                 ADD.B   #0x1, R11
  627.     223                aucUartRxBuf[ucRxIndex++] = wEveryFaxHead & 0xff;
  628.       000448   4E4B                 MOV.B   R11, R14
  629.       00044A   3EF0FF00             AND.W   #0xff, R14
  630.       00044E   CE47....             MOV.B   R7, aucUartRxBuf(R14)
  631.       000452   5B53                 ADD.B   #0x1, R11
  632.     224                aucUartRxBuf[ucRxIndex++] = (wEveryFaxHead>>8) & 0xff;
  633.       000454   4F4B                 MOV.B   R11, R15
  634.       000456   3FF0FF00             AND.W   #0xff, R15
  635.       00045A   0E47                 MOV.W   R7, R14
  636.       00045C   8E10                 SWPB    R14
  637.       00045E   3EF0FF00             AND.W   #0xff, R14
  638.       000462   CF4E....             MOV.B   R14, aucUartRxBuf(R15)
  639.       000466   5B53                 ADD.B   #0x1, R11
  640.     225                aucUartRxBuf[ucRxIndex++] = gwPageAddress & 0xff;
  641.       000468   4E4B                 MOV.B   R11, R14
  642.       00046A   3EF0FF00             AND.W   #0xff, R14
  643.       00046E   DE42........         MOV.B   &gwPageAddress, aucUartRxBuf(R14)
  644.       000474   5B53                 ADD.B   #0x1, R11
  645.     226                aucUartRxBuf[ucRxIndex++] = (gwPageAddress>>8) & 0xff;
  646.       000476   4E4B                 MOV.B   R11, R14
  647.       000478   3EF0FF00             AND.W   #0xff, R14
  648.       00047C   1F42....             MOV.W   &gwPageAddress, R15
  649.       000480   8F10                 SWPB    R15
  650.       000482   3FF0FF00             AND.W   #0xff, R15
  651.       000486   CE4F....             MOV.B   R15, aucUartRxBuf(R14)
  652.       00048A   5B53                 ADD.B   #0x1, R11
  653.     227                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt & 0xff);
  654.       00048C   4E4B                 MOV.B   R11, R14
  655.       00048E   3EF0FF00             AND.W   #0xff, R14
  656.       000492   DE42........         MOV.B   &gdwRxQueueFrontCnt, aucUartRxBuf(R14)
  657.       000498   5B53                 ADD.B   #0x1, R11
  658.     228                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt >> 8) & 0xff;
  659.       00049A   4E4B                 MOV.B   R11, R14
  660.       00049C   3EF0FF00             AND.W   #0xff, R14
  661.       0004A0   1F42....             MOV.W   &gdwRxQueueFrontCnt, R15
  662.       0004A4   8F10                 SWPB    R15
  663.       0004A6   3FF0FF00             AND.W   #0xff, R15
  664.       0004AA   CE4F....             MOV.B   R15, aucUartRxBuf(R14)
  665.       0004AE   5B53                 ADD.B   #0x1, R11
  666.     229                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt>>16) & 0xff;
  667.       0004B0   4E4B                 MOV.B   R11, R14
  668.       0004B2   3EF0FF00             AND.W   #0xff, R14
  669.       0004B6   DE42........         MOV.B   &gdwRxQueueFrontCnt + 0x2, aucUartRxBuf(R14)
  670.       0004BC   5B53                 ADD.B   #0x1, R11
  671.     230                aucUartRxBuf[ucRxIndex++] = (gdwRxQueueFrontCnt>>24) & 0xff;
  672.       0004BE   4C4B                 MOV.B   R11, R12
  673.       0004C0   3CF0FF00             AND.W   #0xff, R12
  674.       0004C4   1E42....             MOV.W   &gdwRxQueueFrontCnt, R14
  675.       0004C8   1F42....             MOV.W   &gdwRxQueueFrontCnt + 0x2, R15
  676.       0004CC   8F10                 SWPB    R15
  677.       0004CE   4E4F                 MOV.B   R15, R14
  678.       0004D0   0F43                 MOV.W   #0x0, R15
  679.       0004D2   CC4E....             MOV.B   R14, aucUartRxBuf(R12)
  680.       0004D6   5B53                 ADD.B   #0x1, R11
  681.     231          
  682.     232                aucUartRxBuf[ucRxIndex++]=0x55;
  683.       0004D8   4E4B                 MOV.B   R11, R14
  684.       0004DA   3EF0FF00             AND.W   #0xff, R14
  685.       0004DE   FE405500....         MOV.B   #0x55, aucUartRxBuf(R14)
  686.       0004E4   5B53                 ADD.B   #0x1, R11
  687.     233                aucUartRxBuf[ucRxIndex++]=0x55;                              //15
  688.       0004E6   4E4B                 MOV.B   R11, R14
  689.       0004E8   3EF0FF00             AND.W   #0xff, R14
  690.       0004EC   FE405500....         MOV.B   #0x55, aucUartRxBuf(R14)
  691.       0004F2   5B53                 ADD.B   #0x1, R11
  692.     234                //WriteFaxPropertyTable();
  693.     235                Write16Bytes2FlashMemoryArea();             
  694.       0004F4   B012....             CALL    #Write16Bytes2FlashMemoryArea
  695.     236          }//FaxRXProcess
  696.       0004F8   2153                 ADD.W   #0x2, SP
  697.       0004FA   3040....             BR      #?Epilogue8
  698.     237          
  699.    Maximum stack usage in bytes:
  700.      Function                       CSTACK
  701.      --------                       ------
  702.      FaxRxBufRawdata2Flash             20
  703.        -> ViewCommunicationRX          20
  704.        -> ZERO_ADDRESS                 20
  705.        -> PROGRAM_256_BYTE             20
  706.        -> ReadLast16BytesFromFlashMemoryArea
  707.                                        20
  708.        -> CalNextPageAddress           20
  709.        -> ERASE_ONE_BLOCK              20
  710.        -> COMMAND_LATCH_INTO           20
  711.        -> ADDRESS_LATCH_INTO           20
  712.        -> ADDRESS_LATCH_INTO           20
  713.        -> ADDRESS_LATCH_INTO           20
  714.        -> ADDRESS_LATCH_INTO           20
  715.        -> COMMAND_LATCH_INTO           20
  716.        -> COMMAND_LATCH_INTO           20
  717.        -> ADDRESS_LATCH_INTO           20
  718.        -> ADDRESS_LATCH_INTO           20
  719.        -> ADDRESS_LATCH_INTO           20
  720.        -> ADDRESS_LATCH_INTO           20
  721.        -> COMMAND_LATCH_INTO           20
  722.        -> READ_STATUS                  20
  723.        -> CalNextPageAddress           20
  724.        -> ERASE_ONE_BLOCK              20
  725.        -> ERASE_ONE_BLOCK              20
  726.        -> Write16Bytes2FlashMemoryArea
  727.                                        20
  728.        -> ReadLast16BytesFromFlashMemoryArea
  729.                                        20
  730.        -> ERASE_ONE_BLOCK              20
  731.        -> Write16Bytes2FlashMemoryArea
  732.                                        20
  733.    Segment part sizes:
  734.      Function/Label        Bytes
  735.      --------------        -----
  736.      P2IN                     1
  737.      P2OUT                    1
  738.      FaxRxBufRawdata2Flash 1278
  739.  
  740.  1 278 bytes in segment CODE
  741.      2 bytes in segment DATA16_AN
  742.  
  743.  1 278 bytes of CODE memory
  744.      0 bytes of DATA memory (+ 2 bytes shared)
  745. Errors: none
  746. Warnings: none