CentOS下首次使用as86汇编器
新建一个汇编文件,boot.s;
!
! boot.s -- bootsect.s的框架程序.用代码0x07替换字符串msg1中的1字符,然后在屏幕第一行上显示.
!
.globl begtext,begdata,begbss,endtext,enddata,endbss !全局标示符,供ld86链接使用.
.text !正文段
begtext:
.data !数据段
begdata:
.bss !未初始化数据段
begbss:
.text !正文段
BOOTSEG = 0x07c0 !BIOS加载bootseg代码的原始段地址entry start !告知链接程序,程序从start标号处开始执行
start:jmpi go,BOOTSEG !段间跳转.BOOTSEG指出条转段地址,标号go是偏移地址
go: mov ax,cs !段寄存器cs值-->ax,用于初始化数据段寄存器ds和esmov ds,axmov es,axmov [msg1+17],ah !0x07-->替换字符串中1个点符号,喇叭将会鸣一声mov cx,#20 !共显示20个字符,包括回车换行符mov dx,#0x1004 !字符串将显示在屏幕第17行,第5列处mov bx,#0x000c !字符显示属性(红色)mov bp,#msg1 !指向要显示的字符串(中断调用)mov ax,#0x1301 !写字符串并移动光标到结尾处int 0x10 !BIOS中断调用0x10,功能0x13,子功能01
loop0: jmp loop0 !死循环
msg1: .ascii "Loading system ..." !BIOS中断要显示的字符串,共18个字符.byte 13,10 !字符串结尾的回车换行,合计20个字符
.org 510 !表示以后语句从地址510(0x1FE)开始存放.word 0xAA55 !有效引导扇区标志,供BIOS加载引导扇区使用
.text
endtext:
.data
enddata:
.bss
endbss:
代码来自网上;
输入 as86...,如下图,提示出错,但是生成了.o文件;
-0还是-O,分不清,改为-O,再试一下,也是一样,
ld86,链接一下,不能链接了;
查了一下,最后生成boot文件的命令是,
as86 -0 -a -o boot.o boot.s
ld86 -0 -s -o boot boot.o
dd bs=32 if=boot of=a.img skip=1
-0,非-O;
再试,链接出现下图错误;premature end of input file,
在代码最后一行再打一个回车;
rm删除之前的无效文件,再编译链接,好了,最终构建好的boot文件出来了;
CentOS下首次使用as86汇编器相关推荐
- CentOS 5 安装as86汇编器
as86 ld86 as86和ld86是linux下的16位汇编编译器,链接器.linux内核中有部分代码需要用到as86以及ld86. as86汇编器 在Linux 0.x系统中使用了两种汇编器(A ...
- centos下将vim配置为强大的源码阅读器
每日杂事缠身,让自己在不断得烦扰之后终于有了自己的清静时光来熟悉一下我的工具,每次熟悉源码都需要先在windows端改好,拖到linux端,再编译.出现问题,还得重新回到windows端,这个过程太耗 ...
- RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程(转)
RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程 一.准备工作:SSH,telnet终端中文显示乱码解决办法vi /etc/sysconfig/ ...
- Centos下安装mysql 总结
一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...
- 关于Centos下Clamv反病毒软件包更新问题
最近一直在研究学习Centos下搭建Postfix实现邮件网关的内容,以便后期邮件平台网关的灾备做一些准备,今天安装Postfix到了对Clamv反病毒软件包更新的安装配置部分,遇到了个小的插曲. 具 ...
- CentOS下的Autoconf和AutoMake(实践篇) 2
阅读过<Linux下的Autoconf和AutoMake(理论篇)>之后,进入到实践环节. 实验环境:CentOS release 6.7 (Final) x64 1.检查一下这4个工具是 ...
- linux卸载欧朋浏览器,如何在Centos下安装opera浏览器
如何在Centos下安装opera浏览器 ,Opera目前是Linux平台上性能最优的浏览器,而且Opera中国团队本身即定位于Opera的研发中心,主要也是负责全球Linux平台项目的开发,这个版本 ...
- springboot在centos下安装环境+部署war包
最近在做Springboot打包和环境部署工作,网上更多是打jar包的方式,搜索了很久,没有一个合理的过程和步骤,这里我具体写一下,共享大家! 环境 系统:centos7 64位 安装jdk,Tomc ...
- 如何解决CentOS下使用yum安装python-pip失败
用Ubuntu的时候感觉很简单的事到ContOS上却变得很头痛,CentOS下使用yum安装python-pip失败的完美解决方法. 在执行以下命令安装Python-pip居然什么也没执行 yum i ...
最新文章
- 一般计算 【2007】三3 C++版
- Java NIO学习系列六:Java中的IO模型
- 关于系统异常设计的再思考
- 怎么查看oracle数据库数据量大小?
- 云安全仍是企业决策者最大担心
- 打开excel文件并写入_双击Excel表格文件时只打开程序不能直接打开文件
- 戴尔R410 centos6.3 x64 环境下 网卡驱动故障
- pytorch 归一化_用PyTorch进行语义分割
- Linux之alias命令
- pixi 小游戏_手把手教你制作一款小游戏【超好玩!】
- 白鹭发布html5,白鹭Egret Engine 1.5发布 HTML5性能大幅提升
- centos 解决不在 sudoers 文件中。此事将被报告的问题
- 用剪映将无字幕的英文视频翻译成中文字幕(附教程+软件)
- IDEA初学者 常用注解意思
- 深度学习在搜索业务中的探索与实践(美团)
- 服务器机箱 改造 桌面,你的显卡站起来了吗?——桌面改造分享装机篇
- 二十余款Linksys路由器曝出安全漏洞,或可被远程控制
- c语言 平均差 标准差,平均差与标准差计算公式中的平均数是()。
- 33款可用来抓数据的开源爬虫软件工具
- onkeypress 、onkeyup 与onkeydown三者之间的区别
热门文章
- (转载)Linux Out-of-Memory(OOM) Killer
- Gumbel-Softmax Trick和Gumbel分布 附VAE讲解
- 2019ICCV论文 Non-Local ConvLSTM for Video Compression Artifact Reductio
- js 获取字符串中最后一个斜杠前面/后面的内容
- 在Visual Studio设置隐藏cmd,GTK程序有效
- poj 1860 拓扑。。
- Java URL处理
- 图像阈值处理cv2.threshold()函数(python)
- 使用 Navicat Premium 将 sql server 的数据库迁移到 mysql 的数据库中
- 自定义IP原来如此简单