首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Easy68k上显示中断消息的问题

在Easy68k上显示中断消息的问题
EN

Stack Overflow用户
提问于 2022-01-11 19:57:00
回答 1查看 204关注 0票数 0

我正试图使用程序集为68k处理器编写一个程序。我用的是Easy68k

该程序的主要思想是,当重设按钮与七个段的更改一起被击中时,就会出现一条消息。

当按下第7级按钮时,会出现另一条消息。

重置消息出现并工作完美,但按下第7级中断按钮似乎什么也做不了。

你能帮我找出问题吗?

下面是代码:

代码语言:javascript
复制
 ORG    $0
    DC.L $00FFFFF0
    DC.L $00000500
    
    ORG $07C
    DC.L $2000
    
    ORG $500
    MOVEA.L #$E00000, A3
    MOVE.L #0, D1
    LEA SEVEN_SEG_CODE, A2
    
    MOVE #13, D0
    LEA START_TEXT, A1
    TRAP #15
    
    BRA START
    
    
    ORG $2000
LEVEL_7_INTERRUPT:
    MOVE    #13, D0
    LEA TEXT1, A1
    TRAP #15
    MOVE #3, D0
    TRAP #15
    BSR DELAY
    MOVE #13, D0
    LEA TEXT2, A1
    TRAP #15
    BSR DELAY
    MOVE.B $E00012, $E00010
    MOVE.B (A2, D1), (A3)
    ADDA.L #2, A3
    BSR DELAY
    ADD.L #1, D1
    RTE
    
    
DELAY:  MOVE.L #1000000, D5
LOOP2:  SUB.L #1, D5
        BNE LOOP2
        RTS
       
       
START_TEXT: DC.B 'WELCOME HARDWARE RESET',$0D,$0A, 0
TEXT1: DC.B 'WELCOME TL7',$0A,$0D, 0
TEXT2: DC.B 'ANOTHER WELCOME TL7',$0A,$0A, 0
SEVEN_SEG_CODE: DC.B %00000000, %11111111, %00000000, %11111111, %00000000, %11111111, %00000000, %11111111, %00000000, %11111111

        ORG $1000

START:                  ; first instruction of program

* Put program code here
        MOVE.L #0, D6
LOOP:   ADD.L #1, D6
        BSR DELAY
        BRA LOOP
    SIMHALT             ; halt simulator

* Put variables and constants here

    END    START        ; last line of source
EN

回答 1

Stack Overflow用户

发布于 2022-01-18 22:12:22

您的程序似乎是正确的,并在我的安装工作良好,至少在前几个级别7中断。

您是否在“Options”->中启用了异常处理?

您不应该在ISRs中做任何耗费时间的事情--这在interupt服务例程中是非常糟糕的做法。特别是"JSR延迟“电话似乎很危险。通常的做法是在ISR中设置一个变量,并在主循环中对其进行操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70672710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档