首页 > 其他分享 >《操作系统真象还原》第3章

《操作系统真象还原》第3章

时间:2023-02-22 19:57:44浏览次数:36  
标签:mbr gs 操作系统 mov 还原 ax byte 0xA4 真象

步骤:

1.直接操作显卡

2.使用硬盘


1.直接操作显卡

修改mbr.S为:

SECTION MBR vstart=0x7c00 ;起始地址编译在0x7c00
    mov ax,cs
    mov ds,ax
    mov es,ax
    mov ss,ax
    mov fs,ax
    mov sp,0x7c00
    mov ax,0xb800 ; ax为文本信号起始区
    mov gs,ax     ; gs = ax 充当段基址的作用

    ;ah = 0x06 al = 0x00 想要调用int 0x06的BIOS提供的中断对应的函数 即向上移动即完成清屏功能
    ;cx dx 分别存储左上角与右下角的左边 详情看int 0x06函数调用
    mov ax,0600h 
    mov bx,0700h
    mov cx,0
    mov dx,184fh
    
    ;调用BIOS中断
    int 0x10 

    ;新增功能 直接操作显存部分
    ;预设输出Hell0ER.
    
    mov byte [gs:0x00],'L' ;低位字节储存ascii字符 小端储存内存顺序相反
    mov byte [gs:0x01],0xA4    ;背景储存在第二个字节 含字符与背景属性
    
    mov byte [gs:0x02],'H' 
    mov byte [gs:0x03],0xA4
    
    mov byte [gs:0x04],'e' 
    mov byte [gs:0x05],0xA4
    
    mov byte [gs:0x06],'l' 
    mov byte [gs:0x07],0xA4
    
    mov byte [gs:0x08],'l' 
    mov byte [gs:0x09],0xA4
    
    mov byte [gs:0x0A],'0' 
    mov byte [gs:0x0B],0xA4
    
    mov byte [gs:0x0C],'E' 
    mov byte [gs:0x0D],0xA4
    
    mov byte [gs:0x0E],'R' 
    mov byte [gs:0x0F],0xA4
    
    jmp $ ;于此处死循环
    
    times 510 - ($ - $$) db 0 
    db 0x55,0xaa

保存后还是执行老步骤:

nasm -o mbr.bin mbr.S
dd if=mbr.bin of=hd60M.img bs=512 count=1 conv=notrunc
bin/bochs -f bochsrc.disk

记得再键入c,然后就会出现:

没问题,字符闪烁。


 

2.使用硬盘

 

标签:mbr,gs,操作系统,mov,还原,ax,byte,0xA4,真象
From: https://www.cnblogs.com/hell0er/p/17145643.html

相关文章

  • 操作系统的运行机制和体系结构
                     ......
  • 操作系统--发展和分类
                 ......
  • Ubutun操作系统启用/查看/刷新本地DNS缓存
    前言①DNS被认为是Internet连接的关键部分之一。目的是更快地访问访问的网站。更常见的是,计算机会跟踪DNS记录,或者将其缓存。②DNS缓存是用于DNS查找的临时存储系统,负责......
  • 2023年2月22日学习Linux:计算机操作系统
    .计算机操作系统简介1)掌握操作系统的定义:操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。、2)掌握操作系统的内核的定......
  • 【操作系统】操作系统的运行机制和体系结构
    1.运行机制(1)指令指令就是处理器(CPU)能识别、执行的最基本命令,比如:加法指令就是让CPU进行加法运算。(2)两种指令CPU如何判断当前是否可以执行特权指令?(3)两种处理器状态......
  • 查看麒麟操作系统信息
     [root@localhost~]#nkvers##############KylinLinuxVersion#################Release:KylinLinuxAdvancedServerreleaseV10(Lance)Kernel:4.19.90-5......
  • 0x02_My-OS操作系统里的helloworld
      直接看目录结构│main.c(可以调用asm的函数,可以使用最原始的c语言,你要明白基本所有头文件都要用汇编自己造)│Makefile(make脚本)├─asm│asmhead.asm(别......
  • 第九章 操作系统和应用的关系
    应用的运行环境就是操作系统。本章最开始所讲的就是操作系统功能的历史,最开始的程序员需要编写处理的所有相关程序这一过程是非常麻烦的,所以就有人开发出了仅具有加载和运......
  • 小米 EU ROM 无需 root 还原钱包服务
    小米EUROM无需root还原钱包服务可以使用公交卡1.安装最新版本小米应用商店2.在系统应用管理内安装钱包与小米智能卡3.在中国银联下载小米适配的可信服务组件4.设......
  • 02-安装操作系统(Ceph Pacific)
    1.安装镜像Ubuntu:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/ubuntu-20.04.5-live-server-amd64.isoCentOS(备用):http://mirror.nsc.liu.se/centos-s......