- 博客(13)
- 资源 (3)
- 收藏
- 关注
原创 准备进入保护模式
P+DPL+S+TYPE: 9 b = 1 0 0 1 | 1 0 1 1 -- P=1,在内存中;GDLA+段长度16~19位: c f = 1 1 0 0 | 1 1 1 1 -- G=1,粒度是4K;D=1,操作数是32位;总结:段基址=00 00 00 00,段长度= ff ff f(0~0xfffff,共1024,粒度是4096,所以长度是4G)段长度:4M,超过1M,粒度应该用4K,所以第55位G=1,32位段D=1并且L=0,AVL取0. GDLA=0xc。
2024-04-22 23:28:29
744
1
原创 操作系统学习setup_硬盘加载
1、运行bochs,选3.Edito ptions -->12.Disk &Boot options-->3.ATA channel 0(出现选项,直接回车确认即可,选完最后一项会自动退到上级菜单)-->7.First HD/CD on channel 1(输入disk,输入文件名,我不想麻烦,直接选软盘的映像a.img,选flat模式。0x1F1--读出错时放错误码,写数据的时候放功能码,8bit。0x1F3--LBA地址的0~7位。有7个端口需要操作:0x1F0--读写的数据都放这里面,共16bit。
2024-04-04 09:57:43
388
1
原创 操作系统学习setup_软盘加载
读磁盘的参数比较多,但是也是有规律的,估计设计这个程序的神也考虑到了。cl存从第几个扇区开始读,整个cx的意思就是从哪个柱面的第几扇区读;ah存功能号,al存一共读几个扇区,整个ax的意思就是读多少个扇区。)如果读磁盘出错,会将cf位置1。磁盘操作参数把dx、cx、bx、ax四个通用寄存器都用上了。运行bochs,选择4,输入文件名bochsrc,改3个地方。2、调用BIOS int 0x13中断例程把软盘上的程序读取到内存0x500地址处;1、把setup程序写好,想办法放到软盘的第二个扇区;
2024-04-01 09:57:34
208
原创 操作系统学习笔记1
1、内存是顺序连接的一个一个格子(单元),最小的格子是bit,可以按需要组装成大格子(byte、word、dword等)。每个8个比特组成一个byte,发一个门牌(地址:地址总线),要往格子里面放东西就首先要知道他家门牌。2、存数据的时候是从内存的低地址向高地址存。用栈这种数据结构的时候由于栈是从高地址向低地址增长,所以算不好老是容易迷。16位系统为例,栈帧是16位(2个字节两个地址),所以push的时候sp要先减2,在往里面放值。如果还错了,就会出问题,所以c编译成汇编会有平栈一说。
2024-03-29 20:37:17
317
1
原创 为程序添加Linux桌面快捷方式
显示的图标,可以自己画。在Linux下安装完程序,桌面不像windows下那样给创建快捷方式,有时候不太方便,网上找到方法,记录一下防止忘记。四、把编辑好的xxx.desktop文件放到~/Desktop文件夹中。2、如果是文件夹的快捷方式增加下面三行。1、如果是程序的快捷方式增加以下三行。二、增加以下必须的内容。
2024-03-28 15:46:59
270
1
原创 Bochs 调试命令笔记
lb|lbreak if "expression":当条件为真时,在线性地址的指令处设置中断。pb if "expression":当条件为真时,在物理地址的指令处设置中断点。(3)set $cpu = :在模拟SMP时,将Debugger控制的cpu设置为cpu。(1)set = :设置寄存器的值为‘expr’。3、pb|pbreak|b|break :在物理地址的指令处设置中断点。
2024-03-27 18:20:43
694
原创 va_list 模仿学习理解
#define _vlst (char *)#define _intsize(n) ((sizeof(n)+sizeof(int)-1)&(~(sizeof(int)-1)))#define _vastart(ap,v) (ap=_vlst(&v)+_intsize(v))#define _vaarg(ap,t) (*(t*)((ap+=...
2019-05-10 23:35:10
176
原创 关于c语言可变参数的取得
#define _vlst (char *)#define _intsize(n) ((sizeof(n)+sizeof(int)-1)&(~(sizeof(int)-1)))#define _vastart(ap,v) (ap=_vlst(&v)+_intsize(v))#define _vaarg(ap,t) (*(...
2019-05-10 22:24:03
408
1
原创 c-free 5.0 菜单,工具条丢失解决
刚开始提起学习c语言的劲头,发现c-free挺好用,适合新手。谁知道今天早上一打开出现了一个窝心事:菜单和工具条全部不见了用快捷键打开一个源代码,F5也能运行。想着程序没有被破坏,可能被隐藏了,点了无数个地方也没有用。 求助伟大的度娘吧!还真有碰到这种情况的,还都是删注册表里面的关于c-free的信息,然后重装。 说心里话不想...
2017-05-05 11:28:59
10710
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人