用汇编自制mbr引导程序的问题

问题描述

用汇编自制mbr引导程序的问题

以下是网上十分流行的mbr代码:
org 7c00h
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 ; 结束标志

我用nasm编译成bin,再用UltraISO制成iso文件,最后用vm引导,发现显示不了字符串,
后来发现问题出在org 7c00h这里 把这句去掉即可显示正常,那么问题来了,软件是否会自动修正引用,导致引用异常?

时间: 2025-01-30 10:21:28

用汇编自制mbr引导程序的问题的相关文章

奇兔一键还原 HOLD住的网络安全感

因误操作而删除了产品会议上的一份重要报告,不可知的病毒感染让彻夜赶工完成的文件打开失效,某天一开电脑便警告提示重要文件丢失,再稳定的系统也隐藏着一颗足以毁掉我们精心构建的安全防线的定时炸弹,一个小漏洞也会成为我们千辛万苦写成的重要文件的致命武器.但,当一款软件既能轻松自动备份,又能完成内容恢复这一看似不可能的任务,那么定会倍感安全.奇兔一键还原,安全好用四大特色,给予电脑第二次生命,让消失的完好一如从前,一切都能HOLD住. 特色一:3秒备份 5秒还原 奇兔一键还原利用WINDOWS磁盘过滤驱动

格子啦一键还原HOLD住的网络安全感

因误操作而删除了产品会议上的一份重要报告,不可知的病毒感染让彻夜赶工完成的文件打开失效,某天一开电脑便警告提示重要文件丢失,再稳定的系统也隐藏着一颗足以毁掉我们精心构建的安全防线的定时炸弹,一个小漏洞也会成为我们千辛万苦写成的重要文件的致命武器.但,当一款软件既能轻松自动备份,又能完成内容恢复这一看似不可能的任务,那么定会倍感安全.格子啦一键还原,安全好用四大特色,给予电脑第二次生命,让消失的完好一如从前,一切都能HOLD住. (图片1) 特色一:3秒备份5秒还原 格子啦 一键还原(http:/

开机-linux

231六个步骤1.bios2.mbr3.grub4.kernel5.init6.runlevel bios:表示基本输入输出系统(Basic Input/output System),完成一些系统的完成性检查.搜索.加载并且执行引导程序(boot loader)存在于软盘中,CD-ROM或者硬盘上徐照引导程序.可以在系统启动是按下键盘(F12或者F2,因系统而异)来修改启动顺序.一旦引导程序被检测到并且加载到内存,bios会将控制权移交给它:因此bios 负责加载并且执行MBR引导程序. MBR

求大神解答一下-求教汇编引导程序大神

问题描述 求教汇编引导程序大神 请问一般这样的引导程序 是什么汇编? 为什么没有伪指令?也不能编译?请问直接jmp那是干什么? 还有nasm 又是什么呢? 重要在U盘上面是这怎么变成引导的程序? 简单的引导程序 jmp dword 0x07c0:go ;第一种 go: org 07c00h ;第二种 mov ax,cs mov es,ax mov bp,msgstr mov cx,13 mov dh,12 mov dl,33 mov bh,0 mov al,1 mov bl,0ch mov ah

《操作系统真象还原》——2.3 让MBR先飞一会儿

2.3 让MBR先飞一会儿 虽说主引导记录mbr是咱们能够掌控的第一个程序,但这并不是让我们为之激动的理由.我们平时所写的程序都要依赖于操作系统,而我们即将实现的这个程序是独立于操作系统的,能够直接在裸机上运行,这才是让我们激动的理由,对咱们来说这无疑是历史性的一刻.还记得当初我的MBR跑起来时,那可真是发自内心的高兴呀. 好了,不再抒情了,说正事要紧.MBR的大小必须是512字节,这是为了保证0x55和0xaa这两个魔数恰好出现在该扇区的最后两个字节处,即第510字节处和第511字节处,这是按

EFI、UEFI、MBR、GPT的区别

 UEFI.GPT.MBR是什么?这些专业术语不难理解,UEFI属于主板类名词,其作用类似于BIOS.GPT.MBR则属于硬盘类名词,它们的作用类似一艘航母的骨架,有了这个骨架,我们才可以进行细致到诸如C.D.E等盘符的分区. 全新硬盘在磁盘管理模式下需进行MBR或GPT选择      一块硬盘接驳主机之后,它的首要任务建立分区列表,分区列表有MBR和GPT两种,其中MBR分区列表支持最大2TB硬盘,GPT分区列表支持最大128PB(1PB=1024TB). 名词解释: 磁盘管理模式:MBR分区

硬盘找不到不能读取MBR怎么办?

  这个问题是由于你的不正当操作导致硬盘的MBR(Master Boot Record,即硬盘的主引导记录.)被损坏了. 为了便于理解,一般将MBR分为广义和狭义两种:广义的MBR包含整个扇区(引导程序.分区表及分隔标识),也就是上面所说的主引导记录;而狭义的MBR仅指引导程序而言. 我们先来了解一下什么叫格式化.对于一般的我们在系统里面的格式化,表面是我们理解为删除数据.其实不然,实际上数据就相当于图书馆里面的书,那么多的书如果我们需要管理和查阅或者更换需要制定一个目录.MBR就类似那个功能,

用系统引导程序Grub安装三系统不冲突的解决方案

Mandrake9.1在短时间内分别放出,做为linux的狂了爱好者,当然不能放过怎么好的机会--下载.刻盘ing--. 可是要怎么样才能让他们不打架呢?用grub是一个比较好的办法,因为grub是RedHat默认安装的. Grub是什么呢?简单还说就是系统引导程序,用它来引导三个系统一点都没问题,也不用到处找别的收费软件了. 一.分区 本人的电脑中有两块硬盘,基本的想法是80G为Win系统,10G的硬盘放两个Linux系统,第一块硬盘中已有Win2K系统,如果你只有一个硬盘,可以用PQ分一个空

MBR和GPT表你在用哪一样?

  自从2007年Vista操作系统推出以后,各大硬件厂商对于硬件开发速度明显加快,其中对于硬盘的速度和容量,从最早的5400转,160G容量,提升到现在的7200转甚至万转机械盘,容量也先后出现上TB级别的.单硬盘都出现4Tb容量. 由于磁盘容量越来越大,传统的MBR分区表(主引导记录)已经不能满足大容量磁盘的需求.传统的MBR分区表只能识别磁盘前面的2.2TB左右的空间,对于后面的多余空间只能浪费掉了,而对于单盘4TB的磁盘,只能利用一半的容量.因此,才有了GPT(全局唯一标识分区表). 除