【问题标题】:Emu8086 Check if key is pressedEmu8086 检查按键是否被按下
【发布时间】:2014-12-03 00:24:44
【问题描述】:

我正在尝试检查是否按下了“ESC”键。如果是按下,我希望用户能够输入文本并在之后立即打印。

我希望程序随时检查用户是否按 ESC。

这是我当前的代码:

org 100h
include "emu8086.inc"


;mov ah, 01h
;int 16h

;mov ah, 00h
;int 16h

call cleanScreen

printn "      ___"     
printn "     /\  \"    
printn "    /::\  \"   
printn "   /:/\ \  \"  
printn "  _\:\~\ \  \" 
printn " /\ \:\ \ \__\"
printn " \:\ \:\ \/__/"
printn "  \:\ \:\__\ " 
printn "   \:\/:/  /"  
printn "    \::/  /"   
printn "     \/__/"
printn "Welcome to Sheridan"    

call cleanScreen

printn "      ___"    
printn "     /\__\"    
printn "    /:/ _/_"   
printn "   /:/ /\  \"  
printn "  /:/ /::\  \" 
printn " /:/_/:/\:\__\"
printn " \:\/:/ /:/  /"
printn "  \::/ /:/  /" 
printn "   \/_/:/  /"  
printn "     /:/  /"   
printn "     \/__/" 
printn "Welcome to Sheridan"

call cleanScreen

printn "      ___"     
printn "     /  /\"    
printn "    /  /:/_"   
printn "   /  /:/ /\"  
printn "  /  /:/ /::\" 
printn " /__/:/ /:/\:\"
printn " \  \:\/:/~/:/"
printn "  \  \::/ /:/" 
printn "   \__\/ /:/"  
printn "     /__/:/"   
printn "     \__\/"                       
printn "Welcome to Sheridan"

call cleanScreen

printn "      ___"     
printn "     /  /\"    
printn "    /  /::\"   
printn "   /__/:/\:\"  
printn "  _\_ \:\ \:\" 
printn " /__/\ \:\ \:\"
printn " \  \:\ \:\_\/"
printn "  \  \:\_\:\" 
printn "   \  \:\/:/"  
printn "    \  \::/"   
printn "     \__\/"    
printn "Welcome to Sheridan"  

cleanScreen proc
INT 10h
mov AH,0
cleanScreen endp 

enterText:  ;if ESC is press then get String and Print it
call get_string                
call print_string                                                      
RET                       

hlt
define_print_string
define_get_string
end

感谢您的帮助!

【问题讨论】:

    标签: assembly emulation x86-16


    【解决方案1】:

    这段代码没有意义。

    cleanScreen proc
    INT 10h
    mov AH,0
    cleanScreen endp 
    

    如果您想通过重新设置来清洁屏幕,请使用

    cleanScreen proc
    mov al,3   ;Video mode number
    mov ah,0   ;Function number
    INT 10h
    cleanScreen endp
    

    要等待 ESC 键,请使用此代码

    enterText:  ;if ESC is press then get String and Print it
    mov ah,0
    int 16h
    cmp al,27
    jne enterText
    

    附言漂亮的 ASCII 艺术。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-18
      • 2013-01-09
      • 1970-01-01
      相关资源
      最近更新 更多