2014-10-19 52 views
0

我正在学习使用汇编语言,我的一项任务是编写一个应用程序,当用户按下箭头键时,该应用程序将绘制一个正方形并将其沿某个方向移动。如何在命令行中左右移动文本? [ASM]

我使用TASM,我发现了一些功能,可以帮助我移动它向上和向下滚动命令行窗口(06h10h07h“次中断),但我没有发现任何允许做同样的事情左右移动。

有没有人知道问题的解决方案?也许有一种方法来插入/删除我的广场周围的空间?

方不与背景颜色的操作,但这样一组字符串:

***** 
* * 
***** 

回答

0

它可能不是使用BIOS功能06H/07H来实现这一功能的好主意!
考虑一下:如果你可以绘制图像(方形),那么你可以一遍又一遍地绘制图像。诀窍是首先使用BlackOnBlack的属性重新绘制它,以使其消失,然后根据用户的键盘输入在新位置以实际颜色重新绘制它。

+0

好像我解释过的问题不够清楚,对不起。 sqare由'*'符号组成,因此它是一组字符串,而不是您想象的背景颜色。这就是我选择这些功能的原因。 – dardvas 2014-10-19 15:31:18

+0

然后,只需将** BlackOnBlack **的属性替换为**字符代码20h(空格)**即可。方法是一样的。 – 2014-10-19 15:40:41

+0

70想说的是,由于那里(显然)没有bios功能来做到这一点,你将不得不模拟它。要执行“移动”,您需要做两件事:1)删除旧位置的框。 2)在新位置绘制盒子。当他谈论绘制空间或玩弄属性时,他试图告诉你抹去旧盒子的方法。 – 2014-10-19 17:45:30