8086汇编在指定页、指定行、指定列、指定颜色、输出指定字符
1. 最终结论:
假设
屏幕为80*25模式
指定页:Ph(十六进制,从0开始)
指定行:Rh(十六进制,从0开始)
指定列:Ch(十六进制,从0开始)
指定颜色:Cob(二进制)
指定字符:char
初始化屏幕指定位置对应的缓存地址
段地址ds初始化为b800h+fah*Ph ;控制页
偏移地址(bx,si,di,bp)初始化为a0h*Rh+Ch*2 ;控制行和列
输出(假定偏移地址为bx)
mov [bx],’Char’ ;输出字符
mov [bx+1],Cob ;设置字符颜色
2. 80*25彩色字符模式显示缓冲区结构:
a) 内存地址空间:b8000h~bffffh
b) 一个字符占两个字节,地位字节存储字符的ASCII码,高位字节存储字符的颜色属性。即在整个缓冲内存空间所有的偶地址对应的字节都是将要显示的字符,所有的奇地址对应的字节存储的是其前一个字节所存储字符的颜色属性。
c) 每页容量:80*25=2000个字符;fa0h=4000 B的缓存空间。每行容量:80个字符;a0h=160B的缓存空间。
d) 颜色属性字节: