Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173633
  • 博文数量: 47
  • 博客积分: 992
  • 博客等级: 准尉
  • 技术积分: 565
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-08 21:57
文章分类

全部博文(47)

文章存档

2019年(1)

2018年(1)

2017年(1)

2014年(6)

2013年(1)

2012年(2)

2011年(35)

我的朋友

分类: LINUX

2011-06-14 19:20:50

Kernel110614: bios简表


Email:    zcatt@163.com
Blog    http://zcatt.blog.chinaunix.net
 
声明
仅限学习交流,禁止商业用途。转载需注明出处。

版本记录
Date        Ver        Note
2011-06-14    0.1        Draft.  zcatt, Beijing

设定ah, 或ax, 或eax, 与一个中断号组合起来, 指定了要调用的bios某个特定功能.

bios大致分为这样几类,
    INT 0x10, 显示相关. Video display functions (including VESA/VBE)
    INT 0x13, 大容量存储相关. mass storage (disk, floppy) access
    INT 0x15, 内存相关. memory size functions
    INT 0x16, 键盘相关. keyboard functions

罗列,

    INT 0x10, AH = 1 -- set up the cursor
    INT 0x10, AH = 3 -- cursor position
    INT 0x10, AH = 0xE -- display char
    INT 0x10, AH = 0xF -- get video page and mode
    INT 0x10, AH = 0x11 -- set 8x8 font
    INT 0x10, AH = 0x12 -- detect EGA/VGA
    INT 0x10, AH = 0x13 -- display string
    INT 0x10, AH = 0x1200 -- Alternate print screen
    INT 0x10, AH = 0x1201 -- turn off cursor emulation
    INT 0x10, AX = 0x4F00 -- video memory size
    INT 0x10, AX = 0x4F01 -- VESA get mode information call
    INT 0x10, AX = 0x4F02 -- select VESA video modes
    INT 0x10, AX = 0x4F0A -- VESA 2.0 protected mode interface


    INT 0x11 -- Hardware detection

    INT 0x13, AH = 0 -- reset floppy/hard disk
    INT 0x13, AH = 2 -- read floppy/hard disk in CHS mode
    INT 0x13, AH = 3 -- write floppy/hard disk in CHS mode
    INT 0x13, AH = 0x15 -- detect second disk
    INT 0x13, AH = 0x41 -- test existence of INT 13 extensions
    INT 0x13, AH = 0x42 -- read hard disk in LBA mode
    INT 0x13, AH = 0x43 -- write hard disk in LBA mode

    INT 0x12 -- get low memory size
    INT 0x15, EAX = 0xE820 -- get complete memory map
    INT 0x15, AX = 0xE801 -- get contiguous memory size
    INT 0x15, AX = 0xE881 -- get contiguous memory size
    INT 0x15, AH = 0x88 -- get contiguous memory size


    INT 0x15, AH = 0xC0 -- Detect MCA bus
    INT 0x15, AX = 0x0530 -- Detect APM BIOS
    INT 0x15, AH = 0x5300 -- APM detect
    INT 0x15, AX = 0x5303 -- APM connect using 32 bit
    INT 0x15, AX = 0x5304 -- APM disconnect


    INT 0x16, AH = 0 -- read keyboard scancode (blocking)
    INT 0x16, AH = 1 -- read keyboard scancode (non-blocking)
    INT 0x16, AH = 3 -- keyboard repeat rate

Locations of visitors to this page
阅读(729) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~