我找到了这个 ASM 例程来按下键。获取按键的 ASM 例程现在我想将它包含到 Turbo Basic 例程中,但不知道如何执行此操作。这里有人可以告诉我它是如何完成的吗?谢谢
编辑:我找到了一种方法:$INLINE,但是如何将我的 asm 代码转换为机器语言,以便将其内联到我的基本程序中?
编辑:我没有成功地将这个带有 Asm 代码的 QBASIC 放入 TURBO BASIC 程序中。我会感谢任何帮助如何做到这一点:
DECLARE FUNCTION GetKeyH% ()
CLS
DO
LOCATE 10, 10
PRINT "Key = "; HEX$(GetKeyH%); " "
LOOP UNTIL INKEY$ = CHR$(27)
END
和 ASM 部分:
Dosseg
.model medium, basic
.286
.stack
.code
Even
public getkeyh ; make getkeyh public
getkeyh proc far basic uses bp dx ; save registers
in al,60h
xchg dx,ax
xor ax,ax ; assume no key
test dl,10000000b
jnz short getkeyhD
mov al,dl
getkeyhD: ret
getkeyh endp ; end of procedure
end ; end of assembly code
编辑:非常感谢下面 Michael Petch 先生的回答。此外,我可以看到这个 ASM 例程也是CTL 和 ALT KEYS 按下的解决方案