📄 common.lst
字号:
A51 MACRO ASSEMBLER COMMON 04/04/2009 22:01:16 PAGE 1
MACRO ASSEMBLER A51 V1.12
NO OBJECT MODULE REQUESTED
ASSEMBLER INVOKED BY: C:\PROGRA~1\MANLEY\MEDWINV3\A51.EXE COMMON.INC DB
LOC OBJ LINE SOURCE
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ;;System common part
3 ;;
4 ;; Memory assign in the direct RAM 128Byte(0x00~0x7F):
5 ;;
6 ;; 0x00~0x07( 8Byte ): Local varible address(RO,R1,R2,R3,R4,R5,R6,R7)
7 ;; 0x08~0x1F( 24Byte ): Task Buffer address(RAM)
8 ;; 0x20~0x2F( 16Byte ): Global varible address(Don't forget bit access)
9 ;;
10 ;; 0x30~0x45( 22Byte ): LCD Buffer address
11 ;; 0x46~0x5D( 24Byte ): COM Buffer address
12 ;; 0x5E~0x75( 24Byte ): E2PROM Buffer address
13 ;;
14 ;; 0x76~0x77( 2Byte ): Task return address(POP this address value to PC when execute RET instruction in task function)
15 ;; 0x78~0x7F( 8Byte ): Stack Buffer address
16 ;;
17 ;; Memory assign From external(xdata) memory:
18 ;; 0x00~0xF0( 240Byte ): Task Buffer address(xdata)
19 ;;
20 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
21 ;Defines
22 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23 ;MCU define
24 DEFINE_MCU_AUXR EQU 0x8E ;8052 Register
*** ERROR #3 IN 24 (COMMON.INC, LINE 24): ILLEGAL CHARACTER IN NUMERIC CONSTANT
25
26 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
27 ;Crystal and Timer define
C000 28 DEFINE_CRYSTAL_FREQUENCY EQU 11059200 ;Hz
29
30 DEFINE_TIMER_MODE EQU 0x03;00000010B
*** ERROR #3 IN 30 (COMMON.INC, LINE 30): ILLEGAL CHARACTER IN NUMERIC CONSTANT
31
32 ;How to compute the timer counter begin value
33 ;Example: 100us (255-(100us/(1s/11.0592MHz*12)) = 0xA3(about)
34 ;The Multi Task switch need about 250ms maximal 10 Task
35 DEFINE_TIMER0_COUNTER_BEGIN_VALUE EQU 0x00;0xA3
*** ERROR #3 IN 35 (COMMON.INC, LINE 35): ILLEGAL CHARACTER IN NUMERIC CONSTANT
36
37 DEFINE_SLEEP_1s_BYTE0 EQU 0xE8
*** ERROR #3 IN 37 (COMMON.INC, LINE 37): ILLEGAL CHARACTER IN NUMERIC CONSTANT
38 DEFINE_SLEEP_1s_BYTE1 EQU 0x03
*** ERROR #3 IN 38 (COMMON.INC, LINE 38): ILLEGAL CHARACTER IN NUMERIC CONSTANT
39
40 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
41 ;Stack define
42 ;SP=start+1
43 DEFINE_SP_START_ADDRESS EQU 0x7F - DEFINE_TASK_STACK_SIZE
*** ERROR #3 IN 43 (COMMON.INC, LINE 43): ILLEGAL CHARACTER IN NUMERIC CONSTANT
44
45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46 ;Task RET address
47 ;Warning: don't alter the value in this address
48 ;If task function no loop it will RET this address value to PC
49 DEFINE_TASK_RET_ADDRESS_H EQU DEFINE_SP_START_ADDRESS
*** ERROR #23 IN 49 (COMMON.INC, LINE 49): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
50 DEFINE_TASK_RET_ADDRESS_L EQU DEFINE_TASK_RET_ADDRESS_H - 1
*** ERROR #23 IN 50 (COMMON.INC, LINE 50): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
A51 MACRO ASSEMBLER COMMON 04/04/2009 22:01:16 PAGE 2
51
52 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
53 ;Task define
54 DEFINE_TASK_MAX EQU 0x0A
*** ERROR #3 IN 54 (COMMON.INC, LINE 54): ILLEGAL CHARACTER IN NUMERIC CONSTANT
55 DEFINE_TASK_XDATA_ADDRESS EQU 0x00
*** ERROR #3 IN 55 (COMMON.INC, LINE 55): ILLEGAL CHARACTER IN NUMERIC CONSTANT
56 DEFINE_TASK_REGISTER_SIZE EQU 0x10
*** ERROR #3 IN 56 (COMMON.INC, LINE 56): ILLEGAL CHARACTER IN NUMERIC CONSTANT
57 DEFINE_TASK_STACK_SIZE EQU 0x08
*** ERROR #3 IN 57 (COMMON.INC, LINE 57): ILLEGAL CHARACTER IN NUMERIC CONSTANT
58 DEFINE_TASK_XDATA_BLOCK EQU DEFINE_TASK_REGISTER_SIZE + DEFINE_TASK_STACK_SIZE
*** ERROR #23 IN 58 (COMMON.INC, LINE 58): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
59 DEFINE_TASK_XDATA_SIZE EQU DEFINE_TASK_XDATA_BLOCK * DEFINE_TASK_MAX
*** ERROR #23 IN 59 (COMMON.INC, LINE 59): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
60
61 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
62 ;IR define
63 DEFINE_IR_CUSTOMER_CODE EQU 0x00
*** ERROR #3 IN 63 (COMMON.INC, LINE 63): ILLEGAL CHARACTER IN NUMERIC CONSTANT
64
65 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
66 ;Tube define
0080 67 DEFINE_TUBE_IO_PORT_DATA EQU P0
00A0 68 DEFINE_TUBE_IO_PORT_CONTROL EQU P2
00A7 69 DEFINE_TUBE_IO_PORT_CONTROL_1 EQU P2.7
00A6 70 DEFINE_TUBE_IO_PORT_CONTROL_2 EQU P2.6
00A5 71 DEFINE_TUBE_IO_PORT_CONTROL_3 EQU P2.5
00A4 72 DEFINE_TUBE_IO_PORT_CONTROL_4 EQU P2.4
73
74 DEFINE_TUBE_SLEEP_25ms_BYTE0 EQU 0x01;FA
*** ERROR #3 IN 74 (COMMON.INC, LINE 74): ILLEGAL CHARACTER IN NUMERIC CONSTANT
75 DEFINE_TUBE_SLEEP_25ms_BYTE1 EQU 0x00
*** ERROR #3 IN 75 (COMMON.INC, LINE 75): ILLEGAL CHARACTER IN NUMERIC CONSTANT
76
77 DEFINE_TUBE_SHOW_MODE_HEX EQU 0x00
*** ERROR #3 IN 77 (COMMON.INC, LINE 77): ILLEGAL CHARACTER IN NUMERIC CONSTANT
78 DEFINE_TUBE_SHOW_MODE_DECIMAL EQU DEFINE_TUBE_SHOW_MODE_HEX + 1
*** ERROR #23 IN 78 (COMMON.INC, LINE 78): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
79 DEFINE_TUBE_SHOW_MODE_CLOCK EQU DEFINE_TUBE_SHOW_MODE_DECIMAL + 1
*** ERROR #23 IN 79 (COMMON.INC, LINE 79): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
80
81 ;Define End
82 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
83
84 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
85 ;Variable
86 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
87 ;Task variable
88 VAR_TASK_BUFFER_START_ADDRESS EQU 0x08
*** ERROR #3 IN 88 (COMMON.INC, LINE 88): ILLEGAL CHARACTER IN NUMERIC CONSTANT
89 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
90 VAR_TASK_BUFFER_PCL EQU VAR_TASK_BUFFER_START_ADDRESS
*** ERROR #23 IN 90 (COMMON.INC, LINE 90): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
91 VAR_TASK_BUFFER_PCH EQU VAR_TASK_BUFFER_PCL + 1
*** ERROR #23 IN 91 (COMMON.INC, LINE 91): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
92 VAR_TASK_BUFFER_SP EQU VAR_TASK_BUFFER_PCH + 1
*** ERROR #23 IN 92 (COMMON.INC, LINE 92): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
93 VAR_TASK_BUFFER_PSW EQU VAR_TASK_BUFFER_SP + 1
*** ERROR #23 IN 93 (COMMON.INC, LINE 93): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
94 VAR_TASK_BUFFER_ACC EQU VAR_TASK_BUFFER_PSW + 1
*** ERROR #23 IN 94 (COMMON.INC, LINE 94): EXPRESSION WITH FORWARD REFERENCE NOT PERMITTED
95 VAR_TASK_BUFFER_B EQU VAR_TASK_BUFFER_ACC + 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -