我已經開始學習DCPU-16的程序集以準備0x10c,但是當我到達tutorial的結尾時,我發現程序沒有運行,不響應鍵盤輸入。進入一步一步,我發現代碼被卡住了設置爲讓CPU等待鍵盤輸入的循環。DCPU-16將不接受來自鍵盤的輸入
問題的行這裏:
IFE [0x9000 + I],0 ; if keyboard buffer is empty
SET PC,loop
難道是因爲代碼是舊版本的DCPU的?如果是這樣,它現在將如何工作?
關於堆棧溢出的第一篇文章,如果我犯了任何錯誤,請原諒我,謝謝大家。 全碼:
SET A,0
SET B,0
SET C, 0xF000
SET I, 0
:loop
IFE [0x9000 + I],0 ; if keyboard buffer is empty
SET PC,loop
IFE [0x9000 + I],8
SET PC, backspace
IFE [0x9000 + I],10
SET PC, enter
SET B, [0x9000 + I]
BOR B,C
SET [0x8000+A], B
SET [0x9000 + I], 0
ADD A, 1
ADD I, 1
IFE I, 16
SET I, 0
SET PC,loop
:backspace
SUB A, 1
SET [0x8000+A],0
SET [0x9000 + I], 0
ADD I, 1
IFE I, 16
SET I, 0
SET PC,loop
:enter
AND A, 0xFFE0
ADD A, 0x0020
SET [0x9000 + I], 0
ADD I, 1
IFE I, 16
SET I, 0
SET PC,loop
很多讚賞,歡呼! – user1398478