Menu

startup code empty

2008-05-23
2013-05-30
  • Nobody/Anonymous

    Hi. I compiled large program,
    then don't generated startup code (see below)
    (I posted "BANKSEL is incorrect" yesterday )

    Thanks (kamiya)
    -----------------------------------------------------------------------------------
    MPASM  5.14                      COMPILED.ASM   5-23-2008  13:46:27         PAGE  1

    LOC  OBJECT CODE     LINE SOURCE TEXT
      VALUE
                          00001 ;Program compiled by Great Cow BASIC (0.9 14/4/2008)
                          00002 ;Need help? See the GCBASIC forums at
                                 http://sourceforge.net/forum/?group_id=169286,
                          00003 ;check the documentation or email hconsidine@bigpond.com.
                          00004
                          00005 ;********************************************************
                          00006
                          00007 ;Set up the assembler options
                                 (Chip type, clock source, other bits and pieces)
                          00008  LIST P=16F877A, R=DEC
                          00009 #INCLUDE <P16F877A.INC>
                          00001         LIST
                          00002 ; P16F877A.INC  Standard Header File, Version 1.00
                                  Microchip Technology, Inc.
                          00400         LIST
    2007   3F7A           00010  __CONFIG _HS_OSC & _WDT_OFF & _LVP_OFF
                          00011
                          00012 ;********************************************************
                          00013
                          00014 ;Set aside memory locations for variables
      000001C5            00015 SYSSTRINGPARAM1 EQU     453 ;Array
      00000020            00016 ADREADPORT      EQU     32
      00000021            00017 CH      EQU     33
      00000022            00018 DELAYTEMP       EQU     34
      00000023            00019 DELAYTEMP2      EQU     35
      00000024            00020 LCDBYTE EQU     36
      00000025            00021 LCDCHAR EQU     37
      00000026            00022 LCDCOLUMN       EQU     38
      00000027            00023 LCDLINE EQU     39
      00000028            00024 LCDPUTCOLUMN    EQU     40
      00000029            00025 LCDPUTLINE      EQU     41
      0000002A            00026 LCDREADY        EQU     42
      0000002B            00027 PRINTLEN        EQU     43
      0000002C            00028 READAD  EQU     44
      0000002D            00029 SYSCALCTEMPA    EQU     45
      0000002E            00030 SYSCALCTEMPA_H  EQU     46
      0000002F            00031 SYSCALCTEMPB    EQU     47
      00000030            00032 SYSCALCTEMPB_H  EQU     48
      00000031            00033 SYSCALCTEMPX    EQU     49
      00000032            00034 SYSCALCTEMPX_H  EQU     50
      00000033            00035 SYSDIVMULTA     EQU     51
      00000034            00036 SYSDIVMULTA_H   EQU     52
      00000035            00037 SYSDIVMULTB     EQU     53
      00000036            00038 SYSDIVMULTB_H   EQU     54
      00000037            00039 SYSDIVMULTX     EQU     55
      00000038            00040 SYSDIVMULTX_H   EQU     56
      00000039            00041 SYSLCDTEMP      EQU     57
      0000003A            00042 SYSPRINTTEMP    EQU     58
      0000003B            00043 SYSSTRINGLENGTH EQU     59
      0000003C            00044 STRINGPOINTER   EQU     60
      0000003D            00045 SYSDIVLOOP      EQU     61
      0000003E            00046 SYSIFTEMP       EQU     62
      0000003F            00047 SYSINTOFFCOUNT  EQU     63
      00000040            00048 SYSPRINTDATAHANDLER     EQU     64
      00000041            00049 SYSPRINTDATAHANDLER_H   EQU     65
      00000042            00050 SYSSTATUS       EQU     66
      00000043            00051 SYSSTRINGA      EQU     67
      00000044            00052 SYSSTRINGA_H    EQU     68
      00000045            00053 SYSSTRINGB      EQU     69
      00000046            00054 SYSSTRINGB_H    EQU     70
      00000047            00055 SYSTEMP1        EQU     71
      00000048            00056 SYSTEMP1_H      EQU     72
      00000049            00057 SYSW    EQU     73
      0000004A            00058 SYSWAITTEMP10US EQU     74
      0000004B            00059 SYSWAITTEMPMS   EQU     75
      0000004C            00060 SYSWAITTEMPMS_H EQU     76
      0000004D            00061 SYSWAITTEMPS    EQU     77
      0000004E            00062 T       EQU     78
      0000004F            00063 T_H     EQU     79
      00000050            00064 WT      EQU     80
      00000051            00065 WT_H    EQU     81
      00000052            00066 WW      EQU     82
                          00067
                          00068 ;*************************************************
                          00069
                          00070 ;Jump to initialisation code when PIC is reset
    0000                  00071         ORG     0
                          00072
                          00073 ;************************************************
                          00074
                          00075 ;Interrupt vector
    0004                  00076         ORG     4
                          00077 ;Save Context
    0004   00C9           00078         MOVWF   SYSW
    0005   0E03           00079         SWAPF   STATUS,W
    0006   00C2           00080         MOVWF   SYSSTATUS
    0007   01BF           00081         CLRF    SYSINTOFFCOUNT
    0008   0ABF           00082         INCF    SYSINTOFFCOUNT,F
                          00083 ;Call Interrupt sub
    0009   2DD6           00084         GOTO    INTERRUPT
    000A                  00085 INTERRUPTDONE
                          00086 ;Restore Context
    000A   01BF           00087         CLRF    SYSINTOFFCOUNT

    0C40 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
    0C80 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXX------------- ----------------
    2000 : -------X-------- ---------------- ---------------- ----------------

    All other memory blocks unused.

    Program Memory Words Used:  3205
    Program Memory Words Free:  4987

    Errors   :     0
    Warnings :     0 reported,     0 suppressed
    Messages :     0 reported,   238 suppressed

     
    • kent_twt4

      kent_twt4 - 2008-05-25

      It looks like you have hit the 2k page boundary problem of the 16f's.  The fix was to use the "#option lcall" statement prior to Main:  Check out the previous discussions in the forum.

      The easiest fix is to start using the 18F's for the larger programs.  You mentioned that you have an 18f2550, use that.

       
    • Nobody/Anonymous

      Thanks.
      But, I use both "#option bootloader" & "#option lcall"

      kamiya

       
    • kent_twt4

      kent_twt4 - 2008-05-25

      Are you using T as a variable, or is that GCBasic putting it there?  I see T is used in the preprocessor.bi file, maybe a conflict of that type is happening.  Somewhere there is a note not to use single characters as variables.

       
    • Nobody/Anonymous

      Tanks.
      so, I found "not to use single characters as variables"

      but, in this case not use.
      This program, simply copy multipletimes "morse code.txt"
      which is example program in this forum.

      kamiya

       

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.