8086汇编在指定页、指定行、指定列、指定颜色、输出指定字符(80*25)

本文介绍了如何使用8086汇编在80*25字符模式下,指定页、行、列、颜色输出指定字符。首先确定屏幕缓存地址,通过段地址ds初始化为b800h加上页号Ph的10进制转换乘以256,然后设置偏移地址为行号Rh乘以160再加上列号Ch乘以2。接着,将字符和颜色分别写入缓冲区的偶数和奇数地址。文章还详细解析了80*25彩色字符模式显示缓冲区的结构,包括字符和颜色的存储方式以及页面和行的容量。

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)        颜色属性字节:

         


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值