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

Subversion Repositories t400

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /t400/trunk/sw/verif/int/aisc
    from Rev 94 to Rev 176
    Reverse comparison

Rev 94 → Rev 176

/test.asm
0,0 → 1,117
;; *******************************************************************
;; $Id: test.asm,v 1.2 2006-05-28 19:22:11 arniml Exp $
;;
;; Checks interrupt on AISC.
;; AISC is interrupted twice:
;; 1) no carry, thus no skip
;; 2) carry, skip after interrupt completion
;;
 
;; 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_030 = 0x01
clra
aisc 0x1
x 0
 
lei 0x02
jp int_mark_030
 
org 0x030
int_mark_030:
nop
nop
int_instr_030:
aisc 0xf
ret_instr_030:
jp + ; must not be skipped!
jmp fail
+
;; check result of AISC
xad 3, 0
clra
aisc 0xf
x 0
xad 3, 0
ske
jmp fail
;; check whether interrupt really occured
int_flag_check
 
;;
;; prepare next interrupt
;;
int_flag_clear
;; write return instruction identifier to current M
;; ret_instr_0b0 = 0x2
clra
aisc 0x2
x 0
 
lei 0x02
jmp int_mark_0b0
 
org 0x0ae
jmp fail
org 0x0b0
int_mark_0b0:
nop
nop
int_instr_0b0:
aisc 0x1
ret_instr_0b0:
jmp fail ; must be skipped!
;; check result of AISC
xad 3, 0
clra
x 0
xad 3, 0
ske
jmp fail
;; check whether interrupt really occured
int_flag_check
jmp pass
 
;; *******************************************************************
;; 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
jp check_sa_030
skmbz 0x1
jp check_sa_0b0
jmp fail
 
check_sa_030:
check_sa ret_instr_030
jmp int_finished
check_sa_0b0:
check_sa ret_instr_0b0
 
int_finished:
restore_c_m_a
ret
;;
;; *******************************************************************
 
 
org 0x200
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.