URL
https://opencores.org/ocsvn/t400/t400/trunk
Subversion Repositories t400
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 91 to Rev 92
- ↔ Reverse comparison
Rev 91 → Rev 92
/trunk/sw/verif/int/jsr_ret/int
--- trunk/sw/verif/int/jsr_ret/test.asm (nonexistent)
+++ trunk/sw/verif/int/jsr_ret/test.asm (revision 92)
@@ -0,0 +1,105 @@
+ ;; *******************************************************************
+ ;; $Id: test.asm,v 1.1 2006-05-28 18:14:19 arniml Exp $
+ ;;
+ ;; Checks interrupt on JSR and RET.
+ ;;
+
+ ;; the cpu type is defined on asl's command line
+
+ include "int_macros.inc"
+
+ org 0x00
+ clra
+
+ int_flag_clear
+ ;; write return instruction identifier to current M
+ ;; ret_instr_230 = 0x01
+ clra
+ aisc 0x1
+ x 0
+
+ lei 0x02
+ jmp int_mark_230
+
+ org 0x230
+int_mark_230:
+ nop
+ nop
+int_instr_230:
+ jsr prep_2b0
+ nop
+ret_instr_2b0:
+ ;; check whether interrupt really occured
+ int_flag_check
+
+ jmp pass
+
+
+ org 0x290
+ jmp fail
+ org 0x292
+prep_2b0:
+ nop
+ret_instr_230:
+ ;; check whether interrupt really occured
+ int_flag_check
+
+ ;;
+ ;; prepare next interrupt
+ ;;
+ int_flag_clear
+ ;; write return instruction identifier to current M
+ ;; ret_instr_2b0 = 0x2
+ clra
+ aisc 0x2
+ x 0
+
+ lei 0x02
+ jp int_mark_2b0
+
+ org 0x2ae
+ jmp fail
+ org 0x2b0
+int_mark_2b0:
+ nop
+ nop
+int_instr_2b0:
+ ret
+
+
+ ;; *******************************************************************
+ ;; Interrupt routine
+ ;;
+ org 0x0fd
+ jmp fail
+int_routine:
+ nop
+ save_a_m_c
+
+ int_flag_set
+
+ ;; access current M of main program
+ ldd 3, 14
+ x 0
+ skmbz 0x0
+ jmp check_sa_230
+ skmbz 0x1
+ jmp check_sa_2b0
+ jmp fail
+
+check_sa_230:
+ check_sa ret_instr_230
+ jmp int_finished
+check_sa_2b0:
+ check_sa ret_instr_2b0
+ jmp int_finished
+
+int_finished:
+ restore_c_m_a
+ ret
+ ;;
+ ;; *******************************************************************
+
+
+ org 0x200
+ include "int_pass_fail.asm"