Hey Im INT 10h, 13h (19) を理解しようとしています。これは、BIOS 割り込み 10 with 13h in ah で文字列を書き込みます。さまざまなレジスタに入れるさまざまなフラグに関する以下の情報を見つけました。私がまだ得ていないことの 1 つは、BL に何を入れるべきかということです。単にこの関数を使用して文字列を書きたい場合、BL に何を属性として含める必要がありますか? 現在、意味をなさない奇妙な点滅記号を書き出しています。よろしくお願いします
Writes a string of characters with specified attributes to any display
page.
On entry: AH 13h
AL Subservice (0-3)
BH Display page number
BL Attribute (Subservices 0 and 1)
CX Length of string
DH Row position where string is to be written
DL Column position where string is to be written
ES:BP Pointer to string to write
Returns: None
Notes: This service is available only for XTs dated 1/19/86
and later, ATs, EGAs, and PC Convertibles.
The service has four subservices, as follows:
AL=00h: Assign all characters the attribute in BL;
do not update cursor
AL=01h: Assign all characters the attribute in BL;
update cursor
AL=02h: Use attributes in string; do not update
cursor
AL=03h: Use attributes in string; update cursor
In Subservices 0 and 1, all characters in the string
are written to the screen with the same attribute--
the attribute specified in BL.
In Subservices 2 and 3, the attribute byte for each
character is found in the string itself. The string
itself consists of a character followed by its
attribute, another character followed by its
attribute, and so on. The string is copied directly
to the video buffer as is.
In Subservices 0 and 2, the cursor position is not
updated after the string is written.
In Subservices 1 and 3, the cursor is moved to the
first position following the last character in the
string.
Like Service 0Eh, Service 13h responds appropriately
to ASCII 07h (bell), 08h (backspace), 10h (line
feed), and 0Dh (carriage return). All other
characters are printed.