Python中创建文件,python新建文件并写入数据
安装bochs,dd for windows和nasm,并将安装目录添加到环境变量中。
我用的bochs版本是2.6.8。
1.用bochs中的bximage.exe创建一个新的img文件。
2.写汇编代码,编译成二进制文件。
Test.asm程序集文本文件
org0x7C00主引导记录jmp entry条目的内存地址:movax,0movss,axmovds,axmoves,axmovsi,msg将消息地址分配给siputLoop: mov al,[si];相当于mov al,byte [si]将si地址开头一个字节的值放入al add si,1;si=si 1 cmp al,0;比较je fin与al 0;如果以上比较相等,不相等则跳转到fin否则,不要跳;执行以下命令:movah,0x 0 eint0x 10 jmp put loop fin:hlt;暂停jmp fin消息:db0x0a,0x0adb 你好,jadeshu!;DB 0乘以510-($-$)DB 0;0用510字节填充,$ $表示编译的起始地址DW0AA55结束,加上前面的510个字节,正好512个字节满足条件。使用cmd命令输入nasm test.asm -o test.bin,并将其编译成二进制文件。
3.将test.bin文件写入按照上面第1点所述创建的映像文件a.img中。
使用cmd中的说明
将test.bin写入. img映射文件
如果没有dd命令,可以在windows下安装cygwin,使用linux命令简单方便!
4.创建一个新文件bosh.src,文件名你自己可以随便命名,如下是软盘启动的配置文件[硬盘配置以#注释]:
megs:32 rom image:file=$ bx share/BIOS-bochs-latest vgaromimage:file=$ bx share/VGA BIOS-lgpl-latest floppy a:1 _ 44=a . img,Status=inserted#软盘映射boot:floppy#硬盘#boot:disk#分配的HD为60M。根据分配的硬盘大小,柱面、磁头和SPT会发生变化# ata0: enabled=1,ioaddr1=0x1F0,ioaddr2=0x3f0,Irq=14 # ata0-master: type=disk,mode=flat,path= boot.img ,柱面=121,磁头=16,SPT=63 log:bochs out . txt mouse:enabled=0 keyboard:key map=$ bx share/key maps/X11
在命令指示符中键入.\bochs.exe -f bosh.src
点击start按钮即可运行!
6.试车
在命令指示符中键入.\bochsdbg.exe -f bosh.src
点击start按钮即可运行!
即到第一条指令jmp 0XF000:E05B 地址为:f000:fff0 即FFFF0 (1M的最后16字节),因为实模式下只能读取1M内存
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。