我有一个代码用于打印和循环字符串, 如何在不使用空白字符的情况下从屏幕上的特定(x,y)坐标开始打印字符串?我的意思是,我希望能够指定打印功能的起始位置,而不是循环打印空白字符的代码,直到我到达我想要的位置。
.model small
.stack 100h
.data
string db "string$"
.code
main:
mov cx, 3
l:
mov ax, @data
mov ds, ax
mov ah, 09h
mov dx, offset string
int 21h
loop l
mov ah, 4ch
int 21h
end main
答案 0 :(得分:0)
您基本上有两个选择:
1)如果您的终端支持它,您可以在发送字符串输出之前输出ANSI escape sequences来定位光标。
2)您可以直接写入视频内存。如果将图形适配器设置为80x25彩色文本模式,视频内存将从地址0xB800:0开始,并由每个字符的字符/属性字节对组成 - 总共4K。