如何使Embest Board在ARMSim中互动

时间:2016-04-30 23:20:36

标签: assembly arm

我正在使用ARMSim并且必须使用Embest Board插件。该程序要求我们在程序运行时使用板上的按钮,但是我不确定如何使程序交互。它只是运行我的代码,然后退出。我需要哪些代码来确保程序继续运行并允许用户单击各种按钮?

1 个答案:

答案 0 :(得分:0)

从浏览文档(我实际上没有使用它),按钮的唯一界面是几个SWI调用(0x202和0x203),它们将告诉您按下了哪些按钮(如果有的话)。因此,您似乎唯一的选择是使用轮询循环来重复检查相关的按钮状态,并在设置给定按钮的位以指示它被单击时分支到不同的子程序以执行一些有趣的操作。

看起来在手册末尾已经有了一个非常完整的例子(11.6),所以这里有一个相关的摘录:

    ...
LB1:
    swi      SWI_CheckBlack            @get button press into R0
    cmp      r0,#0
    beq      LB1                       @ if zero, no button pressed
    ...
    @ goes on to work out which button was pressed and do stuff accordingly