1

我找到了一些与获取按键/线路相关的 BASIC 和 KERNAL 函数和内存地址,但是我怎样才能简单地等待按键并获取其代码?我想暂停执行,一旦按下一个键就恢复。我不希望他们在执行期间排队。

4

1 回答 1

2

原理是使用非阻塞调用,并一直调用它,直到你得到一个密钥。

GETIN在汇编程序中,您可以在以下位置使用 KERNAL 函数$FFE4

WAIT_KEY
    jsr $FFE4        ; Calling KERNAL GETIN 
    beq WAIT_KEY     ; If Z, no key was pressed, so try again.
                     ; The key is in A

在 BASIC 中,您可以使用GET

10 GET A$:IF A$="" GOTO 10:REM WAIT FOR KEY
20 PRINT A$

上面我使用空格使其更具可读性,但空格不是必需的(它们使用内存并且需要时间来处理。它可以写成:

10 GETA$:IFA$=""GOTO10
20 PRINTA$
于 2021-05-19T01:05:33.920 回答