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

Subversion Repositories t48

[/] [t48/] [tags/] [rel_0_2_beta/] [sw/] [verif/] [black_box/] [xch/] [rr/] [test.asm] - Blame information for rev 252

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

Line No. Rev Author Line
1 12 arniml
        ;; *******************************************************************
2
        ;; $Id: test.asm,v 1.1.1.1 2004-03-25 22:29:18 arniml Exp $
3
        ;;
4
        ;; Test XCH A, Rr for RB0 and RB1.
5
        ;; *******************************************************************
6
 
7
        INCLUDE "cpu.inc"
8
        INCLUDE "pass_fail.inc"
9
 
10
        ORG     0
11
 
12
        ;; Start of test
13
 
14
        ;; fill RB0
15
        call    fill
16
 
17
        ;; check RB0
18
        call    check
19
 
20
        ;; fill RB1
21
        sel     rb1
22
        call    fill
23
        sel     rb0
24
 
25
        ;; clear RB0
26
        call    clr_rb0
27
 
28
        ;; check RB1
29
        sel     rb1
30
        call    check
31
 
32
        ;; check RB0 for all 0
33
        mov     r0, #000H
34
        mov     r1, #008H
35
chk0_loop:
36
        mov     a, @r0
37
        jnz     fail
38
        inc     r0
39
        djnz    r1, chk0_loop
40
 
41
pass:   PASS
42
 
43
fail:   FAIL
44
 
45
 
46
        ORG     0300H
47
 
48
fill:   mov     a, #0FEH
49
        mov     r0, a
50
        mov     a, #0FDH
51
        mov     r1, a
52
        mov     a, #0FBH
53
        mov     r2, a
54
        mov     a, #0F7H
55
        mov     r3, a
56
        mov     a, #0EFH
57
        mov     r4, a
58
        mov     a, #0DFH
59
        mov     r5, a
60
        mov     a, #0BFH
61
        mov     r6, a
62
        mov     a, #07FH
63
        mov     r7, a
64
        ret
65
 
66
clr_rb0:
67
        mov     r0, #007H
68
        clr     a
69
clr_loop:
70
        mov     @r0, a
71
        djnz    r0, clr_loop
72
        ret
73
 
74
check:  mov     a, r7
75
        xch     a, r6
76
        xch     a, r5
77
        xch     a, r4
78
        xch     a, r3
79
        xch     a, r2
80
        xch     a, r1
81
        xch     a, r0
82
        xch     a, r7
83
 
84
        mov     a, r0
85
        add     a, #(~(0FFH - (1 << 1)) + 1) & 0FFH
86
        jnz     fail_p3
87
 
88
        mov     a, r1
89
        add     a, #(~(0FFH - (1 << 2)) + 1) & 0FFH
90
        jnz     fail_p3
91
 
92
        mov     a, r2
93
        add     a, #(~(0FFH - (1 << 3)) + 1) & 0FFH
94
        jnz     fail_p3
95
 
96
        mov     a, r3
97
        add     a, #(~(0FFH - (1 << 4)) + 1) & 0FFH
98
        jnz     fail_p3
99
 
100
        mov     a, r4
101
        add     a, #(~(0FFH - (1 << 5)) + 1) & 0FFH
102
        jnz     fail_p3
103
 
104
        mov     a, r5
105
        add     a, #(~(0FFH - (1 << 6)) + 1) & 0FFH
106
        jnz     fail_p3
107
 
108
        mov     a, r6
109
        add     a, #(~(0FFH - (1 << 7)) + 1) & 0FFH
110
        jnz     fail_p3
111
 
112
        mov     a, r7
113
        add     a, #(~(0FFH - (1 << 0)) + 1) & 0FFH
114
        jnz     fail_p3
115
 
116
        ret
117
 
118
fail_p3:
119
        FAIL

powered by: WebSVN 2.1.0

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