ORG 07C00H的意思】的更多相关文章

简单说来,该指令用来修正该指令以后出现的(变量/标志的)内存地址,也就是说如果有ORG 0x12345h,那么在该指令以后的变量的地址将被修正为0x12345+old_addr.对于DOS中的COM文件,在被DOS装载进内存后,系统会在内存的CS:0000 – CS:0100区域创建一个PSP,这里存放了一些系统所需的信息,比如通过命令行所传递的参数等,COM文件的代码将被装载到CS:0100 – CS:XXXX的内存区域,所以说如果COM代码中不通过使用ORG 100h来进行修正的话,该段中的…
 || 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.前言     今天起开始分享关于操作系统的相关知识,本人也是菜鸟一个,正处于学习阶段,这整个操作系统篇也是我边学习边总结的一些结果,希望能给正在学习或者有意向学习操作系统的童鞋带来帮助.     二.有关知识     在进入代码之前,先给大家普及一些硬件知识,如果你已经具备了这方面的知识,可以直接略过这部份.     1.计算机怎么启动操作系统的?     首先,我们思考一个问题,为什么一个硬盘安装系统之后打开计算机电源之后就能正…
org 07c00h ;伪指令,告诉编译器程序会被加载到7c00处 mov ax, cs mov ds, ax mov es, ax call DispStr ;调用显示字符串例程 jmp $ ;无限循环 DispStr: mov ax, BootMessage mov bp, ax ;ES:BP=字符串地址 mov cx, 22 ;CX=字符串长度 mov ax, 01301h ;AH=13,AL=01h mov bx, 000ch ;页号为0(BH=0)黑底红字(BL=0Ch,高亮) mov…
好久没看OS实现了- -.感觉最近过的乱七八糟的.最为一名学渣,苟活于学霸之间实在是很辛苦啊.不过还是感觉要坚持下去比较好,决定每天学一点,写点感想.也算是通过这个平台逼迫一下自己.= =#. 今天回顾一下第一章的最小的操作系统. 首先比不可少的自然是代码. org 07c00h mov ax, cs mov ds, ax mov es, ax call DispStr jmp $ DispStr: mov ax, BootMessage mov bp, ax mov cx, mov ax, 0…
qq:992591601 欢迎交流 2016.04.03 2016.05.31 2016.06.29 这一章是有些复杂的,我不太懂作者为什么要把这么多内容都放进一天. 1读入了十个柱面 2从启动区执行操作系统 3进入32位 4导入C语言 makefile的内容: TOOLPATH = ../z_tools/ INCPATH = ../z_tools/haribote/ MAKE = $(TOOLPATH)make.exe -r NASK = $(TOOLPATH)nask.exe NASM =…
qq:992591601 欢迎交流 2016-03-31作 2016-06-01.2016-06-27改 我总结了些基本原理: 1.软盘的第一个扇区为启动区 2.计算机读软盘是以512字节为单位来读写,所以第一个扇区为512字节 3.一张软盘1440KB,2880个扇区 4.第一扇区为启动区,加载操作系统用 5.启动区结束标志位55AA 一个简单的开机引导程序(这个算是很基本的了): ; hello-os ; TAB=4 ORG 0x7c00 ; bios 将程序加载到0x7c00 + 偏移地址…
<自己动手写操作系统> org 07c00h mov ax,cs mov ds,ax mov es,ax call DispStr jmp $ DispStr: mov ax,BootMessage mov bp,ax mov ax,01301h mov bx,000ch int 10h ret BootMessage: db "Hello,OS world!" times -($-$$) db dw 0xaa55 在自己电脑安装nasm. 官网下载地址:http://ww…
在存储介质(硬盘.软盘.光盘)中有一块特殊的区域,叫做引导区.在计算机启动后,BIOS会读取引导区内的代码到内存中去,然后将执行这些代码.引导区的位置和大小与计算机的平台有关,对于IBM-PC兼容机,引导区位于存储介质的第一个扇区,大小为512字节.位于引导区内的代码就称为引导程序.引导区内是否含有引导程序由引导区内的标记标识.对于IBM-PC兼容机,如果引导区内的最后两个字节为0x55,0xAA,则BIOS检测程序认为引导区内包含引导程序.引导程序并不一定要实现加载操作的功能,它可以是任何程序…
感觉自己对于操作系统始终没有一个清楚的概念,尤其最近困扰于实模式.保护模式以及寻址方式等一些概念.转而一想,所有的程序,最终都是操作的计算机资源,需要和操作系统打交道,所以操作系统有必要深入了解一下.最终想要自己动手编写一个简单的版本,上网查.网友对于于渊的<Orange'S:一个操作系统的实现>和<30天自制操作系统>评价挺高的,先选<orange>为学习手册.<30>为参考手册,开始自己的操作系统之旅. 首先是平台的搭建问题,首先因本人编程一般都是在自己…
操作系统内核Hack:(三)引导程序制作 关于本文涉及到的完整源码请参考MiniOS的v1_bootloader分支. 1.制作方法 现在我们已经了解了关于BootLoader的一切知识,让我们开始动手做一个BootLoader吧!但真正开始之前,我们还要做出一个选择,在之前的讨论中我们曾说过,有两种学习和制作引导程序和操作系统内核的路线:1)<Orange's:一个操作系统的实现>书中的路线:2)Linux 0.11的路线. 1.1 两种实现思路 具体来说,第一种路线就是将BootLoade…