首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

写了个MBR,却不能用,求指教解决方法

2012-04-12 
写了个MBR,却不能用,求指教写了个最基本的MBR,功能是把程序自身拷贝到0600然后跳转到061D执行下一条语句,

写了个MBR,却不能用,求指教
写了个最基本的MBR,功能是把程序自身拷贝到0600然后跳转到061D执行下一条语句,并且将写入到0/0/3扇的程序读取到
7C00后,跳转到7c00处执行原MBR。
我使用nasm boot.asm -o boot.bin指令汇编的程序
我在XP虚拟机中用winhex将原MBR写到0/0/3扇,后将boot.bin写入到0/0/1扇中,可是程序并不像我想象中的那样,可以继续启动XP,求指正。
下面是源码

Assembly code
CLIXOR AX,AXMOV SS,AXMOV SP,7C00MOV SI,SPPUSH AXPOP ESPUSH AXPOP DSSTICLDMOV DI,0600MOV CX,0100REPNZMOVSWJMP 0000:061Dmov ax,0mov es,axmov bx,7c00hmov ax,0201hmov cx,1mov dl,80hint 13jmp 0000:7c00times 510-($-$$) db 0dw 0xaa55


[解决办法]
要写到第一个扇区里面才可以哦
[解决办法]
将分区表信息也加进自己的这个程序里再试试

热点排行