嘿,我试图理解 INT 10h、13h (19) 写入带有 BIOS 中断 10 和 13h 的字符串的啊。我在下面找到了有关放入不同寄存器的不同标志的信息。我仍然不明白的一件事是 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.