📄 fution.lst
字号:
A51 MACRO ASSEMBLER FUTION 11/12/2007 20:24:08 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN E:\XLED\SOURCE\FUTION.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE E:\XLED\SOURCE\FUTION.ASM DB SB
LOC OBJ LINE SOURCE
1 ;-----------------------------------------------------------
2 PUBLIC _RESET_SYSTEM
3 PUBLIC _SET_DATA_L
4 PUBLIC _ADDDATA
5 PUBLIC _MOVEDATA_L
6 PUBLIC _MOVEDATA_R
7 PUBLIC _WRITE_OFF
8 PUBLIC _SWAPDATA
9 PROC SEGMENT CODE
---- 10 RSEG PROC
11 ;---------------------------------------------------------------------
0000 12 _RESET_SYSTEM:
0000 75D000 13 MOV PSW,#0D
0003 75A800 14 MOV IE,#0D
0006 75B800 15 MOV IP,#0D
0009 758900 16 MOV TMOD,#0D
000C 758800 17 MOV TCON,#0D
000F D0E0 18 POP ACC
0011 D0E0 19 POP ACC
0013 900000 F 20 MOV DPTR,#ROVER
0016 C082 21 PUSH DPL
0018 C083 22 PUSH DPH
001A 32 23 RETI
001B E4 24 ROVER: CLR A
001C C0E0 25 PUSH ACC
001E C0E0 26 PUSH ACC
0020 32 27 RETI
28
29 ;---------------------------------------------------------------------
30 ;数据搬家,入口源地址,目的地址,终止地址
31 ;---------------------------------------------------------------------
0021 32 _ADDDATA: ;MOV R7,#4D ;源地址
33 ;MOV R6,#3D
34 ;MOV R5,#3D ;目的地址
35 ;MOV R4,#3D
36 ;R3 ;终止地址
0021 8F82 37 LOOP_ADD: MOV DPL,R7
0023 8E83 38 MOV DPH,R6
0025 E0 39 MOVX A,@DPTR ;得到一个数据
0026 A3 40 INC DPTR
0027 AF82 41 MOV R7,DPL
0029 AE83 42 MOV R6,DPH
002B 8D82 43 MOV DPL,R5
002D 8C83 44 MOV DPH,R4
002F F0 45 MOVX @DPTR,A ;写入其他地址
0030 A3 46 INC DPTR
0031 AD82 47 MOV R5,DPL
0033 AC83 48 MOV R4,DPH
0035 ED 49 MOV A,R5
0036 6B 50 XRL A,R3
0037 70E8 51 JNZ LOOP_ADD
0039 EC 52 MOV A,R4
003A 6A 53 XRL A,R2
003B 70E4 54 JNZ LOOP_ADD
003D 22 55 RET
56
57 ;---------------------------------------------------------------------
58 ;左移出屏数据装载
A51 MACRO ASSEMBLER FUTION 11/12/2007 20:24:08 PAGE 2
59 ;---------------------------------------------------------------------
003E 60 _MOVEDATA_L: ;MOV R7,#4D ;源地址
61 ;MOV R6,#3D
62 ;MOV R5,#3D ;目的地址
63 ;MOV R4,#3D
64 ;R3 ;终止地址
65 ;R2
66 ;R1
67 ;R0
003E 8F82 68 MOV DPL,R7
0040 8E83 69 MOV DPH,R6
0042 E9 70 MOV A,R1
0043 C0E0 71 PUSH ACC
0045 ED 72 MOV A,R5
0046 F9 73 MOV R1,A
74
0047 EB 75 LOOP: MOV A,R3
0048 FA 76 MOV R2,A
77
0049 78 LOOP_L:
0049 E0 79 MOVX A,@DPTR ;得到一个数据
004A 33 80 RLC A
004B 8CA0 81 MOV P2,R4
004D F3 82 MOVX @R1,A ;写入其他地址
83
004E C0D0 84 PUSH PSW
85
0050 C582 86 XCH A,DPL
0052 14 87 DEC A
0053 B4FF02 88 CJNE A,#0FFH,LOOP_DPTR
0056 1583 89 DEC DPH
0058 C582 90 LOOP_DPTR: XCH A,DPL
91
005A 19 92 DEC R1
005B B9FF01 93 CJNE R1,#0FFH,LOOP_DPTR2
005E 1C 94 DEC R4
005F 95 LOOP_DPTR2:
005F D0D0 96 POP PSW
0061 DAE6 97 DJNZ R2,LOOP_L
98
0063 EB 99 MOV A,R3
0064 2B 100 ADD A,R3
0065 2582 101 ADD A,DPL
0067 F582 102 MOV DPL,A
0069 E583 103 MOV A,DPH
006B 3400 104 ADDC A,#0D
006D F583 105 MOV DPH,A
106
006F EB 107 MOV A,R3
0070 2B 108 ADD A,R3
0071 29 109 ADD A,R1
0072 F9 110 MOV R1,A
0073 EC 111 MOV A,R4
0074 3400 112 ADDC A,#0D
0076 FC 113 MOV R4,A
0077 D8CE 114 DJNZ R0,LOOP
0079 D0E0 115 POP ACC
007B F9 116 MOV R1,A
007C 22 117 RET
118 ;---------------------------------------------------------------------
119 ;左移出屏数据装载
120 ;---------------------------------------------------------------------
007D 121 _MOVEDATA_R: ;MOV R7,#4D ;源地址
122 ;MOV R6,#3D
123 ;MOV R5,#3D ;目的地址
124 ;MOV R4,#3D
A51 MACRO ASSEMBLER FUTION 11/12/2007 20:24:08 PAGE 3
125 ;MOV R3,#23D ;终止地址
126 ;MOV R2,#2D
127
007D 8E83 128 MOV DPH,R6
007F 8F82 129 MOV DPL,R7
0081 850500 130 MOV 00H,05H
0084 C0D0 131 PUSH PSW
132
0086 D0D0 133 LOOP_R: POP PSW
0088 E0 134 MOVX A,@DPTR ;得到一个数据
0089 A3 135 INC DPTR
008A 13 136 RRC A
008B 8CA0 137 MOV P2,R4
008D F3 138 MOVX @R1,A ;写入其他地址
008E C0D0 139 PUSH PSW
140
0090 09 141 INC R1
0091 B90001 142 CJNE R1,#0D,LOOP_R_NEXT
0094 0C 143 INC R4
144
0095 E9 145 LOOP_R_NEXT: MOV A,R1
0096 6B 146 XRL A,R3
0097 70ED 147 JNZ LOOP_R
0099 EC 148 MOV A,R4
009A 6A 149 XRL A,R2
009B 70E9 150 JNZ LOOP_R
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -