8086汇编在指定页、指定行、指定列、指定颜色、输出指定字符(80*25)
2012-04-28 19:11
295 查看
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) 颜色属性字节:
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) 颜色属性字节:
相关文章推荐
- 汇编语言实现在80*25彩色字符模式下显示字符串
- 输入一个字符,字母输出‘c’,数字输出本身,回车结束(8086汇编)
- 编写一个在屏幕指定位置输出特定字符和特定颜色的子程序
- 80x86汇编编程:把一串字符从键盘输入,然后逆序输出
- 改变字符串中指定字符的颜色
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZde
- 喜羊羊系列之C语言字符界面颜色输出(printf)
- 汇编语言编译的输入一段字符用9和10功能反序输出
- 在字符串中删除对应位数的字符,然后 输出删除指定字符后的字符串
- 通过控制台输出各种颜色的字符——ANSIConsole、JANSI
- putchar()—字符输出函数(将指定的字符写到标准输出设备)
- 黑马程序员--转换流对象,输出方向,转换流编码效果,字符的编码和解码,String类的构造,方法getBytes,指定编码表,File类
- WINDOWS 控制台输出字符颜色控制
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
- vbs:把一段文字中指定字符颜色变成红色的正则
- 修改终端输出字符颜色
- 汇编:输入一个字符,将其ASCII码加1后输出
- 处理,输出指定标签的指定属性的属性值,字符组形式
- 线程按指定顺序输出字符到数组
- 汇编语言使用根据BIOS输入字符改变屏幕颜色