📄 test.ls1
字号:
202 ;
203 ; void delay(void){
204
---- 205 RSEG ?PR?delay?TEST
0000 206 delay:
207 USING 0
208 ; SOURCE LINE # 62
209 ; long i;
210 ; for(i=0;i<0x8000;i++);
211 ; SOURCE LINE # 64
0000 750000 F 212 MOV i?040+03H,#00H
0003 750000 F 213 MOV i?040+02H,#00H
0006 750000 F 214 MOV i?040+01H,#00H
0009 750000 F 215 MOV i?040,#00H
000C 216 ?C0001:
000C 7F00 217 MOV R7,#00H
000E 7E80 218 MOV R6,#080H
0010 7D00 219 MOV R5,#00H
0012 7C00 220 MOV R4,#00H
0014 AB00 F 221 MOV R3,i?040+03H
0016 AA00 F 222 MOV R2,i?040+02H
0018 A900 F 223 MOV R1,i?040+01H
001A A800 F 224 MOV R0,i?040
001C C3 225 CLR C
001D 120000 F 226 LCALL ?C?SLCMP
0020 5022 227 JNC ?C0004
0022 228 ?C0003:
0022 AF00 F 229 MOV R7,i?040+03H
0024 AE00 F 230 MOV R6,i?040+02H
0026 AD00 F 231 MOV R5,i?040+01H
0028 AC00 F 232 MOV R4,i?040
002A 7B01 233 MOV R3,#01H
002C 7A00 234 MOV R2,#00H
002E 7900 235 MOV R1,#00H
0030 7800 236 MOV R0,#00H
0032 EF 237 MOV A,R7
0033 2B 238 ADD A,R3
0034 F500 F 239 MOV i?040+03H,A
0036 EE 240 MOV A,R6
0037 3A 241 ADDC A,R2
0038 F500 F 242 MOV i?040+02H,A
003A ED 243 MOV A,R5
003B 39 244 ADDC A,R1
003C F500 F 245 MOV i?040+01H,A
003E EC 246 MOV A,R4
003F 38 247 ADDC A,R0
0040 F500 F 248 MOV i?040,A
0042 80C8 249 SJMP ?C0001
0044 250 ?C0002:
251 ; }
A51 MACRO ASSEMBLER TEST 01/27/2003 20:49:48 PAGE 5
252 ; SOURCE LINE # 65
0044 253 ?C0004:
0044 22 254 RET
255 ; END OF delay
256
257 ;
258 ; sbit P3_4 = P3^4;
259 ; sbit csx = P1^4;
260 ; sbit csy = P1^5;
261 ; sbit csz = P1^6;
262 ;
263 ;
264 ; void main (void) {
265
---- 266 RSEG ?PR?main?TEST
0000 267 main:
268 USING 0
269 ; SOURCE LINE # 73
270 ;
271 ; // unsigned char xdata *address;
272 ; unsigned char test;
273 ; // unsigned char adh,adl;
274 ; unsigned int i;
275 ;
276 ; // delay();
277 ; P3_4 = 0;
278 ; SOURCE LINE # 81
0000 C2B4 279 CLR P3_4
280 ; delay();
281 ; SOURCE LINE # 82
0002 120000 F 282 LCALL delay
283 ;
284 ; /*Setup the serial port for 1200 baud at 16MHz.
285 ; ------------------------------------------------*/
286 ; #ifndef MONITOR51
287 ; SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable
rcvr */
288 ; SOURCE LINE # 87
0005 759850 289 MOV SCON,#050H
290 ; TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload
*/
291 ; SOURCE LINE # 88
0008 438920 292 ORL TMOD,#020H
293 ; TH1 = 0xFD; /* TH1: reload value for 9600 baud @ 11.0
592MHz */
294 ; SOURCE LINE # 89
000B 758DFD 295 MOV TH1,#0FDH
296 ; TL1 = 0xFD;
297 ; SOURCE LINE # 90
000E 758BFD 298 MOV TL1,#0FDH
299 ; TR1 = 1; /* TR1: timer 1 run
*/
300 ; SOURCE LINE # 91
0011 D28E 301 SETB TR1
302 ; TI = 1; /* TI: set TI to send first char of UART
*/
303 ; SOURCE LINE # 92
0013 D299 304 SETB TI
305 ; #endif
306 ;
307 ; EA = 1; /* Enable global interrupt flag */
308 ; SOURCE LINE # 95
0015 D2AF 309 SETB EA
310 ;
311 ; // TestSerial(); // uncomment this function to verify serial communicatio
n
A51 MACRO ASSEMBLER TEST 01/27/2003 20:49:48 PAGE 6
312 ;
313 ; #if 0 // init ISD51 and start user program until the uVision2 Debugger co
nnects
314 ; ISDinit (); // initialize uVision2 Debugger and continue program r
un
315 ; #endif
316 ;
317 ; #if 0 // init ISD51 and wait until the uVision2 Debugger connects
318 ; ISDwait (); // wait for connection to uVision2 Debugger
319 ; #endif
320 ;
321 ; for (i = 0; i < sizeof (testarray); i++) {
322 ; SOURCE LINE # 107
0017 750000 F 323 MOV i?142,#00H
001A 750000 F 324 MOV i?142+01H,#00H
001D 325 ?C0005:
001D C3 326 CLR C
001E E500 F 327 MOV A,i?142+01H
0020 940A 328 SUBB A,#0AH
0022 E500 F 329 MOV A,i?142
0024 9400 330 SUBB A,#00H
0026 5014 331 JNC ?C0006
332 ; j = testarray[i];
333 ; SOURCE LINE # 108
0028 AF00 F 334 MOV R7,i?142+01H
002A EF 335 MOV A,R7
002B 900000 F 336 MOV DPTR,#testarray
002E 93 337 MOVC A,@A+DPTR
002F FF 338 MOV R7,A
0030 8F00 F 339 MOV j,R7
340 ; }
341 ; SOURCE LINE # 109
0032 342 ?C0007:
0032 0500 F 343 INC i?142+01H
0034 E500 F 344 MOV A,i?142+01H
0036 7002 345 JNZ ?C0015
0038 0500 F 346 INC i?142
003A 347 ?C0015:
003A 80E1 348 SJMP ?C0005
003C 349 ?C0006:
350 ;
351 ; ///////////////////
352 ; P1 = 0x50;
353 ; SOURCE LINE # 112
003C 759050 354 MOV P1,#050H
355 ; XBYTE[0xC400] = 0x01;
356 ; SOURCE LINE # 113
003F 90C400 357 MOV DPTR,#0C400H
0042 7401 358 MOV A,#01H
0044 F0 359 MOVX @DPTR,A
360 ; delay();
361 ; SOURCE LINE # 114
0045 120000 F 362 LCALL delay
363 ; XBYTE[0xC400] = 0x00;
364 ; SOURCE LINE # 115
0048 90C400 365 MOV DPTR,#0C400H
004B E4 366 CLR A
004C F0 367 MOVX @DPTR,A
368 ; P1 = 0;
369 ; SOURCE LINE # 116
004D 759000 370 MOV P1,#00H
371 ; init_7820();
372 ; SOURCE LINE # 117
0050 120000 F 373 LCALL init_7820
374 ; // Loopback_reg = 0x80;
375 ; S_reg = 0xC1; //set 7820 free run
A51 MACRO ASSEMBLER TEST 01/27/2003 20:49:48 PAGE 7
376 ; SOURCE LINE # 119
0053 908415 377 MOV DPTR,#08415H
0056 74C1 378 MOV A,#0C1H
0058 F0 379 MOVX @DPTR,A
380 ;
381 ;
382 ; //init 7860
383 ; P1 = 0x30;
384 ; SOURCE LINE # 123
0059 759030 385 MOV P1,#030H
386 ; XBYTE[0xC400] = 0x01;
387 ; SOURCE LINE # 124
005C 90C400 388 MOV DPTR,#0C400H
005F 7401 389 MOV A,#01H
0061 F0 390 MOVX @DPTR,A
391 ; delay();
392 ; SOURCE LINE # 125
0062 120000 F 393 LCALL delay
394 ; XBYTE[0xC400] = 0x00;
395 ; SOURCE LINE # 126
0065 90C400 396 MOV DPTR,#0C400H
0068 E4 397 CLR A
0069 F0 398 MOVX @DPTR,A
399 ; P1 = 0;
400 ; SOURCE LINE # 127
006A 759000 401 MOV P1,#00H
402 ; init_7860();
403 ; SOURCE LINE # 128
006D 120000 F 404 LCALL init_7860
405 ; Dxc_cntr = 0xA0;
406 ; SOURCE LINE # 129
0070 908803 407 MOV DPTR,#08803H
0073 74A0 408 MOV A,#0A0H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -