|
Message
From: cvs at opencores.org<cvs@o...>
Date: Sun May 28 20:14:19 CEST 2006
Subject: [cvs-checkins] MODIFIED: t400 ...
Date: 00/06/05 28:20:14 Added: t400/sw/verif/int/jsr_ret int test.asm Log: initial check-in Revision Changes Path 1.1 t400/sw/verif/int/jsr_ret/int http://www.opencores.org/cvsweb.shtml/t400/sw/verif/int/jsr_ret/int?rev=1.1&content-type=text/x-cvsweb-markup <<Binary file>> 1.1 t400/sw/verif/int/jsr_ret/test.asm http://www.opencores.org/cvsweb.shtml/t400/sw/verif/int/jsr_ret/test.asm?rev=1.1&content-type=text/x-cvsweb-markup Index: test.asm =================================================================== ;; ******************************************************************* ;; $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"
|