LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Advertise
  • Mirrors
  • Logos
  • Contact us
  • Find Resources
  • Job Opportunity
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Cvs-checkins > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: cvs at opencores.org<cvs@o...>
    Date: Sun May 28 17:26:04 CEST 2006
    Subject: [cvs-checkins] MODIFIED: t400 ...
    Top
    Date: 00/06/05 28:17:26

    Added: t400/sw/verif/int/aisc int test.asm
    Log:
    initial check-in


    Revision Changes Path
    1.1 t400/sw/verif/int/aisc/int

    http://www.opencores.org/cvsweb.shtml/t400/sw/verif/int/aisc/int?rev=1.1&content-type=text/x-cvsweb-markup

    <<Binary file>>


    1.1 t400/sw/verif/int/aisc/test.asm

    http://www.opencores.org/cvsweb.shtml/t400/sw/verif/int/aisc/test.asm?rev=1.1&content-type=text/x-cvsweb-markup

    Index: test.asm
    ===================================================================
    ;; *******************************************************************
    ;; $Id: test.asm,v 1.1 2006/05/28 15:26:04 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 jmp check_sa_030 skmbz 0x1 jmp check_sa_0b0 jmp fail check_sa_030: check_sa ret_instr_030 jmp int_finished check_sa_0b0: check_sa ret_instr_0b0 jmp int_finished int_finished: restore_c_m_a ret ;; ;; ******************************************************************* org 0x200 include "int_pass_fail.asm"

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.