- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 linux 用ld链接nasm编译的elf格式的.o文件报错
编译命令:nasm -f elf hello.asm -o hello.old -s hello.o -o hello报错信息:ld: i386 architecture of input file `hello.o' is incompatible with i386:x86-64 output解决方法:命令行输入:>ld -m elf
2017-02-12 11:54:44
4848
原创 保护模式--页式存储
1.页,就是一块内存,在80386中,页的大小是固定的4096字节(4KB)。2.逻辑地址:1.在有地址变换功能的计算机中,访问指令给出的地址 (操作数) 叫逻辑地址,也叫相对地址。 要经过寻址方式的计算或变换才得到内存储器中的物理地址。2.把用户程序中使用的地址称为相对地址即逻辑地址。3.逻辑地址由两个16位的地址分量构成,一个为段基值,另一个为偏移量。两个分量均为无符号
2017-01-22 17:37:58
572
原创 保护模式--基础
1.IA32下,CPU有两种工作模式:实模式和保护模式;2.打开PC后,开始时CPU是工作在实模式下的,经过某种机制后,才能进入保护模式;3.保护模式下,CPU有着巨大的寻址能力,为强大的32位操作系统提供更好的硬件保障;4.8086是16位CPU,16位寄存器,16位数据总线,20位地址总线和1M的寻址能力; 物理地址=段值*16+偏移,段值和偏移都是16位
2017-01-22 17:23:16
455
转载 bochs调试指令
先看下bochs的简介吧,百度的:Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的
2017-01-06 11:50:55
1068
原创 第一个操作系统详细注释
;以下代码段存域磁盘引导扇区的引导程序。存于硬盘第一个扇区,叫硬盘主引导记录,存于某个分区,称为分区引导记录;;存于软盘,称为软盘引导记录。硬盘引导记录的标识是 dw 0xaa55;磁盘第一个扇区是512字节,0xaa55存于这个扇区的最后一个字(两个字节),偏移地址:1FEH,其余空间存储指令代码和一些参数,提示信息;org 07c00h ; 告诉编译器程序加载到7c00处 ,
2017-01-06 10:42:05
724
原创 常用网址
NASM知识:http://blog.chinaunix.net/uid-28328633-id-3422907.htmlhttp://www.mouseos.com/assembly/nasm03.html#032伪指令:http://www.cppblog.com/myjfm/archive/2011/11/05/159647.html
2017-01-05 16:03:15
306
原创 计算机加电引导启动过程
-->电源打开-->加电自检-->寻找启动盘(软盘则检测0面0磁道1扇区,发现以0xAA55结束,则BIOS认为是一个引导扇区)-->BIOS将引导扇区512字节的内容装载到内存0000:7c00处,跳转到0000:7c00处,将控制权交给引导代码
2017-01-05 15:58:00
1436
原创 window 命令行查看、结束进程命令
1.查看所有进程命令:tasklistC:\Users\Administrator>tasklist映像名称 PID 会话名 会话# 内存使用========================= ======== ================ =========== ============Sy
2016-08-19 11:47:50
2148
原创 Makefile 编译报错
编译linux内核时报如下错误:[/usr/root/linux]#make -f makefilemake: makefile:39: missing separator. Stop.[/usr/root/linux]#报错原因:Makefile中的命令没有以【tab】键开始;修改:删除39行前的空格至行首,以【tab】键开始即可
2016-08-19 11:30:46
1296
a micro processor simulator for educational purposes
2011-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人