BIOS中断
来源:互联网 发布:js date parse format 编辑:程序博客网 时间:2024/05/15 23:51
http://course.cug.edu.cn/21cn/%CE%A2%D0%CD%BC%C6%CB%E3%BB%FA%BC%BC%CA%F5/content/masm/chapter4/4-4/4-4-2.htm#
1、INT 17H(打印机I/O调用)
INT 17H中断处理程序有三个功能:
当AH=0时,把AL中的字符在打印机上打印出来。
当AH=1时,把AL中的初始化控制命令送给打印机。
当AH=2时,把打印机的状态读至AL寄存器。
D7
D6
D5
D4
D3
D2
D1
D0
忙
确认
有纸
联机
错误
/
/
超时
寄存器AH中的值决定一个中断处理程序的功能,称其为"功能号"。当AH=0时调用INT 17H中断,称为"INT 17H的0号功能",可以简记为"INT 17H/0"
例1
用打印机打印一串字符。
MOV BX,OFFSET STRING
MOV CX,count
L1:MOV DX,0
MOV AL,[BX]
MOV AH,0 ;调用INT 17H/0,
INT 17H ;把AL中的字符在打印机上打印出来
INC BX
LOOP L1
MOV BX,OFFSET STRING
MOV CX,count
L1:MOV DX,0
MOV AL,[BX]
MOV AH,0 ;调用INT 17H/0,
INT 17H ;把AL中的字符在打印机上打印出来
INC BX
LOOP L1
STRING DB 'abcduxyz'
count EQU $-STRING
2、INT 16H(键盘I/O中断)
AH=0:从键盘读入ASCII字符,放在AL中。
AH=1:测试有无键被按下。ZF=0,表示按过任意键,并在AL中获 得该键的ASCII码。ZF=1,未按过键。
AH=2:读取特殊功能键的状态至AL中。
count EQU $-STRING
2、INT 16H(键盘I/O中断)
AH=0:从键盘读入ASCII字符,放在AL中。
AH=1:测试有无键被按下。ZF=0,表示按过任意键,并在AL中获 得该键的ASCII码。ZF=1,未按过键。
AH=2:读取特殊功能键的状态至AL中。
D7
D6
D5
D4
D3
D2
D1
D0
Ins
CapsLock
NumLock
ScrollLock
Alt
Ctrl
左Shift
右Shift
例2
MOV AH,0
INT 16H
3、 INT 1AH (BIOS日期、时间中断)
AH=0:读当前时钟值到CX、DX中。CX为高位,DX为低位。时钟单位是54.9ms(1/18.2秒)(65536000/1193180)。
AH=1:设置当前时钟值。
例3
计算子程序PROCESS执行的时间。
STI
MOV CX,0
MOV DX,0
MOV AH,1;设置当前时钟为0。
INT 1AH
CALL PROCESS
MOV AH,0;读当前时钟到CX、DX中。
INT 1AH
将CX、DX中的四字节数除以18.2,得PROCESS执行的时间秒数。
- BIOS中断
- BIOS中断
- BIOS中断
- BIOS中断
- BIOS 中断
- bios 中断
- BIOS中断
- BIOS中断
- BIOS中断
- bios中断
- BIOS中断
- BIOS中断
- BIOS中断
- bios 中断
- BIOS中断
- BIOS中断
- DOS中断/BIOS中断
- DOS中断/BIOS中断
- jsp中如何清除缓存
- contentType大全
- jQuery ie xml的问题 jQuery在IE中解释XML要注意的问题
- Android下编译自己的库文件jar并在应用中调用
- Windows 7硬盘安装CentOS 5.5
- BIOS中断
- Inno打包软件脚本例子
- VS2010中水晶报表应用与部署
- android文件系统制作教程
- web调试:ie缓存
- 也谈jconsole tomcat内存监控设置
- 条形码打印控件的使用
- ymprompt4.0彈窗并與主窗體交互
- java.lang.Boolean学习