Assembly ASM TASM打印、循环、屏幕坐标

Assembly ASM TASM打印、循环、屏幕坐标,assembly,tasm,Assembly,Tasm,我这里有一个用于打印和循环字符串的代码, 如何在不使用空白字符的情况下从屏幕上的特定(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 i

我这里有一个用于打印和循环字符串的代码, 如何在不使用空白字符的情况下从屏幕上的特定(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

您基本上有两种选择:

1) 如果您的终端支持它,您可以在发送字符串输出之前输出以定位光标


2) 您可以直接写入视频存储器。如果将图形适配器设置为80x25彩色文本模式,视频内存将从地址0xB800:0开始,并由每个字符的字符/属性字节对组成-总共4K。

太好了,我需要做的是直接写入视频内存。如果你有时间,你能告诉我如何在屏幕中央打印我的字符串db吗?我很难弄清楚如何使用这个中断。在第页上,它说在AH=13H时使用INT 10h,这里有很多这样的例子。