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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [sim/] [testsuite/] [sim/] [h8300/] [ldc.s] - Diff between revs 227 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 227 Rev 816
# Hitachi H8 testcase 'ldc'
# Hitachi H8 testcase 'ldc'
# mach(): all
# mach(): all
# as(h8300):    --defsym sim_cpu=0
# as(h8300):    --defsym sim_cpu=0
# as(h8300h):   --defsym sim_cpu=1
# as(h8300h):   --defsym sim_cpu=1
# as(h8300s):   --defsym sim_cpu=2
# as(h8300s):   --defsym sim_cpu=2
# as(h8sx):     --defsym sim_cpu=3
# as(h8sx):     --defsym sim_cpu=3
# ld(h8300h):   -m h8300helf
# ld(h8300h):   -m h8300helf
# ld(h8300s):   -m h8300self
# ld(h8300s):   -m h8300self
# ld(h8sx):     -m h8300sxelf
# ld(h8sx):     -m h8300sxelf
 
 
        .include "testutils.inc"
        .include "testutils.inc"
        .data
        .data
byte_pre:
byte_pre:
        .byte   0
        .byte   0
byte_src:
byte_src:
        .byte   0xff
        .byte   0xff
byte_post:
byte_post:
        .byte   0
        .byte   0
 
 
        start
        start
 
 
ldc_imm8_ccr:
ldc_imm8_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0xff, ccr      ; set all ccr flags high, immediate operand
        ldc     #0xff, ccr      ; set all ccr flags high, immediate operand
        bcs     .L1             ; carry flag set?
        bcs     .L1             ; carry flag set?
        fail
        fail
.L1:    bvs     .L2             ; overflow flag set?
.L1:    bvs     .L2             ; overflow flag set?
        fail
        fail
.L2:    beq     .L3             ; zero flag set?
.L2:    beq     .L3             ; zero flag set?
        fail
        fail
.L3:    bmi     .L4             ; neg flag set?
.L3:    bmi     .L4             ; neg flag set?
        fail
        fail
.L4:
.L4:
        ldc     #0, ccr          ; set all ccr flags low, immediate operand
        ldc     #0, ccr          ; set all ccr flags low, immediate operand
        bcc     .L5             ; carry flag clear?
        bcc     .L5             ; carry flag clear?
        fail
        fail
.L5:    bvc     .L6             ; overflow flag clear?
.L5:    bvc     .L6             ; overflow flag clear?
        fail
        fail
.L6:    bne     .L7             ; zero flag clear?
.L6:    bne     .L7             ; zero flag clear?
        fail
        fail
.L7:    bpl     .L8             ; neg flag clear?
.L7:    bpl     .L8             ; neg flag clear?
        fail
        fail
.L8:
.L8:
        test_cc_clear
        test_cc_clear
        test_grs_a5a5
        test_grs_a5a5
 
 
ldc_reg8_ccr:
ldc_reg8_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov     #0xff, r0h
        mov     #0xff, r0h
        ldc     r0h, ccr        ; set all ccr flags high, reg operand
        ldc     r0h, ccr        ; set all ccr flags high, reg operand
        bcs     .L11            ; carry flag set?
        bcs     .L11            ; carry flag set?
        fail
        fail
.L11:   bvs     .L12            ; overflow flag set?
.L11:   bvs     .L12            ; overflow flag set?
        fail
        fail
.L12:   beq     .L13            ; zero flag set?
.L12:   beq     .L13            ; zero flag set?
        fail
        fail
.L13:   bmi     .L14            ; neg flag set?
.L13:   bmi     .L14            ; neg flag set?
        fail
        fail
.L14:
.L14:
        mov     #0, r0h
        mov     #0, r0h
        ldc     r0h, ccr        ; set all ccr flags low, reg operand
        ldc     r0h, ccr        ; set all ccr flags low, reg operand
        bcc     .L15            ; carry flag clear?
        bcc     .L15            ; carry flag clear?
        fail
        fail
.L15:   bvc     .L16            ; overflow flag clear?
.L15:   bvc     .L16            ; overflow flag clear?
        fail
        fail
.L16:   bne     .L17            ; zero flag clear?
.L16:   bne     .L17            ; zero flag clear?
        fail
        fail
.L17:   bpl     .L18            ; neg flag clear?
.L17:   bpl     .L18            ; neg flag clear?
        fail
        fail
.L18:
.L18:
        test_cc_clear
        test_cc_clear
        test_h_gr16  0x00a5 r0  ; Register 0 modified by test procedure.
        test_h_gr16  0x00a5 r0  ; Register 0 modified by test procedure.
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 2
        test_gr_a5a5 2
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
.if (sim_cpu == h8300s || sim_cpu == h8sx)      ; Earlier versions, no exr
.if (sim_cpu == h8300s || sim_cpu == h8sx)      ; Earlier versions, no exr
ldc_imm8_exr:
ldc_imm8_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        ldc     #0x87, exr      ; set exr to 0x87
        ldc     #0x87, exr      ; set exr to 0x87
 
 
        stc     exr, r0l        ; retrieve and check exr value
        stc     exr, r0l        ; retrieve and check exr value
        cmp.b   #0x87, r0l
        cmp.b   #0x87, r0l
        beq     .L19
        beq     .L19
        fail
        fail
.L19:
.L19:
        test_h_gr16  0xa587 r0  ; Register 0 modified by test procedure.
        test_h_gr16  0xa587 r0  ; Register 0 modified by test procedure.
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 2
        test_gr_a5a5 2
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_reg8_exr:
ldc_reg8_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        mov     #0x87, r0h
        mov     #0x87, r0h
        ldc     r0h, exr        ; set exr to 0x87
        ldc     r0h, exr        ; set exr to 0x87
 
 
        stc     exr, r0l        ; retrieve and check exr value
        stc     exr, r0l        ; retrieve and check exr value
        cmp.b   #0x87, r0l
        cmp.b   #0x87, r0l
        beq     .L21
        beq     .L21
        fail
        fail
.L21:
.L21:
        test_h_gr16  0x8787 r0  ; Register 0 modified by test procedure.
        test_h_gr16  0x8787 r0  ; Register 0 modified by test procedure.
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 2
        test_gr_a5a5 2
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_abs16_ccr:
ldc_abs16_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     @byte_src:16, ccr       ; abs16 src
        ldc     @byte_src:16, ccr       ; abs16 src
        stc     ccr, r0l        ; copy into general reg
        stc     ccr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 2
        test_gr_a5a5 2
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_abs16_exr:
ldc_abs16_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        ldc     @byte_src:16, exr       ; abs16 src
        ldc     @byte_src:16, exr       ; abs16 src
        stc     exr, r0l        ; copy into general reg
        stc     exr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 2
        test_gr_a5a5 2
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_abs32_ccr:
ldc_abs32_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     @byte_src:32, ccr       ; abs32 src
        ldc     @byte_src:32, ccr       ; abs32 src
        stc     ccr, r0l        ; copy into general reg
        stc     ccr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 2
        test_gr_a5a5 2
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_abs32_exr:
ldc_abs32_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        ldc     @byte_src:32, exr       ; abs32 src
        ldc     @byte_src:32, exr       ; abs32 src
        stc     exr, r0l        ; copy into general reg
        stc     exr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 1          ; Make sure other general regs not disturbed
        test_gr_a5a5 2
        test_gr_a5a5 2
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_disp16_ccr:
ldc_disp16_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov     #byte_pre, er1
        mov     #byte_pre, er1
        ldc     @(1:16, er1), ccr       ; disp16 src
        ldc     @(1:16, er1), ccr       ; disp16 src
        stc     ccr, r0l        ; copy into general reg
        stc     ccr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 byte_pre, er1       ; er1 still contains address
        test_h_gr32 byte_pre, er1       ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_disp16_exr:
ldc_disp16_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        mov     #byte_post, er1
        mov     #byte_post, er1
        ldc     @(-1:16, er1), exr      ; disp16 src
        ldc     @(-1:16, er1), exr      ; disp16 src
        stc     exr, r0l        ; copy into general reg
        stc     exr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 byte_post, er1      ; er1 still contains address
        test_h_gr32 byte_post, er1      ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_disp32_ccr:
ldc_disp32_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov     #byte_pre, er1
        mov     #byte_pre, er1
        ldc     @(1:32, er1), ccr       ; disp32 src
        ldc     @(1:32, er1), ccr       ; disp32 src
        stc     ccr, r0l        ; copy into general reg
        stc     ccr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 byte_pre, er1       ; er1 still contains address
        test_h_gr32 byte_pre, er1       ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_disp32_exr:
ldc_disp32_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        mov     #byte_post, er1
        mov     #byte_post, er1
        ldc     @(-1:32, er1), exr      ; disp16 src
        ldc     @(-1:32, er1), exr      ; disp16 src
        stc     exr, r0l        ; copy into general reg
        stc     exr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 byte_post, er1      ; er1 still contains address
        test_h_gr32 byte_post, er1      ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_postinc_ccr:
ldc_postinc_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov     #byte_src, er1
        mov     #byte_src, er1
        ldc     @er1+, ccr      ; postinc src
        ldc     @er1+, ccr      ; postinc src
        stc     ccr, r0l        ; copy into general reg
        stc     ccr, r0l        ; copy into general reg
 
 
        test_h_gr32  0xa5a5a5ff er0     ; ff in r0l, a5 elsewhere.
        test_h_gr32  0xa5a5a5ff er0     ; ff in r0l, a5 elsewhere.
        test_h_gr32  byte_src+2, er1    ; er1 still contains address
        test_h_gr32  byte_src+2, er1    ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_postinc_exr:
ldc_postinc_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        mov     #byte_src, er1
        mov     #byte_src, er1
        ldc     @er1+, exr      ; postinc src
        ldc     @er1+, exr      ; postinc src
        stc     exr, r0l        ; copy into general reg
        stc     exr, r0l        ; copy into general reg
 
 
        test_h_gr32  0xa5a5a587 er0     ; 87 in r0l, a5 elsewhere.
        test_h_gr32  0xa5a5a587 er0     ; 87 in r0l, a5 elsewhere.
        test_h_gr32  byte_src+2, er1    ; er1 still contains address
        test_h_gr32  byte_src+2, er1    ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_ind_ccr:
ldc_ind_ccr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov     #byte_src, er1
        mov     #byte_src, er1
        ldc     @er1, ccr       ; postinc src
        ldc     @er1, ccr       ; postinc src
        stc     ccr, r0l        ; copy into general reg
        stc     ccr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a5ff er0      ; ff in r0l, a5 elsewhere.
        test_h_gr32 byte_src, er1       ; er1 still contains address
        test_h_gr32 byte_src, er1       ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_ind_exr:
ldc_ind_exr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        ldc     #0, exr
        ldc     #0, exr
        mov     #byte_src, er1
        mov     #byte_src, er1
        ldc     @er1, exr       ; postinc src
        ldc     @er1, exr       ; postinc src
        stc     exr, r0l        ; copy into general reg
        stc     exr, r0l        ; copy into general reg
 
 
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 0xa5a5a587 er0      ; 87 in r0l, a5 elsewhere.
        test_h_gr32 byte_src, er1       ; er1 still contains address
        test_h_gr32 byte_src, er1       ; er1 still contains address
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
.endif
.endif
 
 
.if (sim_cpu == h8sx)           ; New vbr and sbr registers for h8sx
.if (sim_cpu == h8sx)           ; New vbr and sbr registers for h8sx
ldc_reg_sbr:
ldc_reg_sbr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov     #0xaaaaaaaa, er0
        mov     #0xaaaaaaaa, er0
        ldc     er0, sbr        ; set sbr to 0xaaaaaaaa
        ldc     er0, sbr        ; set sbr to 0xaaaaaaaa
        stc     sbr, er1        ; retreive and check sbr value
        stc     sbr, er1        ; retreive and check sbr value
 
 
        test_h_gr32 0xaaaaaaaa er1
        test_h_gr32 0xaaaaaaaa er1
        test_h_gr32 0xaaaaaaaa er0 ; Register 0 modified by test procedure.
        test_h_gr32 0xaaaaaaaa er0 ; Register 0 modified by test procedure.
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
ldc_reg_vbr:
ldc_reg_vbr:
        set_grs_a5a5
        set_grs_a5a5
        set_ccr_zero
        set_ccr_zero
 
 
        mov     #0xaaaaaaaa, er0
        mov     #0xaaaaaaaa, er0
        ldc     er0, vbr        ; set sbr to 0xaaaaaaaa
        ldc     er0, vbr        ; set sbr to 0xaaaaaaaa
        stc     vbr, er1        ; retreive and check sbr value
        stc     vbr, er1        ; retreive and check sbr value
 
 
        test_h_gr32 0xaaaaaaaa er1
        test_h_gr32 0xaaaaaaaa er1
        test_h_gr32 0xaaaaaaaa er0 ; Register 0 modified by test procedure.
        test_h_gr32 0xaaaaaaaa er0 ; Register 0 modified by test procedure.
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 2          ; Make sure other general regs not disturbed
        test_gr_a5a5 3
        test_gr_a5a5 3
        test_gr_a5a5 4
        test_gr_a5a5 4
        test_gr_a5a5 5
        test_gr_a5a5 5
        test_gr_a5a5 6
        test_gr_a5a5 6
        test_gr_a5a5 7
        test_gr_a5a5 7
 
 
.endif
.endif
        pass
        pass
 
 
        exit 0
        exit 0
 
 

powered by: WebSVN 2.1.0

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