上一页 1 ··· 7 8 9 10 11 12 13 下一页
2024年8月18日
摘要: 本章内存规划 内核的结构、功能和加载 内核的结构和功能 头部:记录各个段的汇编位置,这些统计数据用于告诉初始化代码如何加载内核 ;以下常量定义部分。内核的大部分内容都应当固定 core_code_seg_sel equ 0x38 ;内核代码段选择子 core_data_seg_sel equ 0x3 阅读全文
posted @ 2024-08-18 20:24 Dylaris 阅读(30) 评论(0) 推荐(0)
2024年8月17日
摘要: 下载安装包 前往https://repo.anaconda.com/archive/,下载对应的安装包,这里我们选择的是Anaconda3-2024.06-1-Linux-x86_64.sh这个安装脚本下载,大概 1个G 也可以直接在终端中输入wget https://repo.anaconda.c 阅读全文
posted @ 2024-08-17 18:03 Dylaris 阅读(1156) 评论(0) 推荐(0)
2024年8月15日
摘要: 读取输入并返回自定义的键值 根据上一章的原始模式的介绍,我们知道终端读取键盘的输入和我们想象的并不一样 普通字符很正常,读到啥就是啥,但对于一些功能键,比如说组合键和组合键则稍有差异,终端读取这些键其实是读取多个字节,比如方向键其实就是由\x1b、[和A/B/C/D这三个字节组合而成的 原始字符 如 阅读全文
posted @ 2024-08-15 19:21 Dylaris 阅读(47) 评论(0) 推荐(0)
摘要: 进入32位保护模式 指令前缀的添加 在前面的章节中,我们介绍了指令前缀 0x66 表示反转默认的操作数大小 [bits 16] mov ds, ax ; 8E D8 [bits 32] mov ds, ax ; 66 8E D8 所以在上述这段代码中,32位下的代码生成的机器指令会带有 0x66 的 阅读全文
posted @ 2024-08-15 17:06 Dylaris 阅读(48) 评论(0) 推荐(0)
2024年8月13日
摘要: 全局描述符表(GDT) 这里要先说明下,保护模式下对内存段的访问是有限制的,简单来说就是你不能再随意的访问了,只能访问授权给你的,然后段的访问限制等等信息就记载在一个叫做全局描述表里 段描述符 段描述符存储了某个段的具体信息,就像我们每个人的档案一样,记录着我们的信息 然后段描述符占用 8个字节,以 阅读全文
posted @ 2024-08-13 11:04 Dylaris 阅读(99) 评论(0) 推荐(0)
2024年8月11日
摘要: 处理器架构 处理器架构或者处理器编程架构,是指一整套的硬件架构以及与之相适应的工作状态 回顾8086处理器 8086处理器有20根地址线,可以寻址1MB内存,但处理器内部的寄存器只有16位,也就是数据线是16根,只能处理16位的数据 我们没法用16位的寄存器去访问1MB的内存,简单来说就是无法用16 阅读全文
posted @ 2024-08-11 18:00 Dylaris 阅读(126) 评论(0) 推荐(0)
2024年8月9日
摘要: 中断是什么 中断就是打断处理器当前的执行流程,去执行另外一些和当前工作不相干的指令,执行完之后,还可以返回到原来的程序流程继续执行 为什么会有中断机制 中断这种机制能够让处理器可以在不同任务之间快速切换,实现多任务处理的功能。试想一下没有中断机制,一次只能执行一个任务,那我就不能边听音乐边写博客了, 阅读全文
posted @ 2024-08-09 22:36 Dylaris 阅读(284) 评论(0) 推荐(0)
2024年8月8日
摘要: 用户程序的结构 处理器的工作模式是将内存分成逻辑上的段,指令的获取和数据的访问一律按“段地址:偏移地址”的方式进行 一个规范的程序,应当包括代码段、数据段、附加段、栈段 段的划分和段与段之间的界限在程序加载到内存之前就已经准备好了 以下是一个用户程序代码组织结构 分析: 分段:SECTION 段名称 阅读全文
posted @ 2024-08-08 11:47 Dylaris 阅读(106) 评论(0) 推荐(0)
2024年8月4日
摘要: 安装bochs 创建文件夹(可选) 新建终端 终端输入mkdir Software,下载的bochs就放在这里吧 下载bochs https://sourceforge.net/projects/bochs/files/bochs/ 进入这个网址选择对应版本的bochs,这里就用最新的2.8版本示范 阅读全文
posted @ 2024-08-04 21:22 Dylaris 阅读(2167) 评论(0) 推荐(0)
2024年8月3日
摘要: 参考文章 https://viewsourcecode.org/snaptoken/kilo/02.enteringRawMode.html 写得很详细 原生模式 我们要写的编辑器有点与众不同,按键功能的映射是由我们自己设置的,为了达到这一步,我们首先得进入原生模式 原生模式简单来说就是单纯的接收输 阅读全文
posted @ 2024-08-03 22:48 Dylaris 阅读(124) 评论(0) 推荐(0)
上一页 1 ··· 7 8 9 10 11 12 13 下一页