【发布时间】:2018-11-20 20:25:42
【问题描述】:
我需要一个程序,在文本的左侧和右侧显示带有心形符号的“谢谢”,但心形为红色,文本为绿色。 我现在有这个代码:
mov ax, 0B800h
mov es, ax
mov di,spiazz
mov byte ptr es:[di+0], ' '
mov byte ptr es:[di+2], ' '
mov byte ptr es:[di+4], ' '
mov byte ptr es:[di+1], 20h
mov byte ptr es:[di+3], 70h
mov byte ptr es:[di+5], 40h
使用类似这样的代码,我需要显示“heart(symbol)Thanks heart(symbol)”; 但心为红色,文字为绿色。 提前谢谢你
【问题讨论】:
-
您可以移动整个单词,而不是单独的字节。喜欢
mov word ptr es:[di+2], (20h<<8) + ' '。这比 2 个单独的字节存储指令高效得多。 -
感谢彼得·科德斯
-
您在哪个部分遇到了问题?您已经知道如何存储到显存中。你想怎么做一个循环?你想从其他地方复制吗?如果您的数据是立即数,则不能循环,因为您需要在每条指令中存储不同的值。
-
你能举个例子吗?
-
@PeterCordes 非常感谢