Assembly 如何使用8086汇编在图形模式下在特定位置打印字符?
我在Windows上的DOSBox上使用8086程序集。Assembly 如何使用8086汇编在图形模式下在特定位置打印字符?,assembly,x86-16,dosbox,Assembly,X86 16,Dosbox,我在Windows上的DOSBox上使用8086程序集。 我想在图形模式下打印字符,我知道它是这样的: mov ah, 0eh ;0eh = 14 mov al, 'x' xor bx, bx ;Page number zero mov bl, 0ch ;Color is red int 10h 上面的代码在屏幕顶部左侧打印字母“x”。 我不知道如何在屏幕的特定位置打印“x”字符。要在特定位置打印“x”,我应该做什么 要在特定位置打
我想在图形模式下打印字符,我知道它是这样的:
mov ah, 0eh ;0eh = 14
mov al, 'x'
xor bx, bx ;Page number zero
mov bl, 0ch ;Color is red
int 10h
上面的代码在屏幕顶部左侧打印字母“x”。我不知道如何在屏幕的特定位置打印“x”字符。要在特定位置打印“x”,我应该做什么 要在特定位置打印“x”,我应该做什么 首先要知道,在图形屏幕上,BIOS将无法在您想要的任何(X,Y)位置打印您的角色。只能在可以定位光标的每个(列、行)点上获取字符 因此,要在320x200 256色图形屏幕(模式19)的中心显示“x”字符,可以编写以下代码:
mov dl, 20 ;Column
mov dh, 12 ;Row
mov bh, 0 ;Display page
mov ah, 02h ;SetCursorPosition
int 10h
mov al, 'x'
mov bl, 0Ch ;Color is red
mov bh, 0 ;Display page
mov ah, 0Eh ;Teletype
int 10h
参见a.k.a.设置光标位置。