在特定位置组装打印

问题描述

我尝试使用 ASSEMBLY 8086x TASM MS-DOS 创建 Hangman。我想创建一个程序,让用户输入某个字母,它会出现在屏幕上的特定坐标上。有没有办法用 x 和 y 在屏幕上的特定位置打印字符? 以下是我目前所写的:

proc b
mov cx,10
InTheWordLoop:
push cx
   mov ah,1 ;char input
   int 21h
   mov bx,offset ArrayBasketball
   mov si,0
   cmp [byte ptr (bx + si)],al
   jne fin
   mov ah,2
   mov dl,al
   fin:
   inc si
   pop cx
   loop InTheWordLoop
   
   
ret
endp b

我想打印下划线上方的字符。本例中的单词是“Basketball”,有 10 个字符。

解决方法

我对 MS-DOS 不太熟悉,但您是否尝试过使用转义序列来移动光标?

例如:

\033[y;xH

将光标移动到指定的 x 和 y

Original stackovweflow post