BINBIN Blog

Thinking will not overcome fear but action will.

x86汇编语言-从实模式到保护模式笔记

虚拟机

##虚拟机 ###Vitual box 虚拟机没啥好说的,就是虚拟一台电脑可以安装系统! 主要说一下虚拟硬盘格式! 因为虚拟硬盘实际上是一个文件,所以,通常来说,它的格式体现在它的文件扩展名上。virtual box 可以创建VHD 格式的,采用的就是微软公司的 VHD 虚拟硬盘规范。 VHD 规范最早起源于Connectix 公司的虚拟机软件 Connectix Virtual PC...

x86汇编语言-从实模式到保护模式笔记实模式

编写主引导扇区代码

主引导扇区 在前面的预备知识里,我们已经知道,处理器加电或者复位之后,如果硬盘是首选的启动设备,那么, ROM-BIOS 将试图读取硬盘的 0 面 0 道 1 扇区。传统上,这就是主引导扇区(Main Boot Sector, MBR)。 读取的主引导扇区数据有 512 字节, ROM-BIOS 程序将它加载到逻辑地址 0x0000:0x7c00 处,也就是物理地址 0x07c00 处,然...

x86汇编语言-从实模式到保护模式笔记

计算机的启动过程

##计算机的启动过程 ###如何将编译好的程序直接交给处理器执行 我们这一系列文章是学习X86汇编-从实模式到保护模式。目前我们还没有写过汇编程序。如果我们写好了一个汇编程序,使用特定的汇编编译软件来将汇编程序编译好,然后再使用特定的平台来运行这个程序即可。但是我们的目的不是这么简单。 我们的目的是学习操作系统与计算机系统之间的关系。那么我们如何执行我们写好的汇编代码呢? 每种编译器都...

x86汇编语言-从实模式到保护模式笔记

汇编语言和汇编软件

##汇编语言简介 在上一篇文章中,我们学习了处理器,也学习了处理器是如何进行算数逻辑运算的。为了实现处理器的自动运算,处理器必须从内存中取指令,并执行这些指令。 指令和被指令引用的数据在内存中都是一些或高或低的电平,每一个电平都可以看成是一个二进制(0 or 1),8个二进制位形成一个字节。要解读内存中的东西,最好的办法就是讲他们按字节转换成数字的形式。比如下面这些数字就是存放在INTE8...

x86汇编语言-从实模式到保护模式笔记

处理器、内存和指令

##寄存器和算数逻辑部件 为什么处理器能够自动计算,这个问题已经在我的上一本书《穿越计算机的迷雾》里讲过 了,不过这些原理讲起来很费劲,花了整整一本书的篇幅。当然,如果你没看过这本书,也没关系,下面就来简单回顾一下。回顾这些知识很有用,因为只有这样你才能知道如何安排处理器做事情。 电子计算机能做很多事情。你能够知道明天出门要穿厚一点才不挨冻,是因为电子计算机算出了天气。除此之外,它还能让你...

makedown写作超方便的图片使用方式

github 图床

##为什么需要Github图床 写makedown用图片的时候总是在上传图床的时候,以及使用图片链接的时候会感觉有一些麻烦! 我以前使用的是,github图床通过手动git上传,然后自己再一个个去打开github的图片的download的页面去获取图片的分享链接—自己也觉得很麻烦,但是我的小站目标是人在站在,人不在,站希望也还在的战略目标,所以追求的极致的稳定,而不是一时的快速,所以没有使用...

Github 优化网速

Github

##优化访问Github 1.由于GitHub是一个国外网站,在国内访问速度如何呢? 我们通过浏览器访问下https://github.com,但是页面很久才能打开,要等待一个较长时间! 优化思路:通过绕过DNS解析,直接在本地绑定host,接下来跟大家详细介绍! 在浏览器中打开DNS查询网站http://tool.chinaz.com/dns,我们输入github.com,如下...

Github 上传大文件

上传大文件和版本回退

解决方案 维持单个文件在100M以内,保持原仓库,剔除单个文件大于100M的 github 官方解决方案 网上他人解决方案1:http://www.jianshu.com/p/09a2d9db861c 网上他人解决方案2:http://www.codeinterpreter.com/2015/01/solving-this-exceeds-githubs-file-size.html 网上...

汇编语言学习6

第一个汇编程序

##转移指令的原理 可以修改IP,或同时修改CS和IP的指令统称为转移指令。概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令。 8086CPU的转移行为有以下几类。 只修改IP时,称为段内转移,比如:jmp ax。 同时修改CS和IP时,称为段间转移,比如:jmp 1000:0。 由于转移指令对IP的修改范围不同,段内转移又分为:短转移和近转移。 短转移...

汇编语言学习5

第一个汇编程序

##汇编程序从写出到执行的过程 编程-> 1.asm -> 编译 masm -> 1.obj -> 连接(link)-> 1.exe-> 加载 (command) -> 内存中的程序 -> 运行(run) CPU 加载后,CPU的CS:IP指向程序的第一条指令(即程序的入口) 限于篇幅,其实只要拿一个实例就懂了 ;1.asm assum...