繁体   English   中英

如何使用8086程序集在图形模式下在特定位置打印字符?

[英]How to print a char on a specific location in graphics mode using 8086 assembly?

我在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”,我该怎么办?

如何在特定位置打印“x”,我该怎么办?

首先要知道,在图形屏幕上,BIOS将无法在您想要的任何(X,Y)位置打印您的角色。 您只能在每个(Col,Row)点上获取可以定位光标的字符。

因此,要在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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM