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

Subversion Repositories t400

[/] [t400/] [trunk/] [sw/] [verif/] [int/] [jsr_ret/] [test.asm] - Diff between revs 176 and 179

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

Rev 176 Rev 179
        ;; *******************************************************************
        ;; *******************************************************************
        ;; $Id: test.asm,v 1.2 2006-05-28 19:22:35 arniml Exp $
        ;; $Id: test.asm 179 2009-04-01 19:48:38Z arniml $
        ;;
        ;;
        ;; Checks interrupt on JSR and RET.
        ;; Checks interrupt on JSR and RET.
        ;;
        ;;
        ;; the cpu type is defined on asl's command line
        ;; the cpu type is defined on asl's command line
        include "int_macros.inc"
        include "int_macros.inc"
        org     0x00
        org     0x00
        clra
        clra
        int_flag_clear
        int_flag_clear
        ;; write return instruction identifier to current M
        ;; write return instruction identifier to current M
        ;; ret_instr_230 = 0x01
        ;; ret_instr_230 = 0x01
        clra
        clra
        aisc    0x1
        aisc    0x1
        x       0
        x       0
        lei     0x02
        lei     0x02
        jmp     int_mark_230
        jmp     int_mark_230
        org     0x230
        org     0x230
int_mark_230:
int_mark_230:
        nop
        nop
        nop
        nop
int_instr_230:
int_instr_230:
        jsr     prep_2b0
        jsr     prep_2b0
        nop
        nop
ret_instr_2b0:
ret_instr_2b0:
        ;; check whether interrupt really occured
        ;; check whether interrupt really occured
        int_flag_check
        int_flag_check
        jmp     pass
        jmp     pass
        org     0x290
        org     0x290
        jmp     fail
        jmp     fail
        org     0x292
        org     0x292
prep_2b0:
prep_2b0:
        nop
        nop
ret_instr_230:
ret_instr_230:
        ;; check whether interrupt really occured
        ;; check whether interrupt really occured
        int_flag_check
        int_flag_check
        ;;
        ;;
        ;; prepare next interrupt
        ;; prepare next interrupt
        ;;
        ;;
        int_flag_clear
        int_flag_clear
        ;; write return instruction identifier to current M
        ;; write return instruction identifier to current M
        ;; ret_instr_2b0 = 0x2
        ;; ret_instr_2b0 = 0x2
        clra
        clra
        aisc    0x2
        aisc    0x2
        x       0
        x       0
        lei     0x02
        lei     0x02
        jp      int_mark_2b0
        jp      int_mark_2b0
        org     0x2ae
        org     0x2ae
        jmp     fail
        jmp     fail
        org     0x2b0
        org     0x2b0
int_mark_2b0:
int_mark_2b0:
        nop
        nop
        nop
        nop
int_instr_2b0:
int_instr_2b0:
        ret
        ret
        ;; *******************************************************************
        ;; *******************************************************************
        ;; Interrupt routine
        ;; Interrupt routine
        ;;
        ;;
        org     0x0fd
        org     0x0fd
        jmp     fail
        jmp     fail
int_routine:
int_routine:
        nop
        nop
        save_a_m_c
        save_a_m_c
        int_flag_set
        int_flag_set
        ;; access current M of main program
        ;; access current M of main program
        ldd     3, 14
        ldd     3, 14
        x       0
        x       0
        skmbz   0x0
        skmbz   0x0
        jp      check_sa_230
        jp      check_sa_230
        skmbz   0x1
        skmbz   0x1
        jp      check_sa_2b0
        jp      check_sa_2b0
        jmp     fail
        jmp     fail
check_sa_230:
check_sa_230:
        check_sa        ret_instr_230
        check_sa        ret_instr_230
        jmp     int_finished
        jmp     int_finished
check_sa_2b0:
check_sa_2b0:
        check_sa        ret_instr_2b0
        check_sa        ret_instr_2b0
int_finished:
int_finished:
        restore_c_m_a
        restore_c_m_a
        ret
        ret
        ;;
        ;;
        ;; *******************************************************************
        ;; *******************************************************************
        org     0x200
        org     0x200
        include "int_pass_fail.asm"
        include "int_pass_fail.asm"
 
 

powered by: WebSVN 2.1.0

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