一个汇编写的boot程序

;系统引导程序
;nasm boot.asm -o boot.bin
;反汇编
;ndisasm -o 0x7c00 boot.bin >> disboot.asm
;调试程序
nasm boot.asm -o boot.com

%define    _BOOT_DEBUG_    ;做引导程序将此行注释掉
%ifdef    _BOOT_DEBUG_
org    0100h        ;调试状态做成.com文件   
%else
org    07c00h        ;告诉编译器程序加载到7c00处
%endif
mov    ax,cs        ;
mov    ds,ax
mov    es,ax

call    DispStr        ;调用显示字符串例程
jmp    $        ;无限循环

DispStr:
    mov    ax,BootMessage
    mov     bp,ax            ;es:bp    = 串地址
    mov    cx,16            ;cx    = 串长度
    mov    ax,01301h        ;ah = 13,al = 01h
    mov    bx,000ch        ;页号为0(bh = 0) 黑底红字(bl = 0ch,高亮)
    mov    dl,0
    int    10h            ;10h号中断
    ret
    BootMessage:    db    "Hello, OS world!"
    times    510-($-$$)    db    0    ;填充剩下的空间,使生成的二进制代码恰好为512字节
    dw    0xaa55            ;结束标志

时间: 2024-10-10 05:53:49

一个汇编写的boot程序的相关文章

我的第一个spring boot程序(spring boot 学习笔记之二)

第一个spring boot程序 写在前面:鉴于spring注解以及springMVC的配置有大量细节和知识点,在学习理解之后,我们将直接进入spring boot的学习,在后续学习中用到注解及其他相关知识点时会再次理解.要运行起第一个Spring boot特别简单,用IDEA包含了Spring Boot的引导,直接新建一个spring boot项目. 注意: 1.第一次新建Spring boot项目的时候,maven会下载大量的依赖到本地,所以特别慢,耐心等待或者用国内的maven公库都行(自

如何编写一个编译c#控制台应用程序的批处理程序

如何编写一个编译c#控制台应用程序的批处理程序 2011-03-22 18:14 dc毒蘑菇 | 浏览 579 次 最近在网上看了一个教程,是学C#的,但是我的机子上装不上vs,所以想写一个批处理来编译,因为每次都要我更改目录,然后复制路径,再编译,输出,特别的浪费时间,所以特来求助网友,希望帮帮忙 分享到: 2011-03-22 19:17 #快乐假期,智慧随行# 提问者采纳 不知道你有没有使用过ANT,你可以创建ANT脚本来构建你的应用程序.如果不是很了解,也不愿意编写的话,我介绍你一款可视

JNI编程(一) —— 编写一个最简单的JNI程序

来自:http://chnic.iteye.com/blog/198745 忙了好一段时间,总算得了几天的空闲.貌似很久没更新blog了,实在罪过.其实之前一直想把JNI的相关东西整理一下的,就从今天开始吧.Here we go. JNI其实是Java Native Interface的简称,也就是java本地接口.它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++).也许不少人觉得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,平

编写一个简单的jdbc例子程序

1 package it.cast.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 9 public class Base { 10 11 public static void main(String[] args) th

转:假设有一个字符串aabcad,请编写一段程序,去掉字符串中不相邻的重复字符。

假设有一个字符串aabcad,请编写一段程序,去掉字符串中不相邻的重复字符.即上述字串处理之后结果是为:aabcd; 分析,重点考查 char 与int 的隐式转换.程序如下: -(void) removeRepeat:(NSString *)aNum { NSMutableArray *mArr = [[NSMutableArray alloc]initWithCapacity:10]; for(int i = 0; i<aNum.length; i++) { [mArr addObject:

JNI编程(一) —— 编写一个最简单的JNI程序(转载)

转自:http://chnic.iteye.com/blog/198745 忙了好一段时间,总算得了几天的空闲.貌似很久没更新blog了,实在罪过.其实之前一直想把JNI的相关东西整理一下的,就从今天开始吧.Here we go. JNI其实是Java Native Interface的简称,也就是java本地接口.它提供了若干的API实现了和Java和其他语言的通信(主要是C&C++).也许不少人觉 得Java已经足够强大,为什么要需要JNI这种东西呢?我们知道Java是一种平台无关性的语言,

编写一个实现字符串替换的程序,

1: 题目 健写一个实现字符串替换的程序,该程序必须似含函数 replace(char*s,char*t,char“u),该函数实现将字符串s中所有出现的子串t替换为串u,并 输出替换后的串及替换的子串个数.若s中不包含子串t,则输出提示信息:没有满足条件的子串t.例如:replace("java programming","java","c"):将输出 e programming,1":replace("java progr

如何使用VS Code编写Spring Boot (第二弹)

本篇文章是续<如何使用VS Code编写Spring Boot> 之后,结合自己.net经验捣鼓的小demo,一个简单的CRUD,对于习惯了VS操作模式的.net人员非常方便,强大的智能提示,简单又干净,一起开启愉快的java编程之旅吧. 一.环境搭建 请移步<如何使用VS Code编写Spring Boot> ,当页面输出Hello World 就算成功啦 二.熟悉Spring注解,跟路由 Spring真的是将注解用到了极致,能一个注解搞定的东西,从来不罗嗦,熟练的使用这些注解不

构建一个简单的Spring Boot项目

11 构建一个简单的Spring Boot项目 这个章节描述如何通过Spring Boot构建一个"Hello Word"web应用,侧重介绍Spring Boot的一些重要功能.因为大多数的开发工具都支持Maven,所以我们使用它来构建这个应用. 网站 spring.io 包含了许多如何开始使用Spring Boot的指南.如果您需要解决具体的问题,可以先去这里看看.你可以跳过以下的步骤,通过 start.spring.io 网站来构建项目.这样做的话,你就可以直接编写代码啦.如果需