epilot
Member
hello there
why i get 13 errors when i use from MPASM to convert this ASM file into HEX file?
heres the ASM file
;**********************************************************************
; *
; Filename: st001.asm - schristmas light flasher *
; Date: 14/12/2002 *
; File Version: *
; *
; Author: Doug Rice *
; *
; Company: *
; *
; *
;**********************************************************************
; *
; Files required: *
; *
;**********************************************************************
; *
; Notes: *
; *
;**********************************************************************
list p=16F84 ; list directive to define processor
#include <p16F84.inc> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.
;**********************************************************************
ORG 0x000 ; processor reset vector
goto main ; go to beginning of program
ORG 0x004 ; interrupt vector location
cblock 0x0c
countL ; counter used for a delay
ptr ; pointer into the data
endc
main
; remaining code goes here
; define bit in Port B
r equ 4
y equ 2
g equ 1
clrf PORTB
clrf ptr
loop1
CALL nextSample
; Now turn on the LED's by making the PORTB pins Outputs
xorlw 0xff
TRIS PORTB
; Force any outputs low
movlw 0
movwf PORTB
; delay
call delay1
; Turn off all the LEDS
movlw 0xFF
TRIS PORTB
movlw 0
movwf PORTB
; delay for two delays
call delay1
call delay1
; loop around
goto loop1
delay ; delay the code
; return
movlw 25
movwf countL
delay1
decfsz countL,f
goto delay1
return
nextSample
; This uses a table read.
; no attempt is made to check if PCLATH is correctly set.
;
incfsz ptr,f
nop
movfw ptr
; limit the index to 64 bytes
andlw 0x3F
addwf PCL,F
table
RETLW 0
RETLW 0
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
; at the end zero ptr and return a value to loop around again.
clrf ptr
RETLW g
clrf ptr
END ; directive 'end of program'
why i get 13 errors when i use from MPASM to convert this ASM file into HEX file?
heres the ASM file
;**********************************************************************
; *
; Filename: st001.asm - schristmas light flasher *
; Date: 14/12/2002 *
; File Version: *
; *
; Author: Doug Rice *
; *
; Company: *
; *
; *
;**********************************************************************
; *
; Files required: *
; *
;**********************************************************************
; *
; Notes: *
; *
;**********************************************************************
list p=16F84 ; list directive to define processor
#include <p16F84.inc> ; processor specific variable definitions
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC
; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.
;**********************************************************************
ORG 0x000 ; processor reset vector
goto main ; go to beginning of program
ORG 0x004 ; interrupt vector location
cblock 0x0c
countL ; counter used for a delay
ptr ; pointer into the data
endc
main
; remaining code goes here
; define bit in Port B
r equ 4
y equ 2
g equ 1
clrf PORTB
clrf ptr
loop1
CALL nextSample
; Now turn on the LED's by making the PORTB pins Outputs
xorlw 0xff
TRIS PORTB
; Force any outputs low
movlw 0
movwf PORTB
; delay
call delay1
; Turn off all the LEDS
movlw 0xFF
TRIS PORTB
movlw 0
movwf PORTB
; delay for two delays
call delay1
call delay1
; loop around
goto loop1
delay ; delay the code
; return
movlw 25
movwf countL
delay1
decfsz countL,f
goto delay1
return
nextSample
; This uses a table read.
; no attempt is made to check if PCLATH is correctly set.
;
incfsz ptr,f
nop
movfw ptr
; limit the index to 64 bytes
andlw 0x3F
addwf PCL,F
table
RETLW 0
RETLW 0
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW r
RETLW y
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
RETLW g
RETLW 0
RETLW 0
RETLW r
RETLW r
RETLW y
RETLW y
RETLW g
; at the end zero ptr and return a value to loop around again.
clrf ptr
RETLW g
clrf ptr
END ; directive 'end of program'