小编dan*_*nko的帖子

删除屏幕上的字符

我正在组装游戏,使用EMU8086进行学校项目.在这个游戏中,我需要允许用户输入一个字符串才能进步.当他输入字符串时,他可能会输入错误的内容并使用它backspace来纠正它.问题是backspace将光标移动到前一个字符上,但先前输入的字符仍然存在.为什么退格不清除前一个字符?如何修复程序,以便删除屏幕上的前一个字符?

我的代码是:

data segment

ends

stack segment
dw   128  dup(0)
ends    
StringHelper db 20 dup(?)
Line db 13,10,'$'
FullInput db 'You cant type more than 20 letters!!! please try again!!',13,10,'$'
t db '$'
code segment
PROC PrintMessage
  ;BX MUST have OFFSET OF MESSAGE
  ; if you want to go down a line do (lea bx,line)      
  mov dx,bx      
  mov ah,09h
  int 21h     
  ret 
 endp printMessage
 proc InputString          
;askes the user to input chars untill he press (enter) …
Run Code Online (Sandbox Code Playgroud)

assembly backspace x86-16 emu8086

2
推荐指数
1
解决办法
2667
查看次数

标签 统计

assembly ×1

backspace ×1

emu8086 ×1

x86-16 ×1