📄 1.lst
字号:
A51 MACRO ASSEMBLER 1 05/05/2006 20:00:15 PAGE 1
MACRO ASSEMBLER A51 V7.07
NO OBJECT MODULE REQUESTED
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 1.asm SET(SMALL) EP
LOC OBJ LINE SOURCE
1 *#cpu 8051 Tiny
*** _________________________^
*** ERROR #A9 IN 1 (1.asm, LINE 1): SYNTAX ERROR
2 *
*** _________________________^
*** ERROR #A9 IN 2 (1.asm, LINE 2): SYNTAX ERROR
3 * DDS MICRO-C 8031/51 Startup Code & Runtime library for TINY model
*** _________________________^
*** ERROR #A9 IN 3 (1.asm, LINE 3): SYNTAX ERROR
4 *
*** _________________________^
*** ERROR #A9 IN 4 (1.asm, LINE 4): SYNTAX ERROR
5 * Copyright 1991-1999 Dave Dunfield
*** _________________________^
*** ERROR #A9 IN 5 (1.asm, LINE 5): SYNTAX ERROR
6 * All rights reserved.
*** _________________________^
*** ERROR #A9 IN 6 (1.asm, LINE 6): SYNTAX ERROR
7 *
*** _________________________^
*** ERROR #A9 IN 7 (1.asm, LINE 7): SYNTAX ERROR
8 ORG $0000 $0800 CODE Starts here (Normally in ROM)
*** _________________________________________^
*** ERROR #A9 IN 8 (1.asm, LINE 8): SYNTAX ERROR
0000 9 LJMP START
*** ________________________________________^
*** ERROR #A45 IN 9 (1.asm, LINE 9): UNDEFINED SYMBOL (PASS-2)
10
11 ORG $0003
*** _________________________________________^
*** ERROR #A9 IN 11 (1.asm, LINE 11): SYNTAX ERROR
0003 12 LJMP SERVICE_EX0
*** ________________________________________^
*** ERROR #A45 IN 12 (1.asm, LINE 12): UNDEFINED SYMBOL (PASS-2)
13
14 ORG $000B
*** _________________________________________^
*** ERROR #A9 IN 14 (1.asm, LINE 14): SYNTAX ERROR
0006 15 LJMP SERVICE_TIMER0_INTERRUPT
*** ________________________________________^
*** ERROR #A45 IN 15 (1.asm, LINE 15): UNDEFINED SYMBOL (PASS-2)
16
17
18 * Fixed memory locations for alternate access to the R0-R7 register bank.
*** _________________________^
*** ERROR #A9 IN 18 (1.asm, LINE 18): SYNTAX ERROR
19 * If you are NOT useing BANK 0, these equates must be adjusted.
*** _________________________^
*** ERROR #A9 IN 19 (1.asm, LINE 19): SYNTAX ERROR
20 ?R0 EQU 0 Used for "POP" from stack
*** _________________________________________________________^
*** ERROR #A9 IN 20 (1.asm, LINE 20): SYNTAX ERROR
21 ?R1 EQU ?R0+1 Used to load index indirectly
*** _________________________________________________________^
*** ERROR #A9 IN 21 (1.asm, LINE 21): SYNTAX ERROR
22 ?R2 EQU ?R0+2 "" "" "" ""
*** _________________________________________________________^
*** ERROR #A9 IN 22 (1.asm, LINE 22): SYNTAX ERROR
A51 MACRO ASSEMBLER 1 05/05/2006 20:00:15 PAGE 2
23 ?R3 EQU ?R0+3 Used by some runtime lib functions
*** _________________________________________________________^
*** ERROR #A9 IN 23 (1.asm, LINE 23): SYNTAX ERROR
0004 24 ?R4 EQU ?R0+4
0005 25 ?R5 EQU ?R0+5
0006 26 ?R6 EQU ?R0+6
0007 27 ?R7 EQU ?R0+7
28 *
*** _________________________^
*** ERROR #A9 IN 28 (1.asm, LINE 28): SYNTAX ERROR
29 * Startup code entry point
*** _________________________^
*** ERROR #A9 IN 29 (1.asm, LINE 29): SYNTAX ERROR
30 *
*** _________________________^
*** ERROR #A9 IN 30 (1.asm, LINE 30): SYNTAX ERROR
31 * If you are NOT using interrupts, you can reclaim 50 bytes
*** _________________________^
*** ERROR #A9 IN 31 (1.asm, LINE 31): SYNTAX ERROR
32 * of code space by removing the following TWO lines.
*** _________________________^
*** ERROR #A9 IN 32 (1.asm, LINE 32): SYNTAX ERROR
33 * AJMP *+$0032 Skip interrupt vectors
*** _________________________^
*** ERROR #A9 IN 33 (1.asm, LINE 33): SYNTAX ERROR
34 * DS $0032-2 Reserve space for interrupt vectors
*** _________________________^
*** ERROR #A9 IN 34 (1.asm, LINE 34): SYNTAX ERROR
35 *
*** _________________________^
*** ERROR #A9 IN 35 (1.asm, LINE 35): SYNTAX ERROR
36 START EQU *
*** _________________________________________^
*** ERROR #A9 IN 36 (1.asm, LINE 36): SYNTAX ERROR
0009 37 MOV SP,#?stk-1 Set up initial stack
*** _________________________________________________________^
*** _____________________________________________________________^
*** ERROR #A9 IN 37 (1.asm, LINE 37): SYNTAX ERROR
*** ERROR #A9 IN 37 (1.asm, LINE 37): SYNTAX ERROR
0009 38 ORL TMOD,#%00000001 set timer 0 to be counter 16 bit
*** ____________________________________________^
*** _____________________________________________^
*** _________________________________________________________^
*** ERROR #A9 IN 38 (1.asm, LINE 38): SYNTAX ERROR
*** ERROR #A9 IN 38 (1.asm, LINE 38): SYNTAX ERROR
*** ERROR #A9 IN 38 (1.asm, LINE 38): SYNTAX ERROR
0009 39 SETB IE.7 $AF EA
*** _________________________________^
*** _________________________________________________________^
*** __________________________________________________________^
*** ______________________________________________________________^
*** ERROR #A38 IN 39 (1.asm, LINE 39): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
*** ERROR #A9 IN 39 (1.asm, LINE 39): SYNTAX ERROR
*** ERROR #A9 IN 39 (1.asm, LINE 39): SYNTAX ERROR
*** ERROR #A9 IN 39 (1.asm, LINE 39): SYNTAX ERROR
0009 40 SETB IE.1 $A9 ET0 Enable timer 0 interrupt
*** _________________________________^
*** _________________________________________________________^
*** __________________________________________________________^
*** ______________________________________________________________^
*** ERROR #A38 IN 40 (1.asm, LINE 40): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
*** ERROR #A9 IN 40 (1.asm, LINE 40): SYNTAX ERROR
*** ERROR #A9 IN 40 (1.asm, LINE 40): SYNTAX ERROR
*** ERROR #A9 IN 40 (1.asm, LINE 40): SYNTAX ERROR
0009 41 SETB TCON.4 start timer 0
*** _________________________________^
A51 MACRO ASSEMBLER 1 05/05/2006 20:00:15 PAGE 3
*** _________________________________________________________^
*** _______________________________________________________________^
*** _____________________________________________________________________^
*** ERROR #A38 IN 41 (1.asm, LINE 41): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
*** ERROR #A9 IN 41 (1.asm, LINE 41): SYNTAX ERROR
*** ERROR #A9 IN 41 (1.asm, LINE 41): SYNTAX ERROR
*** ERROR #A9 IN 41 (1.asm, LINE 41): SYNTAX ERROR
42
43
0009 44 LCALL main Execute program
*** _________________________________^
*** _________________________________________________________^
*** _________________________________________________________________^
*** ERROR #A38 IN 44 (1.asm, LINE 44): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
*** ERROR #A9 IN 44 (1.asm, LINE 44): SYNTAX ERROR
*** ERROR #A9 IN 44 (1.asm, LINE 44): SYNTAX ERROR
0009 45 SJMP * JUMP HERE
*** _________________________________________^
*** _________________________________________________________^
*** ______________________________________________________________^
*** ERROR #A9 IN 45 (1.asm, LINE 45): SYNTAX ERROR
*** ERROR #A9 IN 45 (1.asm, LINE 45): SYNTAX ERROR
*** ERROR #A9 IN 45 (1.asm, LINE 45): SYNTAX ERROR
46
47 * EXIT to MON51 by calling the 'timer1' interrupt vector ($001B).
*** _________________________^
*** ERROR #A9 IN 47 (1.asm, LINE 47): SYNTAX ERROR
48 * This causes MON51 to think that a single-step operation has just
*** _________________________^
*** ERROR #A9 IN 48 (1.asm, LINE 48): SYNTAX ERROR
49 * completed, and therefore it saves the user registers, and performs
*** _________________________^
*** ERROR #A9 IN 49 (1.asm, LINE 49): SYNTAX ERROR
50 * a context switch back to the monitor.
*** _________________________^
*** ERROR #A9 IN 50 (1.asm, LINE 50): SYNTAX ERROR
51 *
*** _________________________^
*** ERROR #A9 IN 51 (1.asm, LINE 51): SYNTAX ERROR
52 * When using 2K addressing (CC51: -Z option, ASM51: -A option) this LCALL
*** _________________________^
*** _____________________________________________________^
*** ______________________________________________________________________^
*** ERROR #A9 IN 52 (1.asm, LINE 52): SYNTAX ERROR
*** ERROR #A7 IN 52 (1.asm, LINE 52): LABEL NOT PERMITTED
*** ERROR #A7 IN 52 (1.asm, LINE 52): LABEL NOT PERMITTED
53 * may fail "Out of range" because it gets translated to ACALL, and $001B
*** _________________________^
*** ERROR #A9 IN 53 (1.asm, LINE 53): SYNTAX ERROR
54 * may not be in the same 2K block as your program. Since 2K devices cannot
*** _________________________^
*** ERROR #A9 IN 54 (1.asm, LINE 54): SYNTAX ERROR
55 * support a debugger, change the ORG to $0000, and ...<continue below>...
*** _________________________^
*** ERROR #A9 IN 55 (1.asm, LINE 55): SYNTAX ERROR
56 *
*** _________________________^
*** ERROR #A9 IN 56 (1.asm, LINE 56): SYNTAX ERROR
57 * If you are NOT using MON51 (or MONICA which works the same), you will
*** _________________________^
*** ERROR #A9 IN 57 (1.asm, LINE 57): SYNTAX ERROR
58 * need to change this to whatever action you desire when main() returns.
*** _________________________^
*** ERROR #A9 IN 58 (1.asm, LINE 58): SYNTAX ERROR
59 * Suggestions: 1:freeze (SJMP *) 2:Restart (SJMP *&$FF00)
*** _________________________^
A51 MACRO ASSEMBLER 1 05/05/2006 20:00:15 PAGE 4
*** ___________________________^
*** ERROR #A9 IN 59 (1.asm, LINE 59): SYNTAX ERROR
*** ERROR #A7 IN 59 (1.asm, LINE 59): LABEL NOT PERMITTED
60 exit LCALL $001B Call Timer-1 interrupt
*** _________________________^
*** ERROR #A9 IN 60 (1.asm, LINE 60): SYNTAX ERROR
0009 61 SJMP exit Incase he go's again
*** _________________________________^
*** _________________________________________________________^
*** ________________________________________________________________^
*** ___________________________________________________________________^
*** _____________________________________________________________________________^
*** ERROR #A38 IN 61 (1.asm, LINE 61): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
*** ERROR #A9 IN 61 (1.asm, LINE 61): SYNTAX ERROR
*** ERROR #A9 IN 61 (1.asm, LINE 61): SYNTAX ERROR
*** ERROR #A9 IN 61 (1.asm, LINE 61): SYNTAX ERROR
*** ERROR #A2 IN 61 (1.asm, LINE 61): MISSING STRING TERMINATOR
62
63 **************************** My code *********************************
*** _________________________^
*** ERROR #A9 IN 63 (1.asm, LINE 63): SYNTAX ERROR
64
65 SERVICE_TIMER0_INTERRUPT EQU *
*** ________________________________________________________^
*** ERROR #A9 IN 65 (1.asm, LINE 65): SYNTAX ERROR
0009 C0E0 66 PUSH ACC
000B C0D0 67 PUSH PSW
000D 68 MOV TH0,#$FF reload timer 0 for ms
*** ____________________________^
*** _______________________________________^
*** _______________________________________________^
*** ERROR #A38 IN 68 (1.asm, LINE 68): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
*** ERROR #A9 IN 68 (1.asm, LINE 68): SYNTAX ERROR
*** ERROR #A9 IN 68 (1.asm, LINE 68): SYNTAX ERROR
000D 69 MOV TL0,#$00
*** ____________________________^
*** _______________________________________^
*** ERROR #A38 IN 69 (1.asm, LINE 69): NUMBER OF OPERANDS DOES NOT MATCH INSTRUCTION
*** ERROR #A9 IN 69 (1.asm, LINE 69): SYNTAX ERROR
000D 70 INC tick
*** _________________________________^
*** ERROR #A45 IN 70 (1.asm, LINE 70): UNDEFINED SYMBOL (PASS-2)
71
000F 72 MOV A,tick
*** ___________________________________^
*** ERROR #A45 IN 72 (1.asm, LINE 72): UNDEFINED SYMBOL (PASS-2)
0011 73 CJNE A,#100,RIGHT
*** ________________________________________^
*** ERROR #A45 IN 73 (1.asm, LINE 73): UNDEFINED SYMBOL (PASS-2)
0014 74 MOV tick,#0
*** _________________________________^
*** ERROR #A45 IN 74 (1.asm, LINE 74): UNDEFINED SYMBOL (PASS-2)
75
76 RIGHT
*** _________________________^
*** ERROR #A9 IN 76 (1.asm, LINE 76): SYNTAX ERROR
0017 C3 77 CLR C
0018 78 SUBB A,speedright
*** ___________________________________^
*** ERROR #A45 IN 78 (1.asm, LINE 78): UNDEFINED SYMBOL (PASS-2)
001A 79 JC ON_RIGHT
*** _________________________________^
*** ERROR #A45 IN 79 (1.asm, LINE 79): UNDEFINED SYMBOL (PASS-2)
001C C290 80 CLR P1.0
001E 81 SJMP LEFT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -