📄 getkey.s
字号:
;;; ;;; ;;; getkey.S;;; ;;; PC-6001 architecture-depend key fetch module;;; ;;; @author Takahide Matsutsuka <markn@markn.org>;;; .globl _keyavail_arch .globl _getkey_arch .area _GSINIT .area _DATA ;; unsigned char key;_key: .ds 1 .area _GSINIT .area _CODE ;; --------------------------------- ;; unsigned char keyavail_arch(); ;; AFBC__HL____ ;; a=getkey, l=getkey ;; ---------------------------------_keyavail_arch: ld hl, #_key ld a, (hl) ;; if (key != 0) return 1; else goto _getch; or a jr z, _getch ld l, #0x01 ret_getch: push hl ;; A = (keybuf) call #0x103a pop hl ;; if (keybuf != null) goto _getch_key jr nz, _getch_key ;; we do not have a keyin xor a jr _getch_got_getch_key: cp a, #0x14 jr z, _getch _getch_got: ;; key = getch() ld (hl), a ld l, a ret ;; --------------------------------- ;; unsigned char getkey_arch(); ;; AFBC__HL____ ;; ---------------------------------_getkey_arch: ;; if (key == 0) keyavail_arch(); ld hl, #_key ld a, (hl) or a call z, _keyavail_arch ;; if (key == 0) goto _havekey or a jr z, _havekey ;; key = 0 ld (hl), #0x00_havekey: ld l, a ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -