E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
从实模式到保护模式
[017][x86汇编语言]检测点9.1 :观察 cli、 sti 指令执行 后标志位IF的变化
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f检测点9.1:观察cli、sti指令执行后标志位IF的变化写一个小的主引导程序climovax
AkuRinbu
·
2020-06-23 05:06
从零开始搭建环境编写操作系统 AT&T GCC (二)
从实模式到保护模式
上午有时间,继续上一篇文章,本篇的主要内容是如何启动保护模式,这样我们可以利用更大的内存来编程了。一、我们创建一个顶层Makefile文件,方便之后我们的编译调试OBJ:=system.oloader.oTOP_DIR:=$(PWD)OBJ_DIR:=$(TOP_DIR)/objBIN_DIR:=$(TOP_DIR)/binBIN:=system.imgSUB_DIR:=systemloadere
cheng7606535
·
2020-06-22 21:48
OranOS
[016][x86汇编语言]习题9-2:采用周期性中断,500ms(1秒2次中断),动态时钟
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f解题指导(书上自带解题方法)第159页第156页RTC寄存器B各位的功能说明第156
AkuRinbu
·
2020-06-22 02:24
[060][x86汇编语言]第16章内核程序执行逻辑:load_relocate_program、alloc_inst_a_page、allocate_a_4K_page、create_copy...
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f源码文件配书代码包,第16章,内核源码文件,c16_core.asm表格涉及内核程序
AkuRinbu
·
2020-06-21 21:27
[030][x86汇编语言]第十四章 调用门描述符的格式
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f门(Gate),门描述符门描述符与段描述符段描述符用于描述符内存段,比如:数据段
AkuRinbu
·
2020-06-21 17:33
[038][x86汇编语言]第十五章 中断描述符表 任务门描述符格式
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f[复习]对实模式的中断向量表产生一些感性认识什么是中断号乘以4?
AkuRinbu
·
2020-06-21 16:47
[062][x86汇编语言]第16章 源码分析 过程[alloc_inst_a_page]
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f详细调用关系以及过程在整个内核程序中的作用参见https://www.jianshu.com
AkuRinbu
·
2020-06-20 20:17
Linux 0.11——
从实模式到保护模式
综述本文原载于我的博客,地址:https://blog.guoziyang.top/archives/33/最近在阅读Linux0.11的源码时,对于setup.s文件中设置GDT表的部分不是很理解,后来经过刘国军老师的指点,结合赵炯博士的《Linux内核完全注释》的第四章《80X86保护模式及其编程》,对于保护模式有了一些粗浅的了解和认识。备忘。本文章主要讲解保护模式的寻址机制与setup.s中
何人听我楚狂声
·
2020-06-06 11:01
x86架构:从实模式进入保护模式
详细的过程说明参考:(1)https://www.cnblogs.com/Philip-Tell-Truth/p/5211248.html(2)x86汇编:
从实模式到保护模式
这里简化一下说说要点:1、生成并加载
第七子007
·
2020-06-04 15:00
[061][x86汇编语言]第16章 源码分析 过程[allocate_a_4K_page] 汇编指令bts
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f详细调用关系以及过程在整个内核程序中的作用参见https://www.jianshu.com
AkuRinbu
·
2020-04-11 15:03
Orange'S:
从实模式到保护模式
这是在读Orange'S之后,做的一些实验,以及自己的思考,和对书中一些知识的解释。如果没读过原文的话,看代码可能会有点难理解,但是原理部分是很清晰的。从BIOS到MBR在计算机启动过程中,首先会进入ROM上的BIOS,进行一系列计算机硬件自检后,加载第一个可启动存储设备(如你的硬盘)的第一个扇区的内容(大小为512bits)到0x7c00开始出的内存,并跳转到0x7c00处,执行该扇区内存储的指
DillionMango
·
2020-04-09 15:36
[书籍]《x86汇编语言:
从实模式到保护模式
》
《x86汇编语言:
从实模式到保护模式
》配书文件包下载https://www.cnblogs.com/leec/p/8081720.html“配书源码和工具”文件夹包含了本书第5、6、7、8、9、11、12
AkuRinbu
·
2020-04-02 02:13
[019][x86汇编语言]段描述符、段选择子格式(检测点11.1)
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f存储器段描述符格式(SegmentDescriptor)存储器段描述符格式单个描述符在
AkuRinbu
·
2020-03-15 03:41
[022][x86汇编语言]第12章 存储器的保护
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f代码参考配书代码c12_mbr.asm运行结果第12章程序运行结果.png内存映象各个部分在内存中的映象完整源码
AkuRinbu
·
2020-03-12 14:10
x86
从实模式到保护模式
学习笔记(1)
第五章编写主引导扇区代码本章介绍了一个简短的主引导扇区代码,其主要功能是在屏幕上显示“labeloffset”,并显示一个标号的物理地址。如何在屏幕上显示在主引导扇区阶段,0xB8000-0xBFFFF这段物理地址对应的内存是留给显卡的,每屏2000个字符,按顺序存放在这段空间里。所以我们想要在屏幕上输出,就要改写这段内存。movax,0xb800;指向文本模式的显示缓冲区moves,ax;以下显
嗒小木
·
2020-02-26 04:34
[014][x86汇编语言]采用更新周期结束中断,动态时钟(Bochs 调试: 在中断向量表IVT中,查看新的0x70号中断程序的入口地址)
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f基于RTC更新周期结束中断实现的动态时钟计算机启动后,RTC芯片的中断号默认是0x70
AkuRinbu
·
2020-02-14 22:01
[020][x86汇编语言]第11章 进入保护模式
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f代码参考配书代码c11_mbr.asm运行结果第11章程序运行结果.png参考图例图
AkuRinbu
·
2020-02-11 06:33
[OS_0x01]实模式 --> 保护模式(段式-->段页式)
本文参考的一些博客和书本:[实模式与保护模式解惑之(一)——二者的起源与区别]汇编相关-从汇编研究局部变量机制我看保护模式x86汇编语言:
从实模式到保护模式
实模式是什么INTEL8086CPU的寻址方式
Quasars
·
2020-02-08 18:37
汇编语言有关在屏幕区显示字符的四种方法(推荐)
李忠老师的《x86汇编语言:
从实模式到保护模式
》中第五章到第七章的部分,每一章在讲述知识点的同时,分别使用了三种不同的显示字符的方法,加上调用BIOS的10h中断的方法,这里做出一次简单梳理:一:第五章
逸阳
·
2020-02-06 12:12
【自制操作系统04】
从实模式到保护模式
通过前三章的努力,我们成功将控制权转交给了loader.asm这个程序。具体说就是bios通过加载并跳转到0x7c00(IMB大叔们定的)把控制权转交给了我们操作系统的第一个汇编程序mbr.asm,然后mbr.asm里做的事就是通过加载loader程序并跳转到0x900(这个是我们自己定的)把控制权转交给了loader.asm程序,目前这个程序里还只是向屏幕输出一行字符串“loader”,今天我们
闪客sun
·
2020-01-25 21:00
Linux内存管理解析(一) : 分段与分页机制
从实模式到保护模式
的寻址方式的不同:16位CPU的寻址方式:在8086CPU中,提供了两类寄存器来进行寻址,分别为段寄存器(例如CS,DS,SS)和段偏移寄存器(例如SI,DI,SP)。
Vizdl
·
2020-01-25 14:00
[013][x86汇编语言]从硬盘主引导扇区启动,显示hello world的“迷你操作系统”
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f代码功能从硬盘主引导扇区启动,显示helloworld的“迷你操作系统”本文硬盘图片硬盘
AkuRinbu
·
2020-01-06 09:15
[056][x86汇编语言]访问页目录自己的表项 VS 访问页表自己的页表项
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f本篇内容一、如何访问页目录自己的表项二、如何访问页表自己的页表项三、页映射位串与物理内存的对应关系一
AkuRinbu
·
2020-01-03 07:30
[015][x86汇编语言]习题9-1:对8259芯片编程,屏蔽除RTC外的其他所有中断,观察字符“@”的变化速度,动态时钟
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f习题9-1:对8259芯片编程,屏蔽除RTC外的其他所有中断,观察字符“@”的变化速度运行结果屏蔽完除了
AkuRinbu
·
2020-01-02 03:47
[067][x86汇编语言]Bochs调试命令整理
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f说明与Bochs调试有关的,整理在这里,包括:单个命令的说明,或者一次调试过程当实例等
AkuRinbu
·
2020-01-01 10:55
2019-11-12 数字的进制学习
1、综合学习有关的各种进制学习2、学习cpu中的运算器怎么通过二进制运算的,理解通透,不要有一丢丢疑惑X86汇编语言
从实模式到保护模式
0X01十六进制计数法【首先掌握二进制在计算机cpu等模块中的运行原理以及过程
墨子幻
·
2019-12-21 20:27
[034][x86汇编语言]第十四章 内核程序c14_core.asm 程序流程
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f完整原版源码见配书代码包c14_core.asm内核程序c14_core.asm
AkuRinbu
·
2019-11-02 13:20
[036][x86汇编语言]第十四章 本章习题解答
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f习题一题目要求1、修改代码清单14-1和13-3,使用户程序能够正常返回到内核,
AkuRinbu
·
2019-11-01 20:58
MIT-6.828-JOS-环境搭建
当然所有资料都是英文的,所以难度也不低,这里推荐几本非常有用的参考书:《x86汇编语言-
从实模式到保护模式
》,《程序员的自我修养-链接、装载与库》,《深入理解计算机系统》,很多知识在这些书中都有提到,参考着看会有奇效
gatsby123
·
2018-10-05 22:00
[050][x86汇编语言]16.1.1 简单分页模型: 计算从线性地址到页物理地址的映射
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f分页机制的引入背景段不用的时候要被挪到磁盘,段要被用到的时候要被加载到内存;引入分页机制是为了解决空闲区域远远大于要加载的段的浪费问题
AkuRinbu
·
2018-07-25 22:19
[049][x86汇编语言]控制转移到其他任务 jmp/call
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f处理器用以下四种方法将控制转移到其他任务:1、当前程序、任务、或者过程执行一个将控制转移到
AkuRinbu
·
2018-07-08 11:44
[041][x86汇编语言]第十五章 终止当前任务 子程序 terminate_current_task 源码解析
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f复习代码运行后的内存状态https://www.jianshu.com/p/a286eceb0a10
AkuRinbu
·
2018-06-28 05:21
[040][x86汇编语言]第十五章 任务切换 B位 、NT位、TSS指针域 变化规则
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9fEFLGAS标志寄存器的格式EFLAGS标志寄存器的格式.png不同任务切换对B
AkuRinbu
·
2018-06-28 04:15
[039][x86汇编语言]第十五章 任务切换 内存示意图 以及 TSS相关 源码解析
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f运行结果第十五章任务切换运行结果.png代码使用nasmide.exe编译源码文件
AkuRinbu
·
2018-06-28 04:32
操作系统学习:Linux0.12初始化详细流程-首个子进程
本文参考书籍1.操作系统真相还原2.Linux内核完全剖析:基于0.12内核3.x86汇编语言
从实模式到保护模式
4.Linux内核设计的艺术ps:基于x86硬件的pc系统Linux0.12初始化续在上一篇博文中根据
qq_33339479
·
2018-06-12 19:52
操作系统
[029][x86汇编语言]第十三章 习题:修改内核程序和用户程序,改由用户程序自行提供栈空间
学习笔记《x86汇编语言:
从实模式到保护模式
》https://www.jianshu.com/p/d481cb547e9f答案参考https://blog.csdn.net/longintchar/article
AkuRinbu
·
2018-06-05 18:20
X86汇编语言
从实模式到保护模式
(一)
不对请指正,欢迎交流基础知识单位换算:1Byte=8bit1KB=1024Byte1MB=1024KB1GB=1024MB寄存器8位寄存器可以容纳8比特(bit),或者说1个字节1byte=8bit,8个二进制数11111111->0xFF16位寄存器可以存放2个字节,也就是1个字,从右到左数,其中0~7是低字节,8~15是高字节32位寄存器可以放4个字节也就是一个双字,其中0~15是低字,16~
小小初行者
·
2016-08-21 22:13
通过调用门进行控制转移 ——《x86汇编语言:
从实模式到保护模式
》读书笔记29
通过调用门进行控制转移1.关于堆栈切换如果通过调用门把控制转移到了更高特权级的非一致代码段中,那么CPL就会被设置为目标代码段的DPL值,并且会引起堆栈切换。为什么要切换堆栈呢?原因有以下几点:1.因为栈段的特权级必须同CPL保持一致;2.防止高特权级程序由于栈空间不足而崩溃;3.防止低特权级程序通过共享的栈有意或无意地干扰高特权级程序。为了切换栈,每个任务除了自己的固有栈之外,还必须额外定义一套
u013490896
·
2016-05-10 22:00
调用门
从实模式到保护模式
堆栈切换
代码段间转移控制时的特权级检查(JMP/CALL)——《x86汇编语言:
从实模式到保护模式
》读书笔记28
代码段间转移控制时的特权级检查(JMP或者CALL指令)在保护模式下,JMP或CALL指令可以用以下四种方法之一来引用另外一个代码段:1.目标操作数含有目标代码段的段选择子和偏移2.目标操作数指向一个调用门描述符3.目标操作数指向一个TSS4.目标操作数指向一个任务门后两种涉及任务的切换。本文仅对前两种进行讨论。1.直接调用或跳转到另一个代码段JMP、CALL、RET指令的近转移只是在当前代码段中
u013490896
·
2016-05-07 10:00
调用门
从实模式到保护模式
x86特权级
任务和特权级保护(一)——《x86汇编语言:
从实模式到保护模式
》读书笔记27
本文及后面的几篇文章是原书第14章的读书笔记。1.LDT(局部描述符表)在之前的学习中,不管是内核程序还是用户程序,我们都是把段描述符放在GDT中。但是,为了有效实施任务间的隔离,处理器建议每个任务都应该有自己的描述符表,称为局部描述符表LDT(LocalDescriptorTable),并且把专属于这个任务的那些段描述符放到LDT中。和GDT一样,LDT也是用来存放段描述符的。不同之处在于,LD
u013490896
·
2016-05-02 11:00
TSS
cpl
DPL
RPL
从实模式到保护模式
程序的加载和执行(六)——《x86汇编语言:
从实模式到保护模式
》读书笔记26
程序的加载和执行(六)——《x86汇编语言:
从实模式到保护模式
》读书笔记26通过本文能学到什么?
u013490896
·
2016-04-16 12:00
汇编语言
条件汇编
从实模式到保护模式
程序的加载和执行(五)——《x86汇编语言:
从实模式到保护模式
》读书笔记25
程序的加载和执行(五)——《x86汇编语言:
从实模式到保护模式
》读书笔记25前面几篇博文终于把代码分析完了。这篇就来说说代码的编译、运行和调试。
u013490896
·
2016-04-13 22:00
汇编语言
从实模式到保护模式
程序的加载和执行(四)——《x86汇编语言:
从实模式到保护模式
》读书笔记24
程序的加载和执行(四)——《x86汇编语言:
从实模式到保护模式
》读书笔记24通过本文能学到什么?怎样跳转到用户程序用户程序通过调用内核过程完成自己的功能怎样从用户程序返回到内核接着上篇博文说。
u013490896
·
2016-03-27 11:00
程序的加载和执行(三)——《x86汇编语言:
从实模式到保护模式
》读书笔记23
程序的加载和执行(三)——读书笔记23接着上次的内容说。关于过程load_relocate_program的讲解还没有完,还差创建栈段描述符和重定位符号表。分配栈空间与创建栈段描述符462;建立程序堆栈段描述符 463movecx,[edi+0x0c];4KB的倍率 464movebx,0x000fffff 465subebx,ecx;得到段界限 466moveax,4096 467muldwor
u013490896
·
2016-03-26 18:00
读书笔记
汇编语言
从实模式到保护模式
如何构造栈段描述符
设定约束条件如下:1.栈段向下扩展2.B=13.G=14.分页机制关闭问题分析:数据段描述符的格式如下如果你不懂各个字段的含义,可以参考我的博文:数据段描述符和代码段描述符(一)——《x86汇编语言:
从实模式到保护模式
u013490896
·
2016-03-23 22:00
保护模式
栈段描述符
程序的加载和执行(二)——《x86汇编语言:
从实模式到保护模式
》读书笔记22
本博文对应原书13.3-13.4节的内容。显示处理器品牌信息531start: 532movecx,core_data_seg_sel;使ds指向核心数据段 533movds,ecx 534 535movebx,message_1 536callsys_routine_seg_sel:put_string 537 538;显示处理器品牌信息 539moveax,0x80000002 540cpui
u013490896
·
2016-03-22 22:00
汇编语言
从实模式到保护模式
程序的加载和执行(一)——《x86汇编语言:
从实模式到保护模式
》读书笔记21
程序的加载和执行(一)本文及之后的几篇博文是原书第13章的学习笔记。本章主要是学习一个例子,对应的代码分为3个文件:;代码清单13-1 ;文件名:c13_mbr.asm ;文件说明:硬盘主引导扇区代码 ;代码清单13-2 ;文件名:c13_core.asm ;文件说明:保护模式微型核心程序 ;代码清单13-3 ;文件名:c13.asm ;文件说明:用户程序因为代码比较长,完整的我就不贴了。有需
u013490896
·
2016-03-20 19:00
从实模式到保护模式
存储器的保护(三)——《x86汇编语言:
从实模式到保护模式
》读书笔记20
存储器的保护(三)修改本章代码清单,使之可以检测1MB以上的内存空间(从地址0x0010_0000开始,不考虑高速缓存的影响)。要求:对内存的读写按双字的长度进行,并在检测的同时显示已检测的内存数量。建议对每个双字单元用两个花码0x55AA55AA和0xAA55AA55进行检测。上面的文字选自原书第12章的习题1.这篇博文就讨论一下这道题。由于是初学,我不对自己做太高的要求,只要实现功能即可。代码
u013490896
·
2016-03-13 17:00
汇编语言
内存检测
从实模式到保护模式
存储器的保护(一)——《x86汇编语言:
从实模式到保护模式
》读书笔记18
本文是原书第12章的学习笔记。说句题外话,这篇博文是补写的,因为让我误删了,可恶的是CSDN的回收站里找不到!好吧,那就再写一遍,我有坚强的意志。司马迁曰:“文王拘而演《周易》;仲尼厄而作《春秋》;屈原放逐,乃赋《离骚》;左丘失明,厥有《国语》;孙子膑脚,《兵法》修列;不韦迁蜀,世传《吕览》……”好了,不煽情了,进入正题。第12章的代码如下。1;代码清单12-1 2;文件名:c12_mbr.asm
u013490896
·
2016-02-28 13:00
汇编语言
从实模式到保护模式
存储器的保护
存储器的保护(二)——《x86汇编语言:
从实模式到保护模式
》读书笔记19
接着上一篇博文说。 5.代码段执行时的保护每个代码段都有自己的段界限。同栈段一个道理,有效界限和G位相关。G=0:有效界限=描述符中的段界限G=1:有效界限=描述符中的段界限值*0x1000+0xFFF当处理器取指令的时候,偏移地址由EIP提供,EIP的范围应该在[0,有效界限]之间(为了说明问题,我就用数学上的闭区间表示了)。否则会引发异常。对于本代码,代码段描述符中的界限值是0x1FF,G=0
u013490896
·
2016-02-25 21:00
汇编语言
从实模式到保护模式
存储器的保护
上一页
1
2
3
4
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他