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

Subversion Repositories k68

[/] [k68/] [trunk/] [sw/] [misc/] [work.s] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sybreon
        .data
2
 
3
        .align  2
4
        .text
5
_start: /*Start of Program*/
6
        bra     init
7
 
8
init:   /* Allocate Stack, Init Uarts, Say Hello */
9
        movel   #0x00001000, %a7
10
        bsr     init_uart
11
        bsr     sign_on
12
        bra     main
13
 
14
init_uart: /* Initialize Uarts */
15
        rts
16
 
17
stat_a: /* Check UART A readable status */
18
        movel   #0xFFFF0102, %a0
19
        moveb   %a0@, %d0
20
        andib   #1, %d0
21
        rts
22
 
23
read_a: /* Read a byte from UART A */
24
        bsr     stat_a
25
        beq     read_a
26
        movel   #0xFFFF0100, %a0
27
        moveb   %a0@, %d1
28
        rts
29
 
30
write_a:/* Write a byte to UART A */
31
        movel   #0xFFFF0102, %a0
32
write_a_loop:
33
        moveb   %a0@, %d0
34
        nop
35
        andib   #2, %d0
36
        nop
37
        beq     write_a_loop
38
        movel   #0xFFFF0100, %a0
39
        moveb   %d1, %a0@
40
        rts
41
 
42
stat_b: /* Check UART B readable status */
43
        movel   #0xFFFF0202, %a0
44
        moveb   %a0@, %d0
45
        andib   #1, %d0
46
        rts
47
 
48
read_b: /* Read a byte from UART B */
49
        bsr     stat_b
50
        beq     read_b
51
        movel   #0xFFFF0200, %a0
52
        moveb   %a0@, %d1
53
        rts
54
 
55
write_b:/* Write a byte to UART B */
56
        movel   #0xFFFF0202, %a0
57
write_b_loop:
58
        moveb   %a0@, %d0
59
        nop
60
        andib   #2, %d0
61
        nop
62
        beq     write_b_loop
63
        movel   #0xFFFF0200, %a0
64
        moveb   %d1, %a0@
65
        rts
66
 
67
sign_on:/* Say Hello on Both UARTS */
68
        moveb   #0x4B, %d1
69
        bsr     write_a
70
        bsr     write_b
71
        moveb   #0x36, %d1
72
        bsr     write_a
73
        bsr     write_b
74
        moveb   #0x68, %d1
75
        bsr     write_a
76
        bsr     write_b
77
        moveb   #0x0D, %d1
78
        bsr     write_a
79
        bsr     write_b
80
        moveb   #0x0A, %d1
81
        bsr     write_a
82
        bsr     write_b
83
 
84
main:   /* Main Program Loop */
85
 
86
        /* Check for Data on A */
87
        bsr     stat_a
88
        beq     do_a
89
        bsr     stat_b
90
        beq     do_b
91
        bra     main
92
 
93
do_a:   /* Encrypt A and Write to B */
94
        bsr     read_a
95
        bsr     encrypt
96
        bsr     write_b
97
        rts
98
 
99
do_b:   /* Decrypt B and Write to A */
100
        bsr     read_b
101
        bsr     decrypt
102
        bsr     write_a
103
        rts
104
 
105
decrypt:/* Decrypt Data Through hardware ENC */
106
        rts
107
 
108
encrypt:/* Encrypt Data Through hardware ENC */
109
        rts
110
 
111
        .end

powered by: WebSVN 2.1.0

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