如何在光标指定位置输出字符串

时间:2022-12-28 22:13:33
assume cs:code, ds:data
 
data segment
    out1 db 'Hello,test','$'
data ends
 
code segment
 
    start:
      
    mov ah,2    
    mov bh,0   
    mov dh,1  
    mov dl,1    
    int 10h

    mov ax,data
    mov ds,ax
    mov dx,offset out1    
    mov ah,9   
    int 21h 
   
    mov ax,4c00h   
    int 21h  
   
code ends  
   
end start  

我想要修改以上程序,使得在(1,1)、(2,2)、(3,3)位置上输出字符串。

我想到的思路是:在指定光标(1,1)输出字符串后,利用inc指令加一,但是问题是:在想要指定(2,2)中,inc指令得出的结果,我不知道该放在哪里?因为ax,bx,cx,dx都用上了
那么在mov ah,2    
    mov bh,0   
    mov dh,2  
    mov dl,2   
    int 10h
如何实现?
   

2 个解决方案

#1


结合了循环指令loop

#2


设置光标位置,DH 和 DL 是位置,inc 这两个寄存器不就可以了,也可以直接  ADD dx, 101h

#1


结合了循环指令loop

#2


设置光标位置,DH 和 DL 是位置,inc 这两个寄存器不就可以了,也可以直接  ADD dx, 101h