社区
汇编语言
帖子详情
在裸机上进行汇编如何执行另一个程序....
atm2001
2002-03-16 09:54:48
在下编程时,发现int 21可以执行程序,但如果不在dos下进行汇编,在裸机上进行汇编
如何执行另一个程序....
在下先谢过了
...全文
132
11
打赏
收藏
在裸机上进行汇编如何执行另一个程序....
在下编程时,发现int 21可以执行程序,但如果不在dos下进行汇编,在裸机上进行汇编 如何执行另一个程序.... 在下先谢过了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yayv
2002-03-18
打赏
举报
回复
这是我最后一次在asm版回贴。
你可以跟我师兄要他源代码,虽然还很不完善,但可以解答你的问题。
email: swordhui@263.net
homepage: http://edenos.myrice.com/
Your_friend
2002-03-17
打赏
举报
回复
怎么都提一样的问题?建议先好好学学操作系统。
很难很费力气的。给你提供一点参考吧。
1 写自己的主引导程序装入0磁道1扇区。
2 写文件系统装入硬盘
3 在文件系统中做自己的系统程序
4 写系统初始化代码
很抽象没有实际的是不是?实际的是你必须掌握操作系统的结构,必须熟悉机器语言,必须熟知BIOS,必须熟悉各种外设的编程接口。
cm_w
2002-03-17
打赏
举报
回复
程序必须为.COM格式,或在内存固定位置的可执行文件的印象.
还必须修改软盘或硬盘的引导代码直接将文件调入内存执行.
有现成的工具执行以上操作.
unalone
2002-03-17
打赏
举报
回复
他问的是如何在裸机上执行另一个程序,也就是说,在已经解决了排除操作系统直接执行自己程序以后如何再去执行另一个程序的问题,楼主,是不是这个意思?
要解决这个问题,首先你得弄明白你要执行的程序的格式,不过,在你这种环境下,应该最多只能执行DOS下的程序,这样的话,你还得为它准备他所要用到的中断服务,比如 INT 21H等,如果是放在磁盘上,那你就要准备一个文件系统驱动,来读取磁盘上的文件,再根据文件格式,比如COM或EXE格式,将它们调入内存,建立PSP,然后就可以执行了。
不过,这个工作量也太大了吧??
atm2001
2002-03-17
打赏
举报
回复
这些我都知道,我可是写了很长时间的汇编了。。。
bios的程序,我也看过IT的代码。。。
现在的问题是我不想使用FAT32分区格式上的文件,而是使用自己的分区格式
。。。我还没设计自己的分区格式。。。
Programmersheaven
2002-03-17
打赏
举报
回复
哈!没这么简单~~~~~~我刚完成一个操作系统内核的设计,不是光有文件系统的驱动就可以的,有的应用程序内部调用了DOS的中断,~~~~~~~~~~如果你不进行DOS
中断接口的仿真,根本就无法运行,结果是死机~~~~~~~~~~~
如果你想让它运行,要知道它内部进行了哪此中断的调用,以及在
程序运行前还要将按重定表进行重定向,否则,死了,没说了~~~~~~~~
写操作系统,BIOS的中断是必须懂的,因为写自己的操作系统时,最底层就是BIOS
最好先跟踪此程序进行了什么样的中断调用,然后先编写中断程序来满足它的调用。
atm2001
2002-03-17
打赏
举报
回复
FAT32,FAT16,FAT12的分区格式,到没问题了,但是遇到NTFS就完了,还有我不想沿用这些格式,我想自己创建一种分区格式。。。
该如何办呢??
unalone
2002-03-17
打赏
举报
回复
这个文件系统驱动并不一定很大很全呀?比如,只要能满足读取特定文件并传递到内存中的缓冲区就可以了。特定格式文件处理程序也一样,只要满足在最开始裸机启动后所需要的功能就可以了,比如,执行及重定位。
我在想你是不是要写个操作系统,这样的话最好将文件系统驱动还有文件格式处理程序的完整实现做成单独的……比如驱动程序,在引导程序中只实现两个部分:第一,读取引导分区文件系统上根目录还有从中查找特定文件并读取的实现;第二,一般来说,对一个大的操作系统,第一个读取的文件要么就是内核,比如LINUX,要么就是系统装载器,比如NT,同时,在系统继续引导过程中,读取的文件,比如驱动程序,动态链接库等,格式都比较固定,尤其是,在系统引导之初就会装载文件系统驱动的完整实现,对于文件格式的支持也都内置于系统实现内部,这样,引导扇区的文件格式处理程序只需要实现很少一部分文件格式以完成在没有装载系统文件处理程序之前系统执行的需要就可以了。
atm2001
2002-03-17
打赏
举报
回复
文件系统驱动我也写了,但是太大了,不能放到主引导区,我的意思是主引导
程序如何执行另一程序,希望给出代码...
比如我已将文件的代码读入BX中,接下来该怎么办??
atm2001
2002-03-17
打赏
举报
回复
我能处理pe,mz格式的文件,大必须先把这个处理程序装载!!!
natureshuo
2002-03-16
打赏
举报
回复
g z
通过虚拟机实现
裸机
汇编
环境
本文详述如何在虚拟机中创建
裸机
汇编
环境,使用Oracle VM VirtualBox和bochs
进行
设置,编写代码并写入启动扇区,最后运行和调试
汇编
程序
,以直接控制硬件。
8086
汇编
开机启动
程序
(
裸机
运行)
该博客介绍了如何编写8086
汇编
语言
程序
,使其能在开机时从软盘第一扇区
执行
,实现启动硬盘系统、重启计算机、显示及修改系统时间的功能。为了实现
裸机
运行,需要借助U盘启动工具,并将代码写入U盘引导位置。
基于 RISCV 的
裸机
程序
本文围绕基于 RISCV 的
裸机
程序
展开,介绍了配置环境的方法。阐述了如何生成标准 rust 代码,搭建
裸机
程序
时需使用核心库替代标准库,还说明了添加退出系统调用和宏的实现方式。同时提到了 QEMU 的两种运行模式,最后给出了相关参考文档。
uboot启动
裸机
程序
博主学完嵌入式Linux后想往底层硬件深入,记录了
裸机
程序
编译及通过Uboot
执行
的过程。编译时需去掉文件头,给出了Makefile相关指令。在Uboot中通过Ymodem协议接收数据并运行
程序
,还提到使用loady写入数据的小bug。
ARM
裸机
程序
研究 - 编译和链接
本文详细介绍了ARM
裸机
程序
的编译和链接过程,从Linux下的ELF可
执行
文件结构出发,探讨了从C源代码到可
执行
二进制文件的转换。通过实例展示了如何使用GCC和链接器生成
裸机
程序
,并处理全局变量和初始化数据。最后,通过链接脚本将.init和.text节合并,完成
一个
基本的
裸机
程序
制作。
汇编语言
21,499
社区成员
41,617
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章