Code for fun. Aimed nothing.
不管怎么说,造一个独立于库的程序总是开心的。如果你也像我一样这么认为的话。虽然它不能做任何实际的事情,只是作为占据软盘启动扇区的一个小东西,在被bios加载后打印出“hello world”而已。
这个小东西是从2.6版本的linux内核参考来了。具体文件是/arch/i386/boot/bootsect.S。虽然改动没有什么技术含量,但是毕竟是我找来的呀。
见过网上类似的东西,但是它们的编译好像要用到as86,ld86或者nasm,乃至dos下面的masm。我的fedora core 4没有,要下。这样就麻烦了。现在我的这个有gcc,objcopy,make就可以了,这三个我的系统装好就有的。比较方便。自豪的说^_^
一共两个文件:
bootsect.S:
BOOTSEG = 0x07C0 .code16 .text .global _start _start: jmpl $BOOTSEG, $start2 start2: movw %cs, %ax movw %ax, %ds movw %ax, %es movw %ax, %ss movw $0x7c00, %sp sti cld movw $msg, %si msg_loop: lodsb andb %al,%al jz start2 movb $0xe, %ah movw $7, %bx int $0x10 jmp msg_loop msg: .ascii "hello world/r/n" .byte 0 .org 510 .word 0xAA55
makefile:
all: bootsect bootsect: bootsect.o objcopy -O binary bootsect.o bootsect dd if=bootsect of=/dev/fd0 bootsect.o: bootsect.S gcc -c bootsect.S clean: rm bootsect.o rm bootsect
Code for fun. Aimed nothing.相关推荐
- Google VP8 Code 首次深入技术分析 1
The first in-depth technical analysis of VP8 首次深入技术分析 Back in my original post about Internet video, ...
- java net unicode / native2ascii / url decode / url encode / UTF8 / js url code
s http://chengyue2007.iteye.com/blog/1852095 java中URL 的编码和解码函数 java.net.URLEncoder.encode(String s)和 ...
- Visual Studio Code和Visual Studio有什么区别?
本文翻译自:What are the differences between Visual Studio Code and Visual Studio? 微软最近发布了Visual Studio Co ...
- 如何在团队中做好Code Review
一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...
- Pyinstaller 打包 torch 后执行失败 OSError: could not get source code
1. 问题现象 系统环境 Python 3.6.9 torch 1.2.0 torchvision 0.4.0 Pyinstaller 4.5.1 Pyinstaller 打包 torch 后执行失败 ...
- VS Code 安装 Go 插件、自定义扩展配置、断点调试
1. 安装插件 使用快捷键 Ctrl+Shift+X 打开插件安装页面,安装 Go 插件. 2. 自定义扩展配置 使用快捷键 Ctrl+, 打开自定义配置页,编辑 settings.json ,定义与 ...
- VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、
1. 生成配置参数 对于大多数的调试都需要在当前项目目录下创建一个 lanch.json 文件,位置是在当前项目目录下生成一个 .vscode 的隐藏文件夹,在里面放置一些配置内容,比如:settin ...
- VS Code 安装插件、自定义模板、自定义配置参数、自定义主题、配置参数说明、常用的扩展插件
1. 下载和官网教程 下载地址:https://code.visualstudio.com/ 官方教程:https://code.visualstudio.com/docs 2. 安装插件 安装扩展插 ...
- VS Code 离线安装插件方法
本文以离线安装 C/C++ 插件为例进说明,其它语言的插件的离线安装方法类似. 离线安装 C/C++ 插件相对比较麻烦一些,主要是因为 C/C++ 插件还依赖其他需要在线下载的组件: C/C++ la ...
最新文章
- 进化计算在深度学习中的应用 | 附多篇论文解读
- 【Windows】Windows10基于VMware安装CentOS7的全面教程
- 【蓝桥杯单片机】独立按键和矩阵按键
- 3月19日发布!vivo X27配置揭晓:搭载骁龙710处理器
- python中ta_非常详细的Ta-Lib安装及使用教程
- PHP截取中文字符串的方法
- antd如何获取表单的值_Antd如何通过父组件直接获取子组件内表单值
- visio 2016的使用
- 软件项目运维内容 软件系统运维工作内容
- 显著性检验 python p值_python相关性分析与p值检验
- Xilinx ZYNQ Ultrascale+ 性能测试之 Video Multi Scaler (Linux篇)
- D5 登录抽屉新热榜
- onkeyup+onafterpaste 只能输入数字和小数点
- 积分兑换系统怎样设置“新花样”?
- 教你快速给多段视频添加同一个片尾和转场特效
- 关于实现联系人中英文名排序的问题
- 开关电源电路图及原理详解
- 【js课设】电子画板01
- win10桌面图标消失解决+软件快捷方式重建+显示所有电脑应用
- 视频教程-FPS游戏逆向与安全+UE4引擎基础详解-其他