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

Subversion Repositories t48

[/] [t48/] [tags/] [rel_0_3_beta/] [sw/] [verif/] [white_box/] [p1_port_reg_conflict/] [test.asm] - Diff between revs 253 and 292

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

Rev 253 Rev 292
        ;; *******************************************************************
        ;; *******************************************************************
        ;; $Id: test.asm,v 1.1 2004-05-17 14:34:41 arniml Exp $
        ;; $Id: test.asm,v 1.1 2004-05-17 14:34:41 arniml Exp $
        ;;
        ;;
        ;; Test P1 conflict for reading port or output register.
        ;; Test P1 conflict for reading port or output register.
        ;; *******************************************************************
        ;; *******************************************************************
        INCLUDE "cpu.inc"
        INCLUDE "cpu.inc"
        INCLUDE "pass_fail.inc"
        INCLUDE "pass_fail.inc"
        ORG     0
        ORG     0
        ;; Start of test
        ;; Start of test
        ;; access testbench peripherals
        ;; access testbench peripherals
        mov     r0, #0FFH
        mov     r0, #0FFH
        mov     a, #002H
        mov     a, #002H
        movx    @r0, a
        movx    @r0, a
        ;; check functionality of P1 testbench peripheral
        ;; check functionality of P1 testbench peripheral
        in      a, p1
        in      a, p1
        inc     a
        inc     a
        jnz     fail
        jnz     fail
        mov     r0, #000H
        mov     r0, #000H
        ;; extern write 00H to P1
        ;; extern write 00H to P1
        clr     a
        clr     a
        movx    @r0, a
        movx    @r0, a
        in      a, p1
        in      a, p1
        jnz     fail
        jnz     fail
        ;; extern write 0AAH to P1
        ;; extern write 0AAH to P1
        mov     a, #0AAH
        mov     a, #0AAH
        movx    @r0, a
        movx    @r0, a
        clr     a
        clr     a
        in      a, p1
        in      a, p1
        add     a, #056H
        add     a, #056H
        jnz     fail
        jnz     fail
        ;; extern write 055H to P1
        ;; extern write 055H to P1
        mov     a, #055H
        mov     a, #055H
        movx    @r0, a
        movx    @r0, a
        clr     a
        clr     a
        in      a, p1
        in      a, p1
        add     a, #0ABH
        add     a, #0ABH
        jnz     fail
        jnz     fail
        ;; reset extern P1 to 0FFH
        ;; reset extern P1 to 0FFH
        dec     a
        dec     a
        movx    @r0, a
        movx    @r0, a
        ;;
        ;;
        ;; Start of real test
        ;; Start of real test
        ;;
        ;;
        ;; Test ORL
        ;; Test ORL
        ;; set internal P1 to 0AAH
        ;; set internal P1 to 0AAH
        mov     a, #0AAH
        mov     a, #0AAH
        outl    p1, a
        outl    p1, a
        in      a, p1
        in      a, p1
        add     a, #056H
        add     a, #056H
        jnz     fail
        jnz     fail
        ;; extern write 055H to P1
        ;; extern write 055H to P1
        mov     a, #055H
        mov     a, #055H
        movx    @r0, a
        movx    @r0, a
        in      a, p1
        in      a, p1
        jnz     fail
        jnz     fail
        ;; set internal P1 to 0ABH, setting P1[0] to 1
        ;; set internal P1 to 0ABH, setting P1[0] to 1
        orl     P1, #001H
        orl     P1, #001H
        in      a, p1
        in      a, p1
        dec     a
        dec     a
        jnz     fail
        jnz     fail
        ;; reset extern P1 to 0FFH
        ;; reset extern P1 to 0FFH
        dec     a
        dec     a
        movx    @r0, a
        movx    @r0, a
        ;; compare P1 vs. 0ABH
        ;; compare P1 vs. 0ABH
        in      a, p1
        in      a, p1
        cpl     a
        cpl     a
        add     a, #0ABH
        add     a, #0ABH
        cpl     a
        cpl     a
        jnz     fail
        jnz     fail
        ;; reset intern P1 to 0FFH
        ;; reset intern P1 to 0FFH
        dec     a
        dec     a
        outl    p1, a
        outl    p1, a
        ;; set internal P1 to 055H
        ;; set internal P1 to 055H
        mov     a, #055H
        mov     a, #055H
        outl    p1, a
        outl    p1, a
        clr     a
        clr     a
        in      a, p1
        in      a, p1
        add     a, #0ABH
        add     a, #0ABH
        jnz     fail
        jnz     fail
        ;; external write 0AAH to P1
        ;; external write 0AAH to P1
        mov     a, #0AAH
        mov     a, #0AAH
        movx    @r0, a
        movx    @r0, a
        ;; set internal P1 to 054H
        ;; set internal P1 to 054H
        anl     P1, #0FEH
        anl     P1, #0FEH
        ;; reset extern P1 to 0FFH
        ;; reset extern P1 to 0FFH
        mov     a, #0FFH
        mov     a, #0FFH
        movx    @r0, a
        movx    @r0, a
        ;; compare P1 vs. 054H
        ;; compare P1 vs. 054H
        in      a, p1
        in      a, p1
        cpl     a
        cpl     a
        add     a, #054H
        add     a, #054H
        cpl     a
        cpl     a
        jnz     fail
        jnz     fail
pass:   PASS
pass:   PASS
fail:   FAIL
fail:   FAIL
 
 

powered by: WebSVN 2.1.0

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