无需操作系统,也能让程序跑起来!

 

 

我们可以将代码程序经过编译器编译生成了.bin格式的二进制文件。程序经过NASM编译器编译所生成的.bin文件里包含的内容是处理器指令,是否能够把该程序直接交给处理器执行呢?

      可以,但这并不是一件容易的事情。因为在前面还有一道屏障,就是操作系统。对于linux和windows这些操作系统来说,它为我们的计算机提供方便,但是当我们想和处理器直接对话的时候,它又是我们和处理器之间的一道墙。对于大多数程序来说,要想得到处理器的光顾,让它执行一下,就必须借助于操作系统。就拿windows来说,它为你显示每个程序的图标,允许你双击它们来允许,在你看不见的层面上,它必须为每一个进程分配空闲的内存空间,并在适当的时候将程序提交给处理器执行。每一个操作系统都对它所管理的程序提出了种种格式上的要求,比如它要求编译好的程序在文件内开头部分必须包含编译日期,是针对哪种操作系统编译的,程序的版本,第一条指令从哪里开始,数据段从哪里开始以及它的长度,代码段从哪里开始以及它的长度等等。如果程序的格式不按照要求来,操作系统就不准备也没有办法将你的程序提交给处理器执行。所以因为.bin二进制文件的格式不合法,所以无法被操作系统加载到内存中。NASM编译器可以生成符合操作系统要求的格式的可执行文件,但操作系统不允许程序员直接访问硬件和控制硬件。你想自己把程序加载到想要的位置或者直接访问硬盘,那是不可能的。你可以提要求,就像你在餐馆里点菜,想去体验一下后厨,没有一定的特权,那是不办不到的。有没有什么办法能够直接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值