首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BIOS INT 10,AH=0E第二阶段的奇怪行为

BIOS INT 10,AH=0E是一种BIOS中断服务,用于在计算机启动过程中进行字符输出。在第二阶段中,如果出现奇怪行为,可能是由于以下原因:

  1. 软件错误:可能是由于编程错误或软件bug导致的奇怪行为。在开发过程中,开发工程师应该进行充分的测试和调试,以确保软件的正确性和稳定性。
  2. 硬件故障:奇怪行为也可能是由于硬件故障引起的。例如,可能是由于内存故障、硬盘故障或其他硬件组件故障导致的异常行为。在这种情况下,需要进行硬件故障排除和修复。
  3. 兼容性问题:某些软件可能对特定的硬件或操作系统版本有兼容性问题,导致奇怪的行为。在这种情况下,开发工程师需要进行充分的测试和兼容性验证,以确保软件在各种环境下都能正常运行。
  4. 病毒或恶意软件感染:奇怪行为也可能是由于计算机感染了病毒或恶意软件导致的。在这种情况下,需要进行杀毒和恶意软件清除操作,以确保计算机的安全性和稳定性。

总结起来,BIOS INT 10,AH=0E第二阶段的奇怪行为可能是由于软件错误、硬件故障、兼容性问题或病毒感染等原因引起的。为了解决这个问题,开发工程师需要进行充分的测试和调试,并进行必要的硬件故障排除和安全防护措施。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

写一个操作系统_05 调试MBR

熟悉MBR引导 MBR512字节里面也是代码,他被BIOS加载执行,自身执行时候加载操作系统loader,我们在没有操作系统loader情况下先写一段测试程序,体验一下。...实现功能如下: BIOS 加载 MBR中代码,执行,用BIOS 中断 INT 0x10显示字符串 MBR代码 ;主引导程序 ; 起始编译地址是 0x7c00 SECTION MBR vstart...mov ah, 3 ; 输入: 3号子功能是获取光标位置,需要存入ah寄存器 mov bh, 0 ; bh寄存器存储是待获取光标的页号 int 0x10 ; 输出: ch=光标开始行...mov cx, 8 ; cx 为串长度,不包括结束符0字符个数 mov ax, 0x1301 ; 子功能号13是显示字符及属性,要存入ah寄存器, ; al设置写字符方式 ah=...01: 显示字符串,光标跟随移动 mov bx, 0x2 ; bh存储要显示页号,此处是第0页, ; bl中是字符属性, 改颜色,要不看不见 int 0x10 ; 执行BIOS

89530

【汇编语言王爽】学习笔记p54-p79

—直接考虑cmp和jxxx指令配合出来逻辑含义就可以了----------例如:cmp ah,bh je sadd ah,bh jmp short ok 条件转移指令应用–本质 转移–修改ip;...(INT)-外(键盘等) 0: 除法错误div除法溢出;1:单步 4:into 溢出中断; n INT指令 下面举例 13,10表示回车换行; $结束符号 int 21h中断—然后看ax里面,ax里面是...BIOS-比如显示内容 必须要算 推算了解显示内存区域在哪里 bios10h中断,(ah)=2调用第十号h终端2耗子程序没设置光标位置 (ah)=9 调用10h中断9号子程序 在光标位置显示字符...bios调用两个中断完成 显示高亮闪烁a 直接BIOS终端手册-----例子 汇编还有DOS中断–强大 小结-bios,dos中断 程序返回 int 21H DOS中断例程----其实就是...0040:17这个地方一个字节来存放键盘键盘状态---------键盘状态 执行int 9--------读出60h端口中扫描码—根据扫描码分情况对待—如果自福建扫描码,就把他字符码送到内存bios

74230

汇编语言中断及外部设备操作篇--06

BIOS提供磁盘直接服务——int 13h 用BIOS int 13h对磁盘进行读操作 用BIOS int 13h对磁盘进行写操作 DOS中断对磁盘文件支持——int 21H 让计算机“唱歌” 外部设备与如何被控制...这里重点关注不在是各个功能具体实现了,而是主程序中通过查表得到每个子程序开始地址,这个操作是如何完成 通过在ah中设置需要执行子程序在表中相对偏移地址,但是ah保存偏移地址单位是字节,而表单位是字...sp,10指令会单步执行 ---- 由int指令引发中断 int n引起中断 ---- 编写供应用程序调用中断例程 ---- 示例 :中断7ch中断例程 在执行int n中断之前,会把当前...---- int 21HDOS 中断例程应用 ---- BIOS和DOS中断例程安装过程 ---- 端口读写 用端口访问外设:以发声为例 ---- CPU邻居 CPU通过这些端口控制各种芯片行为...---- BIOS提供磁盘直接服务——int 13h ---- 用BIOS int 13h对磁盘进行读操作 ---- 用BIOS int 13h对磁盘进行写操作 ---- DOS中断对磁盘文件支持

73510

计算机是如何启动?一文教你自制操作系统

其中 10H 号中断就是显示服务,我们通过 INT 10H 指令就可以触发 10H 号中断。...在中断触发后,BIOS 会去读取寄存器 AH值,并根据这个字节内容,来进行不同操作,例如,如果 AH 中存储是 13H,BIOS 就会在屏幕上显示一行字符串。 4.2....利用 BIOS 10H 号中断实现字符串显示 上面已经提到,在 INT 10H 触发时,如果 AH 中存储是 13H,那么 BIOS 就会在屏幕上显示一行字符串。 4.2.1....10h ; 10h 号中断 ret BootMessage: db "Hello World my OS!"...附录 — BIOS 中断列表 10H 号中断 — 显示服务 13H 号中断 — 直接磁盘服务 14H 号中断 — 串行端口服务 15H 号中断 — 杂项系统服务 16H 号中断 — 键盘服务 17H 号中断

2.7K10

c++中两个类互相引用问题

1> c:\users\lxw\desktop\dragonfly第二阶段实验\最终实验版本\实验目录\dragonfly_modify\src\Q2DTorus.h(6) : 参见...“Q2DTorusNode”声明       ”       警告信息很是奇怪,其实出于强迫症原因想要解决掉这个警告信息,而且从警告信息来看,程序也应该存在内存泄露问题,因为警告直接明白告诉你了,...我会搭建一个简单程序来模拟这个错误,因为程序是在有些多~ 警告来源:       一个头文件A.h包含class A代码如下:   #ifndef AH #define AH class B;...A.h代码: #ifndef AH #define AH class B; class A { B b; }; #endif    B.h代码: #ifndef BH #define BH #include...另外问题:     A.h #ifndef AH #define AH class B; class A { B* b; void setB() { b->haha(); } ~A() {

1.8K50

c++中两个类互相引用问题

1> c:\users\lxw\desktop\dragonfly第二阶段实验\最终实验版本\实验目录\dragonfly_modify\src\Q2DTorus.h(6) : 参见...“Q2DTorusNode”声明       ”       警告信息很是奇怪,其实出于强迫症原因想要解决掉这个警告信息,而且从警告信息来看,程序也应该存在内存泄露问题,因为警告直接明白告诉你了,...我会搭建一个简单程序来模拟这个错误,因为程序是在有些多~ 警告来源:       一个头文件A.h包含class A代码如下:   #ifndef AH #define AH class B;...A.h代码: #ifndef AH #define AH class B; class A { B b; }; #endif    B.h代码: #ifndef BH #define BH #include...另外问题:     A.h #ifndef AH #define AH class B; class A { B* b; void setB() { b->haha(); } ~A() {

1.1K20

c++中两个类互相引用问题

1> c:\users\lxw\desktop\dragonfly第二阶段实验\最终实验版本\实验目录\dragonfly_modify\src\Q2DTorus.h(6) : 参见...“Q2DTorusNode”声明       ”       警告信息很是奇怪,其实出于强迫症原因想要解决掉这个警告信息,而且从警告信息来看,程序也应该存在内存泄露问题,因为警告直接明白告诉你了,...我会搭建一个简单程序来模拟这个错误,因为程序是在有些多~ 警告来源:       一个头文件A.h包含class A代码如下:   #ifndef AH #define AH class B;...A.h代码: #ifndef AH #define AH class B; class A { B b; }; #endif    B.h代码: #ifndef BH #define BH #include...另外问题:     A.h #ifndef AH #define AH class B; class A { B* b; void setB() { b->haha(); } ~A() {

1.2K20

实战分页机制实现 -- 通过实际内存大小动态调整页表个数

本文我们就来通过一个程序获取计算机内存信息。 2. 通过 BIOS 中断获取内存信息 我们曾经通过 BIOS 10H 硬件中断实现向显示器输出一行文字。 计算机是如何启动?...原理 用于获取内存信息 10H 中断将内存信息拼装为一个 20 个字节数据结构 — 地址范围描述符结构,写入到指定内存中。...准备工作 利用 BIOS INT 15H 获取内存信息前,需要填充以下寄存器: EAX — 设置为 0E820h,表示获取内存信息 EBX — 设置为 0 ES:DI — 信息写入内存区域首地址 ECX...— 内存区域大小字节数,通常系统需要写入数据是 20 字节,如果 ECX 值小于 20,那么 BIOS 会写入 ECX 字节,但有些实现中 BIOS 没有考虑 ECX 值,总是写入 20 字节 EDX...INT 15H 中断完成后寄存器值 EFLAGS — EFLAGS CF 位表示中断执行是否出错,位 0 表示没有出错,为 1 表示出错 EAX — 0534D4150h ECX — BIOS 实际写入字节数

76920

汇编基础

sp需要同时改变,因此不能被中断 mov设置ss:sp时也要连续 第十三章,int指令 int指令 与call类似,int调用中断程序 对int,iret与栈深入理解 BIOS与dos中断例程安装...开机后CS:0FFFFH,IP=0, 该位置有一条跳转指令,执行后专区bios硬件检测与初始化程序 初始化程序,将BIOS所支持中断向量,即Bois提供中断例程入口记录在中断向量表 完成后 int...19h进行操作系统引导,将计算机交给操作系统 dos病毒就是改变 int 19h中断 BIOS中断历程应用 int 10h中断设置光标位置功能 10h中包含多个子程序,通过ah,设置子程序序号...mov ah,2 ;2号子程序 mov bh,0 ;0页 mov dh,5 ;5行 mov dl,12 ;12列 int 10h int 21h 程序返回功能 mov ah 4ch #...第十七章,BIOS键盘输入磁盘读写 int 9 中断对键盘输入处理 键盘缓区15个字单元,存储扫描码,ascii int 16 读取键盘缓冲区 mov ah,0 int 16h ;从键盘缓冲区读取一个

1.3K41

键盘中断事件及其相关---小记

对于键盘中断介绍 当我们在按下按键时,键盘会把按键扫描码发送到主板接口电路中,具体说就是端口60H。 当60H收到扫描码,这时接口就会向CPU发出中断请求。这是一个可屏蔽中断。...也就是进入int 9中断服务程序。此时,程序将读取 60H中扫描码,并判断输入按键是什么。 ? ?...2 MOV AH,02H ;键盘状态 3 INT 16H 4 AND AL,00000100B ;;检测 Ctrl -- 位...应用程序读取键盘缓冲区 利用键盘控制应用程序主要有两种方式: 1、直接从60H端口中读取键盘扫描码,在应用程序中分析键盘输入是字符还是控制符、切换符等。 2、利用BIOS提供中断int 16H。...ff 114 4c 76 L 15 0d 13 er 115 4d 77 M 16 0e 14 so 116 4e 78 N 17 0f 15 si 117 4f 79 O 20 10 16 dle 120

1.5K20
领券