void GetFontAdd() { struct REGPACK regs; regs.r_bx=0x0300; regs.r_ax=0x1130; intr(0x10,®s); FONT_SEG=regs.r_es; FONT_OFF=regs.r_bp; }
时间: 2024-04-02 22:37:30 浏览: 40
segy_struct.zip_segy_segy_struct_地震segy_结构地震
这段代码使用了 `intr` 函数来调用 INT 10h BIOS 中断服务程序,获取了当前的字体地址,并将其保存在全局变量 `FONT_SEG` 和 `FONT_OFF` 中。具体来说,这段代码做了以下几件事情:
1. 定义了一个 `REGPACK` 结构体类型的变量 `regs`,用于传递寄存器值和其他参数。
2. 将 `regs.r_bx` 设置为 0x0300,表示获取当前字体的地址。
3. 将 `regs.r_ax` 设置为 0x1130,表示调用 BIOS 中断服务程序,获取字体地址。
4. 使用 `intr` 函数调用 INT 10h BIOS 中断服务程序,并将 `regs` 作为参数传递。
5. 从 `regs` 中获取返回值,将字体地址保存在全局变量 `FONT_SEG` 和 `FONT_OFF` 中。
需要注意的是,这段代码是在 DOS 环境下编写的,使用了特定于 DOS 环境的 `intr` 函数。如果您需要在其他环境下编写程序,可能需要使用其他的 API 函数或者系统调用来实现类似的功能。
阅读全文