📄 att7027.ls1
字号:
00FE 156 CYEAR DATA 0FEH
00A9 157 EMUIE DATA 0A9H
00B1 158 EMUIF DATA 0B1H
00BC 159 CBORCFG DATA 0BCH
00AD 160 KEYIE DATA 0ADH
00AA 161 RTCIE DATA 0AAH
00B2 162 RTCIF DATA 0B2H
00FA 163 CMINR DATA 0FAH
00D0 164 PSW DATA 0D0H
00AC 165 LVIIE DATA 0ACH
00B4 166 LVIIF DATA 0B4H
00FF 167 CWKDR DATA 0FFH
168 ?PR?_Flash_Write_ATT7027?ATT7027 SEGMENT CODE
169 ?DT?_Flash_Write_ATT7027?ATT7027 SEGMENT DATA OVERLAYABLE
170 ?PR?_Flash_Read_ATT7027?ATT7027 SEGMENT CODE
171 ?DT?_Flash_Read_ATT7027?ATT7027 SEGMENT DATA OVERLAYABLE
172 ?PR?_WriteCALATT7027?ATT7027 SEGMENT CODE
173 ?DT?_WriteCALATT7027?ATT7027 SEGMENT DATA OVERLAYABLE
174 ?PR?_ReadATT7027?ATT7027 SEGMENT CODE
175 ?DT?_ReadATT7027?ATT7027 SEGMENT DATA OVERLAYABLE
176 ?PR?_ReadCALATT7027?ATT7027 SEGMENT CODE
177 ?DT?_ReadCALATT7027?ATT7027 SEGMENT DATA OVERLAYABLE
178 ?PR?EMU_Parameter_change1?ATT7027 SEGMENT CODE
179 ?DT?EMU_Parameter_change1?ATT7027 SEGMENT DATA OVERLAYABLE
180 ?PR?Calibration_meter?ATT7027 SEGMENT CODE
181 EXTRN XDATA (meter_para)
182 EXTRN XDATA (Emu_Parameter)
183 EXTRN XDATA (Emu_Parameter_change)
184 EXTRN CODE (?C?CLDPTR)
185 EXTRN CODE (?C?CSTPTR)
186 EXTRN CODE (?C?CLDOPTR)
187 EXTRN CODE (?C?OFFXADD)
188 EXTRN CODE (?C?CSTOPTR)
189 EXTRN CODE (?C?LLDPTR)
A51 MACRO ASSEMBLER ATT7027 04/14/2007 11:59:59 PAGE 4
190 EXTRN CODE (?C?ULCMP)
191 EXTRN CODE (?C?LLDPTR0)
192 EXTRN CODE (?C?LSTPTR)
193 EXTRN CODE (?C?ULSHR)
194 EXTRN CODE (?C?LMUL)
195 EXTRN CODE (?C?ULDIV)
196 EXTRN CODE (?C?LSHL)
197 PUBLIC Calibration_meter
198 PUBLIC EMU_Parameter_change1
199 PUBLIC ?_ReadCALATT7027?BYTE
200 PUBLIC _ReadCALATT7027
201 PUBLIC ?_ReadATT7027?BYTE
202 PUBLIC _ReadATT7027
203 PUBLIC ?_WriteCALATT7027?BYTE
204 PUBLIC _WriteCALATT7027
205 PUBLIC ?_Flash_Read_ATT7027?BYTE
206 PUBLIC _Flash_Read_ATT7027
207 PUBLIC ?_Flash_Write_ATT7027?BYTE
208 PUBLIC _Flash_Write_ATT7027
209
---- 210 RSEG ?DT?_ReadATT7027?ATT7027
0000 211 ?_ReadATT7027?BYTE:
0000 212 addr?356: DS 1
0001 213 mt_data?357: DS 3
0004 214 n?358: DS 1
215
---- 216 RSEG ?DT?_Flash_Read_ATT7027?ATT7027
0000 217 ?_Flash_Read_ATT7027?BYTE:
0000 218 addr?147: DS 2
0002 219 mt_data?148: DS 3
0005 220 n?149: DS 1
221
---- 222 RSEG ?DT?_Flash_Write_ATT7027?ATT7027
0000 223 ?_Flash_Write_ATT7027?BYTE:
0000 224 addr?040: DS 2
0002 225 mt_data?041: DS 3
0005 226 n?042: DS 1
0006 227 ORG 6
0006 228 ADDRL?044: DS 1
0007 229 ADDRH?045: DS 1
0008 230 TEMP?046: DS 1
231
---- 232 RSEG ?DT?EMU_Parameter_change1?ATT7027
0000 233 ?EMU_Parameter_change1?BYTE:
0000 234 i?566: DS 1
0001 235 PA1?567: DS 3
0004 236 PA2?568: DS 3
0007 237 tempA?569: DS 4
238
---- 239 RSEG ?DT?_ReadCALATT7027?ATT7027
0000 240 ?_ReadCALATT7027?BYTE:
0000 241 addr?461: DS 1
0001 242 mt_data?462: DS 3
0004 243 n?463: DS 1
244
---- 245 RSEG ?DT?_WriteCALATT7027?ATT7027
0000 246 ?_WriteCALATT7027?BYTE:
0000 247 addr?251: DS 1
0001 248 mt_data?252: DS 3
0004 249 n?253: DS 1
250 ; #include <ATT7027.H>
251 ; #include <MAIN.H>
252 ; // #include <stddef.h>
253 ; void Flash_Write_ATT7027(unsigned int addr,unsigned char *mt_data,unsigned char n);
254 ; void Flash_Read_ATT7027(unsigned int addr,unsigned char *mt_data,unsigned char n);
255 ; void WriteCALATT7027(unsigned char addr,unsigned char *mt_data,unsigned char n);
A51 MACRO ASSEMBLER ATT7027 04/14/2007 11:59:59 PAGE 5
256 ; void ReadATT7027(unsigned char addr,unsigned char *mt_data,unsigned char n);
257 ; void ReadCALATT7027(unsigned char addr,unsigned char *mt_data,unsigned char n);
258 ; void EMU_Parameter_change1();
259 ; /*******************************************************************
260 ; 写FLASH数据
261 ; 函数原型: void Flash_Write_ATT7027(unsigned int addr,unsigned char *mt_data,unsigned char
n)
262 ; 功能: 将要写的数据写到FLASH中
263 ; 输入: addr 地址,n个数,mt_data存放RAM的指针
264 ; 输出:
265 ; ********************************************************************/
266 ; void Flash_Write_ATT7027(unsigned int addr,unsigned char *mt_data,unsigned char n)
267
---- 268 RSEG ?PR?_Flash_Write_ATT7027?ATT7027
0000 269 _Flash_Write_ATT7027:
270 USING 0
271 ; SOURCE LINE # 17
0000 8E00 F 272 MOV addr?040,R6
0002 8F00 F 273 MOV addr?040+01H,R7
274 ;---- Variable 'mt_data?041' assigned to Register 'R1/R2/R3' ----
275 ; {
276 ; SOURCE LINE # 18
277 ; unsigned char i,ADDRL,ADDRH,TEMP;
278 ; CFMCFG|=0x04;// 允许系统调用
279 ; SOURCE LINE # 20
0004 43BE04 280 ORL CFMCFG,#04H
281 ; for(i=0;i<n;i++)
282 ; SOURCE LINE # 21
283 ;---- Variable 'i?043' assigned to Register 'R5' ----
0007 E4 284 CLR A
0008 FD 285 MOV R5,A
0009 286 ?C0001:
0009 ED 287 MOV A,R5
000A C3 288 CLR C
000B 9500 F 289 SUBB A,n?042
000D 502F 290 JNC ?C0004
291 ; {
292 ; SOURCE LINE # 22
293 ; ADDRL=addr;
294 ; SOURCE LINE # 23
000F 850000 F 295 MOV ADDRL?044,addr?040+01H
296 ; ADDRH=addr>>4;
297 ; SOURCE LINE # 24
0012 E500 F 298 MOV A,addr?040
0014 C4 299 SWAP A
0015 F8 300 MOV R0,A
0016 54F0 301 ANL A,#0F0H
0018 C8 302 XCH A,R0
0019 E500 F 303 MOV A,addr?040+01H
001B C4 304 SWAP A
001C 540F 305 ANL A,#0FH
001E 48 306 ORL A,R0
001F F500 F 307 MOV ADDRH?045,A
308 ; TEMP=*mt_data;
309 ; SOURCE LINE # 25
0021 120000 F 310 LCALL ?C?CLDPTR
0024 F500 F 311 MOV TEMP?046,A
312 ; BWPR=0xC3;//使能写PMOD[1:0]操作
313 ; SOURCE LINE # 26
0026 759AC3 314 MOV BWPR,#0C3H
315 ; BWPR=0x9B;//开启所有受保护位的写使能
316 ; SOURCE LINE # 27
0029 759A9B 317 MOV BWPR,#09BH
318 ; /* #pragma asm
319 ; MOV R6,ADDRH //指定要擦除的页的
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -