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

Subversion Repositories k68

[/] [k68/] [trunk/] [sw/] [misc/] [work.s] - Diff between revs 2 and 4

Only display areas with differences | Details | Blame | View Log

Rev 2 Rev 4
        .data
        .data
 
 
        .align  2
        .align  2
        .text
        .text
_start: /*Start of Program*/
_start: /*Start of Program*/
        bra     init
        bra     init
 
 
init:   /* Allocate Stack, Init Uarts, Say Hello */
init:   /* Allocate Stack, Init Uarts, Say Hello */
        movel   #0x00001000, %a7
        movel   #0x00001000, %a7
        bsr     init_uart
        bsr     init_uart
        bsr     sign_on
        bsr     sign_on
        bra     main
        bra     main
 
 
init_uart: /* Initialize Uarts */
init_uart: /* Initialize Uarts */
        rts
        rts
 
 
stat_a: /* Check UART A readable status */
stat_a: /* Check UART A readable status */
        movel   #0xFFFF0102, %a0
        movel   #0xFFFF0102, %a0
        moveb   %a0@, %d0
        moveb   %a0@, %d0
        andib   #1, %d0
        andib   #1, %d0
        rts
        rts
 
 
read_a: /* Read a byte from UART A */
read_a: /* Read a byte from UART A */
        bsr     stat_a
        bsr     stat_a
        beq     read_a
        beq     read_a
        movel   #0xFFFF0100, %a0
        movel   #0xFFFF0100, %a0
        moveb   %a0@, %d1
        moveb   %a0@, %d1
        rts
        rts
 
 
write_a:/* Write a byte to UART A */
write_a:/* Write a byte to UART A */
        movel   #0xFFFF0102, %a0
        movel   #0xFFFF0102, %a0
write_a_loop:
write_a_loop:
        moveb   %a0@, %d0
        moveb   %a0@, %d0
        nop
        nop
        andib   #2, %d0
        andib   #2, %d0
        nop
        nop
        beq     write_a_loop
        beq     write_a_loop
        movel   #0xFFFF0100, %a0
        movel   #0xFFFF0100, %a0
        moveb   %d1, %a0@
        moveb   %d1, %a0@
        rts
        rts
 
 
stat_b: /* Check UART B readable status */
stat_b: /* Check UART B readable status */
        movel   #0xFFFF0202, %a0
        movel   #0xFFFF0202, %a0
        moveb   %a0@, %d0
        moveb   %a0@, %d0
        andib   #1, %d0
        andib   #1, %d0
        rts
        rts
 
 
read_b: /* Read a byte from UART B */
read_b: /* Read a byte from UART B */
        bsr     stat_b
        bsr     stat_b
        beq     read_b
        beq     read_b
        movel   #0xFFFF0200, %a0
        movel   #0xFFFF0200, %a0
        moveb   %a0@, %d1
        moveb   %a0@, %d1
        rts
        rts
 
 
write_b:/* Write a byte to UART B */
write_b:/* Write a byte to UART B */
        movel   #0xFFFF0202, %a0
        movel   #0xFFFF0202, %a0
write_b_loop:
write_b_loop:
        moveb   %a0@, %d0
        moveb   %a0@, %d0
        nop
        nop
        andib   #2, %d0
        andib   #2, %d0
        nop
        nop
        beq     write_b_loop
        beq     write_b_loop
        movel   #0xFFFF0200, %a0
        movel   #0xFFFF0200, %a0
        moveb   %d1, %a0@
        moveb   %d1, %a0@
        rts
        rts
 
 
sign_on:/* Say Hello on Both UARTS */
sign_on:/* Say Hello on Both UARTS */
        moveb   #0x4B, %d1
        moveb   #0x4B, %d1
        bsr     write_a
        bsr     write_a
        bsr     write_b
        bsr     write_b
        moveb   #0x36, %d1
        moveb   #0x36, %d1
        bsr     write_a
        bsr     write_a
        bsr     write_b
        bsr     write_b
        moveb   #0x68, %d1
        moveb   #0x68, %d1
        bsr     write_a
        bsr     write_a
        bsr     write_b
        bsr     write_b
        moveb   #0x0D, %d1
        moveb   #0x0D, %d1
        bsr     write_a
        bsr     write_a
        bsr     write_b
        bsr     write_b
        moveb   #0x0A, %d1
        moveb   #0x0A, %d1
        bsr     write_a
        bsr     write_a
        bsr     write_b
        bsr     write_b
 
 
main:   /* Main Program Loop */
main:   /* Main Program Loop */
 
 
        /* Check for Data on A */
        /* Check for Data on A */
        bsr     stat_a
        bsr     stat_a
        beq     do_a
        beq     do_a
        bsr     stat_b
        bsr     stat_b
        beq     do_b
        beq     do_b
        bra     main
        bra     main
 
 
do_a:   /* Encrypt A and Write to B */
do_a:   /* Encrypt A and Write to B */
        bsr     read_a
        bsr     read_a
        bsr     encrypt
        bsr     encrypt
        bsr     write_b
        bsr     write_b
        rts
        rts
 
 
do_b:   /* Decrypt B and Write to A */
do_b:   /* Decrypt B and Write to A */
        bsr     read_b
        bsr     read_b
        bsr     decrypt
        bsr     decrypt
        bsr     write_a
        bsr     write_a
        rts
        rts
 
 
decrypt:/* Decrypt Data Through hardware ENC */
decrypt:/* Decrypt Data Through hardware ENC */
        rts
        rts
 
 
encrypt:/* Encrypt Data Through hardware ENC */
encrypt:/* Encrypt Data Through hardware ENC */
        rts
        rts
 
 
        .end
        .end
 
 

powered by: WebSVN 2.1.0

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