改了一下Makefile,可以看到编译命令了(很简单,把变量V定义成空就可以了。。。)
这个project很简单,就是把cpu内存初始化一下,然后直接端口IO的方式在屏幕上打印helloworld。
看了bootasm.S和bootmain.c,他们主要做这些事儿:
先看bootmain.c,就是通过in/out指令,把helloworld在屏幕上打印出来。打印的入口函数式bootmain,由bootasm.S中的汇编代码跳入。
bootasm.S中的代码首先从0x7C00开始执行,此时bios刚刚自检完,将启动盘的第一个扇区(512字节)拷贝到0x7C00处,就是本代码,然后开始执行。此时cpu还处于real mode状态。这段代码要做的事儿,就是首先清中断、清方向,然后把A20地址线激活,切换到protected mode。在protected mode中设置好各个段寄存器和esp寄存器后,跳转到bootmain。
编译这两个文件与gcc编译其他文件类似,但链接时有一点点不同:通过-Ttext 7C00指定代码段的开始地址。
代码很简单,明天把这些代码重新写一遍,多试试,熟悉一下。
PS:刚刚在弯曲评论看了陈首席怀临,居然在去年来了华为,不知道他老人间现在是否仍在华为?微博上加了,刚刚看到给华为朱波会了一条微博,看样子应该还在华为美研所?
再PS:搜索陈怀临消息的时候,才知道很多大牛都来了华为,看来华为还是有希望的:)
分享到:
相关推荐
spring-boot-starters-project组件功能描述案例message-spring-boot-starter事务消息(基于数据库)-change-log-spring-boot-starter实体变更日志(基于数据库)-validation-spring-boot-starter校验能力(薄封装)-web-...
Version : 5.7 Vendor : Fedora Project Release : 2.20090207.fc11 Date : 2009-02-26 09:37:30 Group : Development/Libraries Source RPM : ncurses-5.7-2.20090207.fc11.src.rpm Size : 1.71 MB Packager :...
Java-EE-Project1:Java EE
Spring-React-Innova-Project:Spring Boot和React Web项目
spring-boot-project依赖根 spring-boot-first-application-sample演示模块 spring-boot-configuration-sample配置模块 spring-boot-import-sample导入实现模块 spring-boot-alias-annotation-sample注解属性别名...
hive 开发UDF 使用maven工程 引发jar包缺失 hive 开发UDF 使用maven工程 引发jar包缺失
Daniels-Project:https://khadijaserag.github.ioDaniels-Project
Root project 'Almost-Famous' +--- Project ':famous-cloud' +--- Project ':famous-config' \--- Project ':famous-unique' +--- Project ':famous-common' +--- Project ':famous-login' +--- Project ':famous-...
CS-347-Project1:CS 347 Web开发项目1
简介Spring Boot API Project Seed 是一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目,该种子项目已经有过多个真实项目的实践,稳定、简单、快速,使我们摆脱那些重复劳动,专注...
HTML-CSS-Project1:HTML&CCS firt项目
431-Project1:RIT CSCI 431
Caleb-Project1:最好的商店应用
训练营项目周2 TDA训练营的第二个项目
:gear: 自行设定# Clone repo$ git clone https://github.com/marcorichetta/cs50-project1.git$ cd cs50-project1# Create a virtualenv (Optional but reccomended)$ python3 -m venv myvirtualenv# Activate the...
2006-03-11 15:26 122,880 关键路径分析.mpp 2005-10-06 00:21 339,456 固定资产信息系统项目.mpp 2005-11-17 16:56 622,592 固定资产信息系统项目.多比较基准.mpp 2005-11-17 16:56 637,440 固定资产信息系统项目....
nd-aws-architect-project1:Udacity AWS Architect ND计划项目1:AWS中的可恢复性
pods-project1:使用弹簧的出租车叫法
ncpi-project-forge::light_bulb::notebook:Project Forge的材料和计划
TodoList-Project-:PHP-OPP-Todolist项目