80x86汇编语言:INT 10H 的应用
来源:互联网 发布:windows ad域管理软件 编辑:程序博客网 时间:2024/06/06 14:01
做而论道以前写了几次直接写屏的程序,比如下面列出的一些。
直接写屏:
http://hi.baidu.com/do_sermon/item/3bb9b94b3ba6b6ed1e19bc82
用写显示缓冲区的方法,显示彩色文字:
http://hi.baidu.com/do_sermon/item/13c71ad037a70fe93dc2cbd9
要过年了,送个福字:
http://hi.baidu.com/do_sermon/item/87c112f63ab1eec50cd1c806
……
有些网友留言或来信咨询显存地址和屏幕显示位置的关系问题,光标显示/关闭...等问题。
直接写屏的优点是速度快,但是其功能的花样,远远不如 INT 10H 那么多。
INT 10H 是 BOIS 中断,主板厂家将其烧写在主板上的 ROM 中。
INT 10H 的功能很多,其参数几乎把 AX、BX、CX、DX 都用到了。
显示字符前,先应该设定光标位置:
MOV AH, 2 ;设定光标位置
MOV DX, 0C1EH ;第12行、30列
INT 10H
行列号码,在这里表现的比较清晰,比缓存地址的计算要简单一些。
显示字符时,可以使用 BL 设置颜色和背景:
MOV AH, 9 ;显示字符
;AL为字符的ASCII
MOV BL, 1EH ;蓝色背景、黄色字符
MOV BL, 2CH ;绿底红色的字符
MOV CX, 1 ;显示一个字符
INT 10H ;显示
做而论道以前也用 INT 10H 写过一个在屏幕上实时显示时间的程序:
链接:http://hi.baidu.com/do_sermon/item/3cd7910a27495a6ad45a1191
但是这里面,用到了中断驻留的技术,很多人看不懂。
下面是另一个利用 INT 10H 显示的简单实例,应该可以理解。
用汇编语言在屏幕中间分别显示绿色,绿底红色的字符串“welcome to masm!”
2011-05-18 16:27 提问者采纳
题目链接:http://zhidao.baidu.com/question/269080580.html
做而论道编写的程序如下:
;----------------------------------
DATA SEGMENT
x DB 'welcome to masm!', 0
DATA ENDS
;----------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV BX, OFFSET x
MOV DX, 0C1EH ;第12行、30列.
;--------------------------
NEXT:
MOV AL, [BX] ;取来字符.
CMP AL, 0 ;为0吗?
JZ EXIT ;为0就结束.
MOV AH, 2 ;设定光标位置.
INC DX
INT 10H
;--------------------------
PUSH BX
MOV AH, 9 ;显示字符.
; ;AL为字符的ASCII
; MOV BL, 1EH ;蓝色背景、黄色字符.
MOV BL, 2CH ;绿底红色的字符.
MOV CX, 1 ;显示一个字符.
INT 10H ;显示
POP BX
;--------------------------
INC BX
JMP NEXT
EXIT:
MOV AH, 4CH
INT 21H ;返回DOS
CODE ENDS
END START
;===============
上述程序运行的显示效果如下图所示。
(这里就不插图了,还是看题目的链接吧。http://zhidao.baidu.com/question/269080580.html)
提问者评价:谢谢大虾!谢谢您的热心,我已运行是正确的!
- 80x86汇编语言:INT 10H 的应用
- x86 BIOS 中断 INT 10h
- 汇编语言 INT 21H功能
- 80X86学习笔记--汇编语言的语句
- 一个80x86汇编语言程序的查错
- 80x86 汇编语言:统计数据的个数
- 80x86 汇编语言基础教程
- 汇编语言的INT
- 常用的 INT 10H
- 80x86汇编语言程序设计P50
- 80x86 汇编语言编程:求和
- 80x86汇编语言:福到了
- 80x86汇编语言:字符串移动
- 80x86汇编语言:分类统计
- 80x86 汇编语言:查找字符串
- 80x86 汇编语言编程:EXE2COM
- 用80x86汇编语言,编写一个判断闰年的程序
- 80x86汇编语言编程:输入格雷码、输出对应的十进制数字
- 80x86 汇编语言编程:显示一个螺旋数据方阵
- 世界上战争多发的原因
- ICL 7107 仿真
- 80x86 汇编语言:正负数分别存放、统计个数
- 【单片机】求用汇编语言写
- 80x86汇编语言:INT 10H 的应用
- 用单片机实现位逻辑运算
- 51 单片机:按键控制灯亮灭和闪烁
- 51 单片机:在 P0 口接上 8 个 LED,实现每次亮两个灯的流水灯
- 80x86 汇编语言:实现两个字符串内容交换
- 京东电商API
- C语言:500 以内最大 10 个素数并求和
- 51单片机基于 Proteus 制作 10 以内加减的计算器
- 51单片机 汇编语言电子琴