- 博客(11)
- 收藏
- 关注
原创 写一个操作系统——(内存管理之内存的大小)
代码 1.kernel.asm %include "pm.inc" org 0x9000 VRAM_ADDRESS equ 0x000a0000 jmp LABEL_BEGIN [SECTION .gdt] ; 段基址 段界限 属性 LABEL_GDT: Descriptor 0, 0,
2020-10-23 14:37:00
181
原创 写一个操作系统——(中断)
代码 kernel.asm %include "pm.inc" org 0x9000 VRAM_ADDRESS equ 0x000a0000 jmp LABEL_BEGIN [SECTION .gdt] ; 段基址 段界限 属性 LABEL_GDT: Descriptor 0, 0,
2020-10-17 15:27:31
176
原创 写一个操作系统(引入C语言)
代码 foo.asm extern bar_func; [section .data] arg1 dd 3 arg2 dd 4 [section .text] global _start global foo_print _start: mov eax, dword[arg1] push eax mov eax, dword [arg2] push eax call bar_func add esp, 8 mov ebx,0 mov eax, 1 int 0x8
2020-10-12 20:30:11
641
原创 写一个操作系统(进入保护模式)
代码 %include "pm.inc" org 0x9000 jmp LABEL_BEGIN [SECTION .gdt] ; 段基址 段界限 属性 LABEL_GDT: Descriptor 0, 0, 0 LABEL_DESC_CODE32: Descriptor
2020-10-11 17:43:05
151
原创 有意思的算法题——全排列
题目描述 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 解题 public class Solution { public List<List<Integer>> permute(int[] nums){ int len = nums.length; Li
2020-10-11 12:11:00
72
原创 写一个操作系统(1)
代码 org 0x7c00; entry: mov ax, 0 mov ss, ax mov ds, ax mov es, ax mov si, msg putloop: mov al, [si] add si, 1 cmp al, 0 je fin mov ah, 0x0e mov bx, 15 int 0x10 jmp putloop fin: HLT
2020-10-10 18:41:27
182
原创 有意思的算法题——斐波那契数列
最近在在网上找了一个有关算法的项目。感兴趣的同学可以支持一下该项目。 项目链接:https://github.com/labuladong/fucking-algorithm 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。 答案需要取模 1e9
2020-10-10 15:13:56
225
原创 堆栈排序
问题描述 给定一个存有整形数的堆栈,你能使用的操作有,peek 获得堆栈顶部元素的值但不把元素弹出堆栈,pop 把堆栈顶部的元素出栈,push 压入一个堆栈,empty 判断堆栈是否为空,要求你只能使用这几种操作,同时在不分配新内存的情况下,将堆栈中的元素从大到小排列,假定堆栈中,元素由栈底到栈顶如下: stack: 1 3 5 4 2 排序后为: stack: 5 4 3 2 1 public class StackSorter { public Stack<Integer> s
2020-10-07 17:23:16
535
原创 Linux常用命令
最近在学习操作系统,所以用Linux比较频繁,一开始下载的是Ubuntu 64 位,后来因为一些命令只能在32位中使用就下载了一个32位的。它和windows比较,它有很多的命令,你需要记住它。 打开终端 Ctrl + Alt + T 下载或更新软件 $ sudo apt-get install $ sudo apt-get update 如果当你输入以上命令失败时,有一些原因 (1)网络原因—在终端中输入ping www.baidu.com命令检测网络 我的虚拟机没有网的时候,ping www.b
2020-09-27 11:05:48
77
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人