首页 > 其他分享 >0166-BIOS 中断

0166-BIOS 中断

时间:2024-07-12 10:08:22浏览次数:10  
标签:start 中断 db 0166 mov BIOS bx

环境

  • Time 2022-11-09
  • WSL-Ubuntu 22.04
  • QEMU 6.2.0
  • NASM 2.15.05

前言

说明

参考:《x86汇编语言:从实模式到保护模式》李忠
参考:http://www.ablmcc.edu.hk/~scy/CIT/8086_bios_and_dos_interrupts.htm

目标

使用 BIOS 中断,来进行屏幕的输出。

BIOS 中断

BIOS 中断是 BIOS 启动后,从地址 0x0000 处初始化的一个中断向量表。
其中存放的是段地址和偏移地址,每个终端号对应四个字节,一共可以有 256 个中断号。

汇编代码

jmp start

data: db 'hello world'

start:
    mov cx,start - data
    mov bx,0x7c00 + data
printc:
    mov al,[bx]
    mov ah, 0eh
    int 10h
    inc bx
    loop printc
    jmp $

    times 510 - $ + $$ db 0
    db 0x55
    db 0xaa

字符定义

之前是通过对单个字符进行定义的,这里直接使用了字符串,用单引号引起来。

loop 循环

使用了 CX 寄存器来存储字符的个数,使用 loop 进行循环。

中断

使用的是 0X10 中断,子功能号是 0X0E,表示向屏幕输出,并后移光标。
AL 寄存器存储将要显示的字符,AL 寄存器填写子功能号,最后使用 int 10h 进行中断。
该中断为 BIOS 提供。

总结

使用 BIOS 的中断,向屏幕输出了 hello world。

附录

标签:start,中断,db,0166,mov,BIOS,bx
From: https://www.cnblogs.com/jiangbo4444/p/18297681

相关文章

  • 毕业生就业信息统计系统(10166)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发四、项......
  • STM32中断(NVIC和EXIT)
    CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。但STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有76个中断,包括16个内核中断和60个可屏蔽中断,具有16级可编程的中断优先级。而常用的就是这60个......
  • HAL库源码移植与使用之HAL库中断机制剖析
    经过一段时间的学习,我对HAL库自带的中断回调机制深恶痛绝,个人认为你可以把HAL库当成标准库去编写,形成你自己的编译风格,不用执行HAL库官方给的模板。HAL库中断函数回调机制:首先每个芯片的中断处理机制都是一样的,一样的中断头,一样的存储地址块比如:HAL库中的voidTIM5_IRQHandl......
  • VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS xFusion (超聚变) FusionServer 定制版
    VMwareESXi8.0U3macOSUnlocker&OEMBIOSxFusion(超聚变)FusionServer定制版ESXi8.0U3标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Hitachi(日立)、Fujitsu(富士通)、NEC(日电)、Huawei(华为)、xFusion(超聚变)OEM定制版请......
  • 51单片机嵌入式开发:7、 STC89C52RC 外部中断INT0和INT1 操作
    STC89C52RC外部中断INT0和INT1操作1外部中断1.1外部中断1.2中断介绍2STC89C52外部中断2.1外部中断引脚2.2外部中断寄存器说明3STC89C52外部中断演示3.1电平触发外部中断3.2边沿触发外部中断3.3Protues仿真4外部中断总结1外部中断1.1外部中断单片......
  • stm32串口接受定长和不定长数据的两种中断方式
    stm32串口有两种中断方式1.字节中断(定长数据接受)接收指定字节数的数据后产生中断:HAL_UART_Receive_IT(&huart3,rxBuffer,21);注意这里仍然是接受一个字节进入一次IRQ中断函数,这里指定的字节数指的是接受指定字节数量后进入一次回调函数,由于IRQ函数会关闭中断,如需重复接受定......
  • 服务器刷新BIOS后死机
    服务器刷新BIOS后死机是一个比较常见的问题,可能由多种原因引起。一、原因分析BIOS文件问题:刷新的BIOS文件可能本身就是坏的,或者与服务器硬件不兼容。BIOS版本选择不当,也可能导致兼容性问题。刷新过程问题:刷新过程中突然断电或操作不当,可能导致BIOS损坏。硬件故障:服务器硬......
  • CDC实时同步进行时遇到不可抗力中断了怎么办?
    目录一、CDC技术的概念二、CDC技术的应用场景1.数据复制和同步2.实时数据仓库3.业务过程监控和审计4.ETL进程优化三、CDC与数据管道的关系1.区别CDC(ChangeDataCapture)数据管道(DataPipeline)2.联系CDC是数据管道的一部分数据管道支持CDC的实现四、CDC实时同步......
  • 【ARMv8/v9 GIC 系列 5.5 -- IRQ 和 FIQ中断路由的详细介绍】
    请阅读【ARMGICv3/v4实战学习】文章目录InterruptassignmenttoIRQandFIQsignalsGroup0物理中断Group1物理中断不同状态下的中断信号汇总当EL3使用AArch64状态时当EL3使用AArch32状态时只支持单一安全状态的系统小结Interruptassig......
  • VMware ESXi 8.0U3 macOS Unlocker & OEM BIOS HPE (慧与) 定制版
    VMwareESXi8.0U3macOSUnlocker&OEMBIOSHPE(慧与)定制版ESXi8.0U3标准版,Dell(戴尔)、HPE(慧与)、Lenovo(联想)、Inspur(浪潮)、Cisco(思科)、Hitachi(日立)、Fujitsu(富士通)、NEC(日电)、Huawei(华为)、xFusion(超聚变)OEM定制版请访问原文链接:ht......