摘要: 第四章 指令格式 4.1指令格式 一条指令由操作码、地址码组成,其中地址码可能有0~4个 1.基本格式 **操作码字段:**指出指令中该指令应该执行什么性质的操作和具有何种功能 **地址码字段:**给出被操作的信息的地址或操作数本身、可以有多个地址码 2.按地址码数目分类 零地址指令 ​ 1)不需要 阅读全文
posted @ 2022-07-07 08:01 huilinmumu 阅读(1065) 评论(0) 推荐(0) 编辑
摘要: Linked List - 链表 1.编程实现 struct ListNode{ int val; ListNode *next; ListNode(int val,ListNode *next=NULL):val(val),next(next){} } 2.链表的基本操作 1.反转链表 a.单向链 阅读全文
posted @ 2022-06-25 10:31 huilinmumu 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 前言: ELF文件 对于每个程序,其在经历预处理、编译、汇编之后,都要经过链接器将其链接成一个单一的可执行文件。在现在Unix和x86-64 Linux系统上,其使用的可执行格式为ELF,如下: 可以看到ELF涵盖了程序中的各种信息,加载器就是通过读取ELF文件中的数据和代码,将其从磁盘复制到内存中 阅读全文
posted @ 2022-05-19 21:11 huilinmumu 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 6 存储器层次结构 存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU 寄存器保存着最常用的数据。靠近 CPU 的小的、快速的高速缓存存储器(cache memory)作为一部分存储在相对慢速的主存储器(main memory)中的数据和指令的缓冲 阅读全文
posted @ 2022-05-18 22:54 huilinmumu 阅读(974) 评论(1) 推荐(1) 编辑
摘要: 练习五:实现函数调用堆栈跟踪函数 1.实验要求 我们需要在lab1中完成kdebug.c中函数print_stackframe的实现,可以通过函数print_stackframe来跟踪函数调用堆栈中记录的返回地址。在如果能够正确实现此函数,可在lab1中执行 “make qemu”后,在qemu模拟 阅读全文
posted @ 2022-05-04 20:37 huilinmumu 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 练习四:分析bootloader加载ELF格式的OS的过程。 1.题目要求 通过阅读bootmain.c,了解bootloader如何加载ELF文件。通过分析源代码和通过qemu来运行并调试bootloader&OS, bootloader如何读取硬盘扇区的? bootloader是如何加载ELF格 阅读全文
posted @ 2022-05-04 19:47 huilinmumu 阅读(618) 评论(2) 推荐(1) 编辑
摘要: 1.【LeetCode448】:448. 找到所有数组中消失的数字 题目分析: 1-n之间有重复的,有没出现的,有出现一次。使用hashmap,空间复杂度为O(n) 方法一:哈希表,但是空间复杂度超过了O(n) 思想: 可以用hashmap存储数据,建立映射。 从1-n去遍历,看hashmap中有没 阅读全文
posted @ 2022-05-04 16:05 huilinmumu 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 练习三:分析bootloader进入保护模式的过程。 1.题目要求 BIOS将通过读取硬盘主引导扇区到内存,并转跳到对应内存中的位置执行bootloader。请分析bootloader是如何完成从实模式进入保护模式的。 提示:需要阅读**小节“保护模式和分段机制”**和lab1/boot/boota 阅读全文
posted @ 2022-05-03 10:45 huilinmumu 阅读(419) 评论(0) 推荐(0) 编辑
摘要: ##练习二:使用qemu执行并调试lab1中的软件。 1.题目要求: 为了熟悉使用qemu和gdb进行的调试工作,我们进行如下的小练习: 从CPU加电后执行的第一条指令开始,单步跟踪BIOS的执行。 在初始化位置0x7c00设置实地址断点,测试断点正常。 从0x7c00开始跟踪代码运行,将单步跟踪反 阅读全文
posted @ 2022-05-02 20:13 huilinmumu 阅读(411) 评论(0) 推荐(0) 编辑
摘要: ###lab_0 清华大学ucore实验环境配置详细步骤!(小白入) ###lab_1 清华大学ucore bootload启动ucore os(预备知识) ####Lab_1:练习1——理解通过make生成执行文件的过程 ##练习一:理解通过make生成执行文件的过程。 列出本实验各练习中对应的O 阅读全文
posted @ 2022-05-02 17:27 huilinmumu 阅读(623) 评论(0) 推荐(0) 编辑