MPLAB IDE small question

Discussion in 'Embedded Systems and Microcontrollers' started by hazim, Mar 16, 2010.

  1. hazim

    Thread Starter Active Member

    Jan 3, 2008
    419
    13
    Hello

    This is my first day with MPLAB:). I read the tutorial provided with it and it seems everything is ok till now.. I'm working as the tutorial, step by step. But when I came to debugging, "Watch" doesn't show anything changing where there is changes according to the code.. You may ask me to post the code here. I want to ask you first, the green arrow is located to "goto $", this is after I click on "Step Into", is this okay? my code starts just the next line at "STATUS". According to the tutorial, the arrow starts at the begining of the main code and not before it (goto $ or else)
    At times, a window says that I should disable WTD and I did

    Regards;
    Hazim
    [​IMG]
     
  2. blueroomelectronics

    AAC Fanatic!

    Jul 22, 2007
    1,758
    98
    Not sure what you're asking, but you should use the include file for your PIC (don't define TRIS, STATUS, PORT, etc...)

    I don't see the need for the goto $ statement. Try removing it.
     
  3. atferrari

    AAC Fanatic!

    Jan 6, 2004
    2,648
    764
    It seems that the OP started to type after a goto $ already existing in a template.
     
  4. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234

    You will definitely have to post your code on here, especially since I see you copied and pasted other code into a template file and you have it all wrong....

    We can not tell for sure how you disabled the watch dog timer (WDT) if we can not see your Config statement...

    Why are you declaring variables in your main program loop??
    Why is the goto $ there??



    as for the Watch window, if you want to see real time updates you have to enable it,

    • click on the debugger menu,
    • then click Settings,
    • when the simulator Settings window pops up,
    • click on the tab that says Animation/Realtime Updates
    • Check the box that says Enable Realtime watch updates
    • then you can change the speed it updates by changing the value in the box that says x100 msecs, or you can leave it the way it is at 1.
    B. Morse
     
  5. hazim

    Thread Starter Active Member

    Jan 3, 2008
    419
    13
    The goto $ is in the template, at the end just before "end". I copied and pasted a program code into the template between goto $ and end. The code is at the bottom of this page: http://www.mstracey.btinternet.co.uk/pictutorial/progtut4.htm
    Building the program was done successfully.
    Please notice that I'm a total newbie in programming microcontrollers.
     
  6. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    The $ is in MPASM defined as arithmetic operator meaning current program counter. The goto $ statement is a endless loop. It will be the same as
    Code ( (Unknown Language)):
    1.  
    2. Loop
    3. GOTO Loop
    I find the use of $ operator confusing but it can be useful then you want to do testing like this.
    Code ( (Unknown Language)):
    1.  
    2. BTFSC ADCON0,GO ;Is conversion done?
    3. GOTO $-1 ;No, test again
    4. MOVF ADRESH,W ;Read upper 2 bits
    The GOTO $-1 is the same as saying goto current instruction-1. You can also use it like GOTO $+5
     
    Last edited: Mar 17, 2010
  7. hazim

    Thread Starter Active Member

    Jan 3, 2008
    419
    13
    Then here is my problem. I tried to remove it, but the program didn't build successively. What to do with it??:confused:
     
  8. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    Please post your current code. We can not help you else
     
  9. hazim

    Thread Starter Active Member

    Jan 3, 2008
    419
    13
    Here is the code. Sorry for it being not well arranged. As I said before, the template code ends at goto $, and my code starts after it. I'm only learning programming a PIC and trying what I learn.
     
  10. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234
    Code ( (Unknown Language)):
    1.  #include <p16F84.inc>         ; processor specific variable definitions
    2.  
    3.     __CONFIG   _CP_OFF &[COLOR=Blue] _WDT_OFF [/COLOR]& _PWRTE_ON & _RC_OSC
    4.  
    5. ; '__CONFIG' directive is used to embed configuration data within .asm file.
    6. ; The lables following the directive are located in the respective .inc file.
    7. ; See respective data sheet for additional information on configuration word.
    8.  
    9. ;***** VARIABLE DEFINITIONS
    10.  
    11. [COLOR=Blue]cblock    0x0c[/COLOR][INDENT]w_temp        EQU     0x0C        ; variable used for context saving
    12. [/INDENT][INDENT]status_temp   EQU     0x0D        ; variable used for context saving
    13. [/INDENT][INDENT]STATUS         equ       03h                 ;Address of the STATUS  register
    14. TRISA             equ       85h                 ;Address of the tristate  register for port A
    15. PORTA           equ       05h                 ;Address of Port A
    16. COUNT1        equ       08h                 ;First counter for our delay  loops
    17. COUNT2        equ       09h                 ;Second counter for our  delay loops
    18. [/INDENT][INDENT][COLOR=Blue]endc[/COLOR]
    19. [/INDENT];**********************************************************************[INDENT]RESET_VECTOR      CODE    0x0000  ; processor reset vector
    20. [/INDENT]goto    start             ; go to beginning of program[INDENT]ISR               CODE    0x0004  ; interrupt vector location
    21. [/INDENT]Interrupt:
    22.  
    23.         movwf  w_temp             ; save off current W register contents
    24.         movf   STATUS,w           ; move status register into W register
    25.         movwf  status_temp        ; save off contents of STATUS register
    26.  
    27. ;  Place ISR Here
    28.  
    29.         movf   status_temp,w      ; retrieve copy of STATUS register
    30.         movwf  STATUS             ; restore pre-isr STATUS register contents
    31.         swapf  w_temp,f
    32.         swapf  w_temp,w           ; restore pre-isr W register contents
    33.         retfie                    ; return from interrupt
    34.  
    35. MAIN_PROGRAM    CODE
    36.  
    37. start:
    38.  
    39. ; remaining code goes here
    40.         bsf         STATUS,5       ;Switch to Bank 1
    41.         movlw     00h                    ;Set the Port A pins
    42.         movwf     TRISA              ;to output.
    43.         bcf          STATUS,5       ;Switch back to Bank 0
    44.          movlw      02h                   ;Turn the LED on by first putting
    45. [INDENT]movwf      PORTA            ;it into the w register and then
    46. [/INDENT]
    47. Loop1
    48. [INDENT]decfsz       COUNT1,1       ;Subtract 1 from 255
    49. [/INDENT]         goto           Loop1              ;If COUNT is zero, carry on.
    50.         decfsz        COUNT2,1        ;Subtract 1 from 255
    51.         goto           Loop1                ;Go back to the start of our loop.
    52.  
    53.         movlw         00h                     ;Turn the LED off by first putting
    54.         movwf         PORTA              ;it into the w register and then on
    55.  
    56. Loop2
    57.         decfsz        COUNT1,1           ;This second loop keeps the
    58.         goto           Loop2                   ;LED turned off long enough for
    59.         decfsz        COUNT2,1           ;us to see it turned off
    60.         goto           Loop2                   ;
    61.  
    62. [INDENT]  goto          Start                   ;go back to Start and turn LED
    63. [/INDENT]         END                       ; directive 'end of program'
    64.  
    65.  
    I had rearrange some of your code, try it now... I also turned off the watch dog timer you said you turned off already....

    B. Morse
     
  11. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    Here is the a modified code You did some small mistakes but it should be fixed now. Be very carefull then using almost identical labels like Start and start:eek: It makes it hard to read the code
    Code ( (Unknown Language)):
    1.  
    2. ;**********************************************************************
    3. ;                                                                     *
    4. ;   This file is a basic code template for assembly code generation   *
    5. ;   on the PIC16F84. This file contains the basic code                *
    6. ;   building blocks to build upon.                                    *
    7. ;                                                                     *
    8. ;   Refer to the MPASM User's Guide for additional information on     *
    9. ;   features of the assembler (Document DS33014).                     *
    10. ;                                                                     *
    11. ;   Refer to the respective PIC data sheet for additional             *
    12. ;   information on the instruction set.                               *
    13. ;                                                                     *
    14. ;**********************************************************************
    15. ;                                                                     *
    16. ;    Filename:        xxx.asm                                         *
    17. ;    Date:                                                            *
    18. ;    File Version:                                                    *
    19. ;                                                                     *
    20. ;    Author:                                                          *
    21. ;    Company:                                                         *
    22. ;                                                                     *
    23. ;                                                                     *
    24. ;**********************************************************************
    25. ;                                                                     *
    26. ;    Files required: P16F84.INC                                       *
    27. ;                                                                     *
    28. ;                                                                     *
    29. ;                                                                     *
    30. ;**********************************************************************
    31. ;                                                                     *
    32. ;    Notes:                                                           *
    33. ;                                                                     *
    34. ;                                                                     *
    35. ;                                                                     *
    36. ;                                                                     *
    37. ;**********************************************************************
    38.  
    39.     list      p=16F84             ; list directive to define processor
    40.     #include <p16F84.inc>         ; processor specific variable definitions
    41.     __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
    42. ; '__CONFIG' directive is used to embed configuration data within .asm file.
    43. ; The lables following the directive are located in the respective .inc file.
    44. ; See respective data sheet for additional information on configuration word.
    45. ;***** VARIABLE DEFINITIONS
    46. w_temp        EQU     0x0C        ; variable used for context saving
    47. status_temp   EQU     0x0D        ; variable used for context saving
    48. ; variable used for counters
    49. COUNT1        equ       0x0E                 ;First counter for our delay loops
    50. COUNT2        equ       0x0F                ;Second counter for our delay loops
    51. ;**********************************************************************
    52. RESET_VECTOR      CODE    0x0000  ; processor reset vector
    53.         goto    start             ; go to beginning of program
    54. ISR               CODE    0x0004  ; interrupt vector location
    55. Interrupt:
    56.         movwf  w_temp             ; save off current W register contents
    57.         movf   STATUS,w           ; move status register into W register
    58.         movwf  status_temp        ; save off contents of STATUS register
    59. ;  Place ISR Here
    60.         movf   status_temp,w      ; retrieve copy of STATUS register
    61.         movwf  STATUS             ; restore pre-isr STATUS register contents
    62.         swapf  w_temp,f
    63.         swapf  w_temp,w           ; restore pre-isr W register contents
    64.         retfie                    ; return from interrupt
    65. MAIN_PROGRAM    CODE
    66. start:
    67. ;STATUS         equ       03h                 ;Address of the STATUS register
    68. ;TRISA             equ       85h                 ;Address of the tristate register for port A
    69. ;PORTA           equ       05h                 ;Address of Port A
    70. ;Do not need this as it defined in inc file
    71.                         bsf                   STATUS,5       ;Switch to Bank 1
    72.                         movlw              00h                    ;Set the Port A pins
    73.                         movwf              TRISA              ;to output.
    74.                         bcf                   STATUS,5       ;Switch back to Bank 0
    75. Start_loop                movlw                02h                   ;Turn the LED on by first putting
    76.                        movwf               PORTA            ;it into the w register and then
    77. Loop1          decfsz               COUNT1,1       ;Subtract 1 from 255
    78.                      goto                  Loop1              ;If COUNT is zero, carry on.
    79.                      decfsz             COUNT2,1        ;Subtract 1 from 255
    80.                      goto                 Loop1                ;Go back to the start of our loop.
    81.                     movlw              00h                     ;Turn the LED off by first putting
    82.                     movwf              PORTA              ;it into the w register and then on
    83. Loop2        decfsz             COUNT1,1           ;This second loop keeps the
    84.                    goto                 Loop2                   ;LED turned off long enough for
    85.                    decfsz             COUNT2,1           ;us to see it turned off
    86.                    goto                 Loop2                   ;
    87.  goto                 Start_loop                       ;go back to Start and turn LED
    88.         END                       ; directive 'end of program'
    89.  
    Here is the P16f84.inc file
    Code ( (Unknown Language)):
    1.  
    2. LIST
    3. ; P16F84.INC Standard Header File, Version 2.00 Microchip Technology, Inc.
    4. NOLIST
    5. ; This header file defines configurations, registers, and other useful bits of
    6. ; information for the PIC16F84 microcontroller. These names are taken to match
    7. ; the data sheets as closely as possible.
    8. ; Note that the processor must be selected before this file is
    9. ; included. The processor may be selected the following ways:
    10. ; 1. Command line switch:
    11. ; C:\ MPASM MYFILE.ASM /PIC16F84
    12. ; 2. LIST directive in the source file
    13. ; LIST P=PIC16F84
    14. ; 3. Processor Type entry in the MPASM full-screen interface
    15. ;==========================================================================
    16. ;
    17. ; Revision History
    18. ;
    19. ;==========================================================================
    20. ;Rev: Date: Reason:
    21. ;2.00 07/24/96 Renamed to reflect the name change to PIC16F84.
    22. ;1.01 05/17/96 Corrected BADRAM map
    23. ;1.00 10/31/95 Initial Release
    24. ;==========================================================================
    25. ;
    26. ; Verify Processor
    27. ;
    28. ;==========================================================================
    29. IFNDEF __16F84
    30. MESSG "Processor-header file mismatch. Verify selected processor."
    31. ENDIF
    32. ;==========================================================================
    33. ;
    34. ; Register Definitions
    35. ;
    36. ;==========================================================================
    37. W EQU H'0000'
    38. F EQU H'0001'
    39. ;----- Register Files------------------------------------------------------
    40. INDF EQU H'0000'
    41. TMR0 EQU H'0001'
    42. PCL EQU H'0002'
    43. STATUS EQU H'0003'
    44. FSR EQU H'0004'
    45. PORTA EQU H'0005'
    46. PORTB EQU H'0006'
    47. EEDATA EQU H'0008'
    48. EEADR EQU H'0009'
    49. PCLATH EQU H'000A'
    50. INTCON EQU H'000B'
    51. OPTION_REG EQU H'0081'
    52. TRISA EQU H'0085'
    53. TRISB EQU H'0086'
    54. EECON1 EQU H'0088'
    55. EECON2 EQU H'0089'
    56. ;----- STATUS Bits --------------------------------------------------------
    57. IRP EQU H'0007'
    58. RP1 EQU H'0006'
    59. RP0 EQU H'0005'
    60. NOT_TO EQU H'0004'
    61. NOT_PD EQU H'0003'
    62. Z EQU H'0002'
    63. DC EQU H'0001'
    64. C EQU H'0000'
    65. ;----- INTCON Bits --------------------------------------------------------
    66. GIE EQU H'0007'
    67. EEIE EQU H'0006'
    68. T0IE EQU H'0005'
    69. INTE EQU H'0004'
    70. RBIE EQU H'0003'
    71. T0IF EQU H'0002'
    72. INTF EQU H'0001'
    73. RBIF EQU H'0000'
    74. ;----- OPTION Bits --------------------------------------------------------
    75. NOT_RBPU EQU H'0007'
    76. INTEDG EQU H'0006'
    77. T0CS EQU H'0005'
    78. T0SE EQU H'0004'
    79. PSA EQU H'0003'
    80. PS2 EQU H'0002'
    81. PS1 EQU H'0001'
    82. PS0 EQU H'0000'
    83. ;----- EECON1 Bits --------------------------------------------------------
    84. EEIF EQU H'0004'
    85. WRERR EQU H'0003'
    86. WREN EQU H'0002'
    87. WR EQU H'0001'
    88. RD EQU H'0000'
    89. ;==========================================================================
    90. ;
    91. ; RAM Definition
    92. ;
    93. ;==========================================================================
    94. __MAXRAM H'CF'
    95. __BADRAM H'07', H'50'-H'7F', H'87'
    96. ;==========================================================================
    97. ;
    98. ; Configuration Bits
    99. ;
    100. ;==========================================================================
    101. _CP_ON EQU H'000F'
    102. _CP_OFF EQU H'3FFF'
    103. _PWRTE_ON EQU H'3FF7'
    104. _PWRTE_OFF EQU H'3FFF'
    105. _WDT_ON EQU H'3FFF'
    106. _WDT_OFF EQU H'3FFB'
    107. _LP_OSC EQU H'3FFC'
    108. _XT_OSC EQU H'3FFD'
    109. _HS_OSC EQU H'3FFE'
    110. _RC_OSC EQU H'3FFF'
    111. LIST
    112.  
     
  12. hazim

    Thread Starter Active Member

    Jan 3, 2008
    419
    13
    The code from BMorse worked well, there was only a small mistake, "Start" at the end should be "start". The main code is the same as mine, the declarations I have at the beginning BMorse put in the template code, someone talked about this before, also BMorse made some changes in the template code.
    My question now is about these changes in the template code, why the original template code of the PIC didn't work? and why it have the goto $ instruction?

    Thanks for you all
    Best Regards;
    Hazim
     
  13. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234

    All I did to the template file you used was make it more like the template I use for the f84.... I don't know where you got your template file from (mine was named f84temp.asm)

    Here is what the one I use looks like:
    Code ( (Unknown Language)):
    1. ;**********************************************************************
    2. ;   This file is a basic code template for assembly code generation   *
    3. ;   on the PICmicro PIC16F84. This file contains the basic code       *
    4. ;   building blocks to build upon.                                    *  
    5. ;                                                                     *
    6. ;   If interrupts are not used all code presented between the ORG     *
    7. ;   0x004 directive and the label main can be removed. In addition    *
    8. ;   the variable assignments for 'w_temp' and 'status_temp' can       *
    9. ;   be removed.                                                       *                        
    10. ;                                                                     *
    11. ;   Refer to the MPASM User's Guide for additional information on     *
    12. ;   features of the assembler (Document DS33014).                     *
    13. ;                                                                     *
    14. ;   Refer to the respective PICmicro data sheet for additional        *
    15. ;   information on the instruction set.                               *
    16. ;                                                                     *
    17. ;   Template file assembled with MPLAB V3.99.18 and MPASM V2.15.06.   *
    18. ;                                                                     *
    19. ;**********************************************************************
    20. ;                                                                     *
    21. ;    Filename:        xxx.asm                                           *
    22. ;    Date:                                                            *
    23. ;    File Version:                                                    *
    24. ;                                                                     *
    25. ;    Author:                                                          *
    26. ;    Company:                                                         *
    27. ;                                                                     *
    28. ;                                                                     *
    29. ;**********************************************************************
    30. ;                                                                     *
    31. ;    Files required:                                                  *
    32. ;                                                                     *
    33. ;                                                                     *
    34. ;                                                                     *
    35. ;**********************************************************************
    36. ;                                                                     *
    37. ;    Notes:                                                           *
    38. ;                                                                     *
    39. ;                                                                     *
    40. ;                                                                     *
    41. ;                                                                     *
    42. ;**********************************************************************
    43.  
    44.  
    45.     list      p=16F84             ; list directive to define processor
    46.     #include <p16F84.inc>         ; processor specific variable definitions
    47.  
    48.     __CONFIG   _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC
    49.  
    50. ; '__CONFIG' directive is used to embed configuration data within .asm file.
    51. ; The lables following the directive are located in the respective .inc file.
    52. ; See respective data sheet for additional information on configuration word.
    53. [INDENT][COLOR=RoyalBlue]cblock    0x0c                ;This is where you declare your vars
    54. [/COLOR][/INDENT][COLOR=RoyalBlue]
    55.  
    56.  
    57. [/COLOR][INDENT][COLOR=RoyalBlue]endc[/COLOR]
    58. [/INDENT][COLOR=Magenta]#define    Index        PORTA,0            ;phototransistor
    59. #define    time_set    PORTA,3            ;Hall-effect
    60. #define mode_switch    PORTA,2            ;Hall-effect
    61. #define    Sec_Bit        flags,6            ;bit 6 of flags is the seconds increment flag[/COLOR]
    62.  
    63. ;***** VARIABLE DEFINITIONS
    64. w_temp        EQU     0x0C        ; variable used for context saving
    65. status_temp   EQU     0x0D        ; variable used for context saving
    66.  
    67.  
    68.  
    69.  
    70.  
    71.  
    72.  
    73.  
    74. ;**********************************************************************
    75.         ORG     0x000             ; processor reset vector
    76.           goto    main              ; go to beginning of program
    77.  
    78.  
    79.         ORG     0x004             ; interrupt vector location
    80.         movwf   w_temp            ; save off current W register contents
    81.         movf    STATUS,w          ; move status register into W register
    82.         movwf    status_temp       ; save off contents of STATUS register
    83.  
    84.  
    85. ; isr code can go here or be located as a call subroutine elsewhere
    86.  
    87.  
    88.         movf    status_temp,w     ; retrieve copy of STATUS register
    89.         movwf    STATUS            ; restore pre-isr STATUS register contents
    90.         swapf   w_temp,f
    91.         swapf   w_temp,w          ; restore pre-isr W register contents
    92.         retfie                    ; return from interrupt
    93.  
    94.  
    95.  
    96. main
    97.  
    98. ; remaining code goes here
    99.  
    100.  
    101.  
    102.  
    103.  
    104.  
    105.  
    106.  
    107.  
    108.  
    109.         END                     ; directive 'end of program'
    110.  
    111.  
    the code in blue is also important, this is where you can declare variables used in your application..

    the code in purple is an example of where you would define other variables used in your application...

    The rest of your applications should be between the label main and END.
    B. Morse
     
  14. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    The template files can be found in the \Microchip\MPASM Suite\Template folder. It is one sub folder for absolute code development templates. And one sub folder for relocatable code development templates.
    Also then I try to compile the code from BMorse I got a lot of errors. But if it works for you everything is OK
     
  15. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234

    I never said it would compile, I just rearranged his code to match the template more, I figured it would be good practice for him to figure out what some of those errors are since they are minor.... but if you want a compilable code here it is....

    Code ( (Unknown Language)):
    1.  #include <p16F84.inc>         ; processor specific variable definitions
    2.  
    3.     __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
    4.  
    5. ; '__CONFIG' directive is used to embed configuration data within .asm file.
    6. ; The lables following the directive are located in the respective .inc file.
    7. ; See respective data sheet for additional information on configuration word.
    8.  
    9. ;***** VARIABLE DEFINITIONS
    10.  
    11.         cblock    0x0c
    12.             w_temp
    13.             status_temp
    14.             COUNT1
    15.             COUNT2
    16.  
    17.         endc
    18.   ;**********************************************************************
    19.         ORG     0x000             ; processor reset vector
    20.           goto    main              ; go to beginning of program
    21.  
    22.  
    23.         ORG     0x004             ; interrupt vector location
    24.         movwf   w_temp            ; save off current W register contents
    25.         movf    STATUS,w          ; move status register into W register
    26.         movwf    status_temp       ; save off contents of STATUS register
    27.  
    28.  
    29. ; isr code can go here or be located as a call subroutine elsewhere
    30.  
    31.  
    32.         movf    status_temp,w     ; retrieve copy of STATUS register
    33.         movwf    STATUS            ; restore pre-isr STATUS register contents
    34.         swapf   w_temp,f
    35.         swapf   w_temp,w          ; restore pre-isr W register contents
    36.         retfie                    ; return from interrupt
    37.  
    38.  
    39.  
    40. main
    41.  
    42.         bsf     STATUS,5        ;Switch to Bank 1
    43.         movlw   00h             ;Set the Port A pins
    44.         movwf   TRISA           ;to output.
    45.         bcf     STATUS,5        ;Switch back to Bank 0
    46.         movlw   02h             ;Turn the LED on by first putting
    47.  
    48.            movwf     PORTA ;it into the w register and then
    49. start:
    50.  
    51. ; remaining code goes here
    52.  
    53.  
    54. Loop1
    55.  
    56.         decfsz     COUNT1,1 ;Subtract 1 from 255
    57.  
    58.         goto    Loop1           ;If COUNT is zero, carry on.
    59.         decfsz  COUNT2,1        ;Subtract 1 from 255
    60.         goto    Loop1           ;Go back to the start of our loop.
    61.  
    62.         movlw   00h             ;Turn the LED off by first putting
    63.         movwf   PORTA           ;it into the w register and then on
    64.  
    65. Loop2
    66.         decfsz  COUNT1,1        ;This second loop keeps the
    67.         goto    Loop2           ;LED turned off long enough for
    68.         decfsz  COUNT2,1        ;us to see it turned off
    69.         goto    Loop2           ;
    70.  
    71.         goto start ;go back to Start and turn LED
    72.  
    73.         END                       ; directive 'end of program'
    B. Morse
     
  16. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    Hey mon do not be upset. In fact I am used to the fact that your answer always are very accurate and spot on the problem. So I was somewhat puzzled by the errors. Not that I compile all code in this forum either. This is the first time actually. I felt something was wrong so I checked. Just that
     
  17. BMorse

    Senior Member

    Sep 26, 2009
    2,675
    234

    Nope, I am not upset at all, I do not take offense that easy..... some of those errors were minor so I figured I just left them in so the op can practice some more, since it was his first time with it.... just wanted to make sure all aspects of the question was covered that is why I re posted compilable code....... so don't think I took offense to anything, we are all here to help each other.....

    B. Morse
     
Loading...