OpenCores
URL https://opencores.org/ocsvn/8051/8051/trunk

Subversion Repositories 8051

[/] [8051/] [trunk/] [asm/] [timer2_test.asm] - Blame information for rev 185

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 79 simont
; b:  error code
2
; r3: timer high expected value
3
; r4: timer low expected value
4
 
5
 
6
t2con   EQU 0c8h;
7
rcap2l  EQU 0cah;
8
rcap2h  EQU 0cbh;
9
tl2     EQU 0cch;
10
th2     EQU 0cdh;
11
 
12
tr2     EQU 0cah;
13
exen2   EQU 0cbh;
14
exf2    EQU 0ceh;
15
tf2     EQU 0cfh;
16
 
17
        ajmp start;
18
 
19
        org 03h ;       external interrupt 0
20
        reti;
21
 
22
        org 0bh ;       t/c 0 interrupt
23
        reti;
24
 
25
        org 13h ;       external interrupt 1
26
        reti;
27
 
28
        org 1bh ;       t/c 1 interrupt
29
        reti;
30
 
31
        org 23h ;       serial interface interrupt
32
        reti;
33
 
34
        org 2bh;        t/c 2 interrupt
35
        reti;
36
 
37
 
38
test2:
39
        mov a, th2      ;
40
        subb a, r3      ;
41
        jnz error       ;
42
 
43
        mov a,tl2       ;
44
        subb a, r4      ;
45
        jnz error       ;
46
 
47
        ret;
48
 
49
 
50
error:
51
        mov p1, b;
52
        nop;
53
        ajmp error;
54
 
55 155 simont
 
56 131 simont
wait:
57
        dec a           ; 1
58
        nop             ; 1
59
        nop             ; 1
60
        nop             ; 1
61
        nop             ; 1
62
        nop             ; 1
63
        nop             ; 1
64
        nop             ; 1
65 155 simont
        jnz wait        ; 4
66
        nop;
67
;       nop;
68
        nop;
69
        ret             ; 4
70 79 simont
 
71 131 simont
 
72 155 simont
 
73 79 simont
start:
74
        clr a;
75
        mov r0, a;
76
        mov r1, a;
77
        mov ie, #00h    ;disable interrupts
78
        clr c;
79
 
80
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
81
;
82
; timer 2 test
83
;
84
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
85
;
86
; capture mode
87
;
88
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
89
 
90
        mov tcon, #000h ; disable t/c 0,1
91
        mov t2con, #01h; timer 2 capture mode,
92
        mov th2, #000h  ;load timer 2
93
        mov tl2, #000h  ;
94
        setb tr2        ;start timer 2;
95 131 simont
        mov a, #03h     ; 1
96
        acall wait      ; 2
97 155 simont
 
98 79 simont
        clr tr2         ;stop timer 2
99
        mov b, #00h     ; error 0
100
        mov r3, #000h   ;
101
        mov r4, #004h   ;
102
        acall test2     ;
103
 
104
        mov tl2, #0fch  ; load timer 2
105
        setb tr2        ; start timer 2;
106 131 simont
        mov a, #04h     ;
107
        acall wait      ;
108 155 simont
 
109 79 simont
        clr tr2         ; stop timer 2
110
        mov b, #01h     ; error 1
111
        mov r3, #001h   ;
112
        mov r4, #001h   ;
113
        acall test2     ;
114
 
115
        mov tl2, #0fch  ;
116
        mov th2, #0ffh  ;
117
        setb tr2        ;start timer 2
118 131 simont
        mov a, #05h     ;
119
        acall wait      ;
120 155 simont
 
121 79 simont
        clr tr2         ;stop timer 0
122
        mov b, #02h     ; error 2
123
        mov r3, #000h   ;
124
        mov r4, #002h   ;
125
        acall test2     ;
126
        mov b, #03h     ; error 3
127
        jnb tf2, error  ;
128
        clr tf2         ;
129
 
130
        mov p0, #01h;
131
;
132
; test exen2
133
;
134
        mov rcap2l, #43h
135
        mov rcap2h, #21h
136
        mov th2, #23h   ;
137
        mov tl2, #45h   ;
138
        clr p3.2        ;
139
        setb p3.2       ;
140
        mov a, #10h     ;
141
loop1:  nop             ;
142
        dec a           ;
143
        jnz loop1       ;
144
        mov a, rcap2l   ;
145
        mov psw, #00h   ;
146
        mov b, #04h     ;error 4
147
        subb a, #43h    ;
148
        jnz error0      ;
149
        mov a, rcap2h   ;
150
        subb a, #21h    ;
151
        jnz error0      ;
152
 
153
        mov b, #05h     ;error 5
154
        jb exf2, error0 ;
155
        clr exf2        ;
156
 
157
        setb exen2      ;
158
        clr p3.2        ;
159
        setb p3.2       ;
160
        mov a, #10h     ;
161
loop2:  nop             ;
162
        dec a           ;
163
        jnz loop2       ;
164
        mov a, rcap2l   ;
165
        mov psw, #00h   ;
166
        mov b, #06h     ;error 6
167
        subb a, #45h    ;
168
        jnz error0      ;
169
        mov a, rcap2h   ;
170
        subb a, #23h    ;
171
        jnz error0      ;
172
 
173
        mov b, #07h     ;error 7
174
        jnb exf2, error0;
175
        clr exf2        ;
176
 
177
        mov p0, #02h;
178 131 simont
 
179 79 simont
        ajmp arm;
180
 
181
error0:
182
        ljmp error;
183
 
184
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
185
;
186 131 simont
; auto reload mode
187 79 simont
;
188
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
189
arm:
190
        mov t2con, #00h ; t/c 2 in auto reload mode
191
        mov th2, #000h  ;load timer 2
192
        mov tl2, #000h  ;
193
        mov rcap2l, #11h;
194
        mov rcap2h, #22h;
195
        setb tr2        ;start timer 2;
196 131 simont
        mov a, #03h     ;
197
        acall wait      ;
198 155 simont
 
199 79 simont
        clr tr2         ;stop timer 2
200
        mov b, #08h     ; error 8
201
        mov r3, #000h   ;
202
        mov r4, #004h   ;
203
        acall test2     ;
204
 
205
        mov tl2, #0fch  ; load timer 2
206
        setb tr2        ; start timer 2
207 131 simont
        mov a, #04h     ;
208
        acall wait      ;
209 155 simont
 
210 79 simont
        clr tr2         ; stop timer 2
211
        mov b, #09h     ; error 9
212
        mov r3, #001h   ;
213
        mov r4, #001h   ;
214
        acall test2     ;
215
 
216
        mov b, #0ah     ; error a
217
        jb  tf2, error0 ;
218
        clr tf2 ;
219
 
220
 
221
        mov tl2, #0fch  ;
222
        mov th2, #0ffh  ;
223
        setb tr2        ;start timer 2
224 131 simont
        mov a, #05h     ;
225
        acall wait      ;
226 155 simont
 
227 79 simont
        clr tr2         ;stop timer 0
228
        mov b, #0bh     ; error b
229
        mov r3, #022h   ;
230
        mov r4, #013h   ;
231
        acall test2     ;
232
 
233
        mov b, #0ch     ; error c
234
        jnb tf2, error0 ;
235
        clr tf2 ;
236
 
237
 
238
        mov a, rcap2l   ;
239
        mov psw, #00h   ;
240
        mov b, #0f0h    ;error f0
241
        subb a, #11h    ;
242
        jnz error1      ;
243
        mov a, rcap2h   ;
244
        subb a, #22h    ;
245
        jnz error0      ;
246
 
247
        mov p0, #03h;
248
 
249
 
250
;
251
; test exen2
252
;
253
        mov rcap2l, #12h
254
        mov rcap2h, #34h
255
        mov tl2, #56h   ;
256
        mov th2, #78h   ;
257
        clr p3.2        ;
258
        setb p3.2       ;
259
        mov a, #10h     ;
260
loop3:  nop             ;
261
        dec a           ;
262
        jnz loop3       ;
263
 
264
        mov b, #0dh     ; error d
265
        mov r3, #078h   ;
266
        mov r4, #056h   ;
267
        acall test2     ;
268
 
269
        mov b, #0eh     ; error e
270
        jb exf2, error1 ;
271
        clr exf2        ;
272
 
273
        setb exen2      ;
274
        clr p3.2        ;
275
        setb p3.2       ;
276
        mov a, #10h     ;
277
loop4:  nop             ;
278
        dec a           ;
279
        jnz loop4       ;
280
 
281
        mov b, #0fh     ; error f
282
        mov r3, #034h   ;
283
        mov r4, #012h   ;
284
        acall test2     ;
285
 
286
        mov b, #10h     ;error 10
287
        jnb exf2, error1;
288
        clr exf2        ;
289
 
290
        mov a, rcap2l   ;
291
        mov psw, #00h   ;
292
        mov b, #0f1h    ;error f1
293
        subb a, #12h    ;
294
        jnz error1      ;
295
        mov a, rcap2h   ;
296
        subb a, #34h    ;
297
        jnz error1      ;
298
 
299
        mov p0, #04h    ;
300
 
301 131 simont
        ajmp brate;
302 79 simont
 
303
 
304
error1:
305
        ljmp error;
306
 
307
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
308
;
309
; baud rate generator
310
;
311
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
312
brate:
313
        mov t2con, #10h ; t/c 2 in baud rate generator mode
314
        mov th2, #000h  ;load timer 2
315
        mov tl2, #000h  ;
316
        mov rcap2l, #11h;
317
        mov rcap2h, #22h;
318
        setb tr2        ;start timer 2;
319 131 simont
        mov a, #03h     ;
320
        acall wait      ;
321 155 simont
 
322 79 simont
        clr tr2         ;stop timer 2
323
        mov b, #20h     ; error 20
324
        mov r3, #000h   ;
325
        mov r4, #004h   ;
326
        acall test2     ;
327
 
328
        mov t2con, #20h ;
329
        mov tl2, #0fch  ; load timer 2
330
        setb tr2        ; start timer 2
331 131 simont
        mov a, #04h     ;
332
        acall wait      ;
333 155 simont
 
334 79 simont
        clr tr2         ; stop timer 2
335
        mov b, #021h    ; error 21
336
        mov r3, #001h   ;
337
        mov r4, #001h   ;
338
        acall test2     ;
339
 
340
        mov b, #22h     ; error 22
341 131 simont
        jb  tf2, error1 ;
342 79 simont
        clr tf2 ;
343
 
344
 
345
        mov tl2, #0fch  ;
346
        mov th2, #0ffh  ;
347
        setb tr2        ;start timer 2
348 131 simont
        mov a, #05h     ;
349
        acall wait      ;
350 155 simont
 
351 79 simont
        clr tr2         ;stop timer 0
352
        mov b, #23h     ; error 23
353
        mov r3, #022h   ;
354
        mov r4, #013h   ;
355
        acall test2     ;
356
 
357
        mov b, #24h     ; error 24
358 131 simont
        jb tf2, error1  ;
359 79 simont
        clr tf2 ;
360
 
361
 
362
        mov a, rcap2l   ;
363
        mov psw, #00h   ;
364
        mov b, #0f4h    ;error f4
365
        subb a, #11h    ;
366 131 simont
        jnz error1      ;
367 79 simont
        mov a, rcap2h   ;
368
        subb a, #22h    ;
369 131 simont
        jnz error1      ;
370 79 simont
 
371
        mov p0, #07h;
372
 
373
 
374
;
375
; test exen2
376
;
377
        mov tl2, #56h   ;
378
        mov th2, #78h   ;
379
        setb p3.2       ;
380
        clr p3.2        ;
381
        setb p3.2       ;
382
        mov a, #10h     ;
383
loop5:  nop             ;
384
        dec a           ;
385
        jnz loop5       ;
386
 
387
        mov b, #25h     ; error 25
388
        mov r3, #078h   ;
389
        mov r4, #056h   ;
390
        acall test2     ;
391
 
392
        mov b, #0eh     ; error e
393
        jb exf2, error3 ;
394
        clr exf2        ;
395
 
396
        setb exen2      ;
397
        clr p3.2        ;
398
        setb p3.2       ;
399
        mov a, #10h     ;
400
loop6:  nop             ;
401
        dec a           ;
402
        jnz loop6       ;
403
 
404
        mov b, #26h     ; error 26
405
        mov r3, #078h   ;
406
        mov r4, #056h   ;
407
        acall test2     ;
408
 
409
        mov b, #27h     ;error 27
410
        jnb exf2, error3;
411
        clr exf2        ;
412
 
413
 
414
        mov p0, #08h    ;
415
        ajmp counter;
416
 
417
error3:
418
        ljmp error;
419
 
420
 
421
 
422
 
423
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
424
;
425
; counter 2 test
426
;
427
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
428
;
429
; capture mode
430
;
431
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
432
counter:
433
        mov tcon, #000h ; disable t/c 0,1
434
        mov t2con, #03h; timer 2 capture mode,
435
        mov th2, #000h  ;load timer 2
436
        mov tl2, #000h  ;
437
        setb tr2        ;start timer 2;
438
        cpl p3.5;
439
        cpl p3.5;
440
        cpl p3.5;
441
        cpl p3.5;
442
        cpl p3.5;
443
        cpl p3.5;
444
        cpl p3.5;
445
        cpl p3.5;
446
        clr tr2         ;stop timer 2
447
        mov b, #00h     ; error 0
448
        mov r3, #000h   ;
449
        mov r4, #004h   ;
450
        acall test2     ;
451
 
452
        mov tl2, #0fch  ; load timer 2
453
        setb tr2        ; start timer 2;
454
        cpl p3.5;
455
        cpl p3.5;
456
        cpl p3.5;
457
        cpl p3.5;
458
        cpl p3.5;
459
        cpl p3.5;
460
        cpl p3.5;
461
        cpl p3.5;
462
        cpl p3.5;
463
        cpl p3.5;
464
        clr tr2         ; stop timer 2
465
        mov b, #01h     ; error 1
466
        mov r3, #001h   ;
467
        mov r4, #001h   ;
468
        acall test2     ;
469
 
470
        mov tl2, #0fch  ;
471
        mov th2, #0ffh  ;
472
        setb tr2        ;start timer 2
473
        cpl p3.5;
474
        cpl p3.5;
475
        cpl p3.5;
476
        cpl p3.5;
477
        cpl p3.5;
478
        cpl p3.5;
479
        cpl p3.5;
480
        cpl p3.5;
481
        cpl p3.5;
482
        cpl p3.5;
483
        cpl p3.5;
484
        cpl p3.5;
485
        clr tr2         ;stop timer 0
486
        mov b, #02h     ; error 2
487
        mov r3, #000h   ;
488
        mov r4, #002h   ;
489
        acall test2     ;
490
        mov b, #03h     ; error 3
491
        jnb tf2, error4 ;
492
        clr tf2         ;
493
 
494
        mov p0, #09h;
495
;
496
; test exen2
497
;
498
        mov rcap2l, #43h
499
        mov rcap2h, #21h
500
        mov th2, #23h   ;
501
        mov tl2, #45h   ;
502
        clr p3.2        ;
503
        setb p3.2       ;
504
        mov a, #10h     ;
505
loop7:  nop             ;
506
        dec a           ;
507
        jnz loop7       ;
508
        mov a, rcap2l   ;
509
        mov psw, #00h   ;
510
        mov b, #04h     ;error 4
511
        subb a, #43h    ;
512
        jnz error4      ;
513
        mov a, rcap2h   ;
514
        subb a, #21h    ;
515
        jnz error4      ;
516
 
517
        mov b, #05h     ;error 5
518
        jb exf2, error4 ;
519
        clr exf2        ;
520
 
521
        setb exen2      ;
522
        clr p3.2        ;
523
        setb p3.2       ;
524
        mov a, #10h     ;
525
loop8:  nop             ;
526
        dec a           ;
527
        jnz loop8       ;
528
        mov a, rcap2l   ;
529
        mov psw, #00h   ;
530
        mov b, #06h     ;error 6
531
        subb a, #45h    ;
532
        jnz error4      ;
533
        mov a, rcap2h   ;
534
        subb a, #23h    ;
535
        jnz error4      ;
536
 
537
        mov b, #07h     ;error 7
538
        jnb exf2, error4;
539
        clr exf2        ;
540
 
541
        mov p0, #0ah;
542
 
543
        ajmp armc;
544
 
545
error4:
546
        ljmp error;
547
 
548
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
549
;
550 131 simont
; auto reload mode
551 79 simont
;
552
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
553
armc:
554
        mov t2con, #02h ; t/c 2 in auto reload mode
555
        mov th2, #000h  ;load timer 2
556
        mov tl2, #000h  ;
557
        mov rcap2l, #11h;
558
        mov rcap2h, #22h;
559
        setb tr2        ;start timer 2;
560
        cpl p3.5;
561
        cpl p3.5;
562
        cpl p3.5;
563
        cpl p3.5;
564
        cpl p3.5;
565
        cpl p3.5;
566
        cpl p3.5;
567
        cpl p3.5;
568
        clr tr2         ;stop timer 2
569
        mov b, #08h     ; error 8
570
        mov r3, #000h   ;
571
        mov r4, #004h   ;
572
        acall test2     ;
573
 
574
        mov tl2, #0fch  ; load timer 2
575
        setb tr2        ; start timer 2
576
        cpl p3.5;
577
        cpl p3.5;
578
        cpl p3.5;
579
        cpl p3.5;
580
        cpl p3.5;
581
        cpl p3.5;
582
        cpl p3.5;
583
        cpl p3.5;
584
        cpl p3.5;
585
        cpl p3.5;
586
        clr tr2         ; stop timer 2
587
        mov b, #09h     ; error 9
588
        mov r3, #001h   ;
589
        mov r4, #001h   ;
590
        acall test2     ;
591
 
592
        mov b, #0ah     ; error a
593
        jb  tf2, error4 ;
594
        clr tf2 ;
595
 
596
 
597
        mov tl2, #0fch  ;
598
        mov th2, #0ffh  ;
599
        setb tr2        ;start timer 2
600
        cpl p3.5;
601
        cpl p3.5;
602
        cpl p3.5;
603
        cpl p3.5;
604
        cpl p3.5;
605
        cpl p3.5;
606
        cpl p3.5;
607
        cpl p3.5;
608
        cpl p3.5;
609
        cpl p3.5;
610
        cpl p3.5;
611
        cpl p3.5;
612
        clr tr2         ;stop timer 0
613
        mov b, #0bh     ; error b
614
        mov r3, #022h   ;
615
        mov r4, #013h   ;
616
        acall test2     ;
617
 
618
        mov b, #0ch     ; error c
619
        jnb tf2, error5 ;
620
        clr tf2 ;
621
 
622
 
623
        mov a, rcap2l   ;
624
        mov psw, #00h   ;
625
        mov b, #0f0h    ;error f0
626
        subb a, #11h    ;
627
        jnz error5      ;
628
        mov a, rcap2h   ;
629
        subb a, #22h    ;
630
        jnz error5      ;
631
 
632
        mov p0, #0bh;
633
 
634
 
635
;
636
; test exen2
637
;
638
        mov rcap2l, #12h
639
        mov rcap2h, #34h
640
        mov tl2, #56h   ;
641
        mov th2, #78h   ;
642
        clr p3.2        ;
643
        setb p3.2       ;
644
        mov a, #10h     ;
645
loop9:  nop             ;
646
        dec a           ;
647
        jnz loop9       ;
648
 
649
        mov b, #0dh     ; error d
650
        mov r3, #078h   ;
651
        mov r4, #056h   ;
652
        acall test2     ;
653
 
654
        mov b, #0eh     ; error e
655
        jb exf2, error5 ;
656
        clr exf2        ;
657
 
658
        setb exen2      ;
659
        clr p3.2        ;
660
        setb p3.2       ;
661
        mov a, #10h     ;
662
loop10: nop             ;
663
        dec a           ;
664
        jnz loop10      ;
665
 
666
        mov b, #0fh     ; error f
667
        mov r3, #034h   ;
668
        mov r4, #012h   ;
669
        acall test2     ;
670
 
671
        mov b, #10h     ;error 10
672
        jnb exf2, error5;
673
        clr exf2        ;
674
 
675
        mov a, rcap2l   ;
676
        mov psw, #00h   ;
677
        mov b, #0f1h    ;error f1
678
        subb a, #12h    ;
679
        jnz error5      ;
680
        mov a, rcap2h   ;
681
        subb a, #34h    ;
682
        jnz error5      ;
683
 
684
        mov p0, #0ch    ;
685
 
686 131 simont
        ajmp bratec;
687 79 simont
 
688
 
689
error5:
690
        ljmp error;
691
 
692
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
693
;
694
; baud rate generator
695
;
696
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
697
bratec:
698
        mov t2con, #12h ; t/c 2 in baud rate generator mode
699
        mov th2, #000h  ;load timer 2
700
        mov tl2, #000h  ;
701
        mov rcap2l, #11h;
702
        mov rcap2h, #22h;
703
        setb tr2        ;start timer 2;
704
        cpl p3.5;
705
        cpl p3.5;
706
        cpl p3.5;
707
        cpl p3.5;
708
        cpl p3.5;
709
        cpl p3.5;
710
        cpl p3.5;
711
        cpl p3.5;
712
        clr tr2         ;stop timer 2
713
        mov b, #20h     ; error 20
714
        mov r3, #000h   ;
715
        mov r4, #004h   ;
716
        acall test2     ;
717
 
718
        mov tl2, #0fch  ; load timer 2
719
        setb tr2        ; start timer 2
720
        cpl p3.5;
721
        cpl p3.5;
722
        cpl p3.5;
723
        cpl p3.5;
724
        cpl p3.5;
725
        cpl p3.5;
726
        cpl p3.5;
727
        cpl p3.5;
728
        cpl p3.5;
729
        cpl p3.5;
730
        clr tr2         ; stop timer 2
731
        mov b, #021h    ; error 21
732
        mov r3, #001h   ;
733
        mov r4, #001h   ;
734
        acall test2     ;
735
 
736
        mov b, #22h     ; error 22
737 131 simont
        jb  tf2, error5 ;
738 79 simont
        clr tf2 ;
739
 
740
 
741
        mov tl2, #0fch  ;
742
        mov th2, #0ffh  ;
743
        setb tr2        ;start timer 2
744
        cpl p3.5;
745
        cpl p3.5;
746
        cpl p3.5;
747
        cpl p3.5;
748
        cpl p3.5;
749
        cpl p3.5;
750
        cpl p3.5;
751
        cpl p3.5;
752
        cpl p3.5;
753
        cpl p3.5;
754
        clr tr2         ;stop timer 0
755
        mov b, #23h     ; error 23
756
        mov r3, #022h   ;
757 131 simont
        mov r4, #012h   ;
758
        lcall test2     ;
759 79 simont
 
760
        mov b, #24h     ; error 24
761
        jb tf2, error8  ;
762
        clr tf2 ;
763
 
764
 
765
        mov a, rcap2l   ;
766
        mov psw, #00h   ;
767
        mov b, #0f4h    ;error f4
768
        subb a, #11h    ;
769
        jnz error8      ;
770
        mov a, rcap2h   ;
771
        subb a, #22h    ;
772
        jnz error8      ;
773
 
774
        mov p0, #0fh;
775
 
776
 
777
;
778
; test exen2
779
;
780
        mov tl2, #56h   ;
781
        mov th2, #78h   ;
782
        setb p3.2       ;
783
        clr p3.2        ;
784
        setb p3.2       ;
785
        mov a, #10h     ;
786
loop11: nop             ;
787
        dec a           ;
788
        jnz loop11      ;
789
 
790
        mov b, #25h     ; error 25
791
        mov r3, #078h   ;
792
        mov r4, #056h   ;
793
        lcall test2     ;
794
 
795
        mov b, #0eh     ; error e
796
        jb exf2, error8 ;
797
        clr exf2        ;
798
 
799
        setb exen2      ;
800
        clr p3.2        ;
801
        setb p3.2       ;
802
        mov a, #10h     ;
803
loop12: nop             ;
804
        dec a           ;
805
        jnz loop12      ;
806
 
807
        mov b, #26h     ; error 26
808
        mov r3, #078h   ;
809
        mov r4, #056h   ;
810
        lcall test2     ;
811
 
812
        mov b, #27h     ;error 27
813
        jnb exf2, error8;
814
        clr exf2        ;
815
 
816
        mov p0, #10h    ;
817
 
818
        ajmp finish     ;
819
 
820
error8:
821
        ljmp error;
822
 
823
 
824
 
825
 
826
finish:
827
        nop;
828
        nop;
829
        ajmp finish;
830
 
831
 
832
 
833
end
834
 
835
 
836
 
837
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.