在使用BIOS中断0x10/AH=0x13写入字符串时,需要注意以下两点:
下面是一个示例代码,展示如何正确地使用BIOS中断0x10/AH=0x13写入字符串:
mov ah, 0x13 ; AH=0x13,写入字符串
mov al, 0x01 ; AL=0x01,光标不动,字符串不滚动
mov bh, 0x00 ; BH=0x00,页面0
mov bl, 0x07 ; BL=0x07,文字属性为白底黑字
mov cx, len ; CX为字符串长度
mov dx, offset str ; DX为字符串缓冲区地址
int 0x10 ; 调用BIOS中断0x10
在上面的示例中,str为字符串缓冲区地址,len为字符串长度。这里需要注意,str和len必须是在实模式下的物理地址,否则可能会出现问题。此外,字符串必须以0x00作为结尾,在字符串缓冲区中,0x00后面不能有其他字符,否则可能会出现不可预料的错误。