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: Wed May 31 02:55:32 CEST 2006
    Subject: [cvs-checkins] MODIFIED: t400 ...
    Top
    Date: 00/06/05 31:02:55

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


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

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

    <<Binary file>>


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

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

    Index: test.asm
    ===================================================================
    ;; *******************************************************************
    ;; $Id: test.asm,v 1.1 2006/05/31 00:55:32 arniml Exp $
    ;;
    ;; Checks interrupt on LBI.
    ;; LBI is interrupted twice:
    ;; 1) short, 1 byte instruction
    ;; 2) long, 2 byte instruction
    ;;

    ;; the cpu type is defined on asl's command line

    include "int_macros.inc"

    org 0x00
    clra

    ;; prepare RAM digits
    lbi 0, 3
    stii 0x3
    lbi 0, 9
    stii 0x9
    lbi 0, 0 ; default RAM location

    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:
    lbi 0, 9 ; short LBI
    nop
    ret_instr_030:
    nop

    ;; 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:
    lbi 0, 3 ; long LBI
    nop
    ret_instr_0b0:
    nop

    ;; 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 ;; read interrupt location selector lbi 0, 0 ldd 0, 0 x 0 skmbz 0x0 jp check_sa_030 skmbz 0x1 jmp check_sa_0b0 jmp fail check_sa_030: check_sa ret_instr_030 ;; check saved contents of 'current M' ;; expect 0x9 lbi 3, 14 clra aisc 0x9 ske jmp fail jmp int_finished check_sa_0b0: check_sa ret_instr_0b0 ;; check saved contents of 'current M' ;; expect 0x3 lbi 3, 14 clra aisc 0x3 ske jmp fail int_finished: lbi 0, 0 restore_c_m_a ret ;; ;; ******************************************************************* org 0x200 include "int_pass_fail.asm"

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